The main purpose of the Movement module is the storage and retrieval of position reports regarding movements for ships.
To save valuable calculation capacity for modules requesting position data some enriching and calculations is done before persisting the position reports. Enriching of areas, harbors, and countries etc. where the position is currently located is done by querying the spatial module and passing the longitude and latitude from the position report.
One important thing to understand about the movement module are movements, segments and tracks.
The movement module can also store searches that a user makes on positions for later retrieval so the user don´t have to fill all fields again when making a search.
The movement module has functionality for storing temporary ( manual ) positions. These positions can be created saved and retrieved for later processing. When the user wants to he or she can execute the movement. When the movement is executed it is sent to the exchange module who in turn processes the position report.
Nexus artifacts and dependencies
<!-- Integration dependency -->
Github App: https://github.com/UnionVMS/UVMS-MovementModule-APP
QA Summary App: https://sonarcloud.io/dashboard?id=eu.europa.ec.fisheries.uvms.movement%3Amovement
CI location App: https://jenkins.focus.fish/view/UVMS%20App/job/UVMS-Movement-APP/
Project Site reports App: https://jenkins.focus.fish/view/Site-Reports/job/UVMS-Movement-APP-Site-Reports/
Tattletale report: https://jenkins.focus.fish/view/Site-Reports/job/UVMS-Movement-APP-Site-Reports/ws/module/target/site/tattleTaleReport/index.html
Retrieve Spatial enrichment data regarding areas for a movement. This is due to pre calculation of spatial data that is stored in the movement database
When sending a temporary movement that movement is sent to exchange who in turn processes the movement like a movement retrieved from any system o plugin
Audit logs are sent to the audit module. Audit logs are created when actions that changes data in the database are made.
All requests to the REST api is authenticated via the user module. If the user module is undeployed the rest api for the movement module will not work
Calculations - Flow
All movements are calculated to be a part of a segment and a track. Calculations can then be made to control the reported speeds and courses to the actual speed and courses that are calculated. More of this can be read on the Javadoc.
Jndi name example