Online Mobility Tracking against Evolving Maritime Trajectories




Hands-on educational material on online processing and simplification of vessel trajectories from AIS position reports

This hands-on material concerns research techniques that may be used for mobility tracking over trajectories of vessels monitored over a large maritime area. The focus is on maintaining summarized representations of such trajectories in online fashion based on surveillance data streams broadcast through Automatic Identification System (AIS) and concerning positions from a fleet of numerous vessels.

We provide source code of several generic, state-of-the-art trajectory simplification algorithms that can offer concise summaries of each trajectory as it evolves. Instead of retaining every incoming position, such methods drop any predictable positions along trajectory segments of normal motion characteristics with minimal loss in accuracy. Note that each algorithm specifies its own parametrization, which may require careful fine-tuning depending on the characteristics of the available AIS data.

This video simulates the simplified synopsis of a vessel trajectory sailing from the port of Thessaloniki, moving across the Aegean Sea, and finally reaching Rhodes. Note that this simplification algorithm also identifies critical points, i.e., it annotates each retained point in this synopsis with a particular characterization (stop, turn, slow motion, etc.) that captures important changes across the route in online fashion:



AIS data preparation

There are several publicly available AIS datasets containing position reports from vessels. One of the most widely used is the Heterogeneous Integrated Dataset for Maritime Intelligence, Surveillance, and Reconnaissance. In order to use this data for testing any of available simplification algorithms, a preprocessing stage is necessary, involving the following steps:



Trajectory simplification algorithms

Implementations of various state-of-the-art trajectory simplification methods are available in several programming languages (C++, Java, Python). This code has been developed in the context of an empirical study of trajectory compression titled "Trajectory Simplification: An Experimental Study and Quality Analysis".

To facilitate their usage against trajectories from AIS positions, custom editions for some representative algorithms have been created. Each of these customized implementations accept a trajectory file as input (as produced in the preprocessing step). Paths to the input and output CSV files, as well as the necessary parametrization must be specified at execution time. You may download a single bundle that contains the source code for these custom implementations, along with sample data, usage examples, indicative parameter settings, and preprocessing scripts.

You must compile each of the implemented algorithms in order to run the executable. Once the source code has been compiled successfully, you may apply its executable on a dataset (e.g., a trajectory CSV file) without recompilation.
NOTE: you need to have already installed a recent version of the necessary programming language compiler (e.g., Java JDK, GNU C++ compiler, Python) in your system.

Custom editions working over AIS trajectories are available for the following simplification methods:

Algorithm Language How to compile and execute Example result for simplified trajectory
Uniform Sampling C++ Instructions Indicative CSV result
Dead Reckoning C++ Instructions Indicative CSV result
Interval Java Instructions Indicative CSV result
Spatial QUalIty Simplification Heuristic(SQUISH-E) C++ Instructions Indicative CSV result
One-Pass, ERror-Bounded (OPERB) Java Instructions Indicative CSV result
Fast Bounded Quadrant System (FBQS) Python Instructions Indicative CSV result
Threshold C++ Instructions Indicative CSV result
STTrace C++ Instructions Indicative CSV result
Critical Points (EDBT'15 paper, GeoInformatica paper) C++ Instructions Indicative CSV result

It should be stressed that each algorithm is sensitive to proper choice of parameter values, which also differ amongst algorithms. Fixed parametrizations applicable to any dataset are rather difficult to specify, as setting suitable parameter values requires careful data exploration.

Execution results from each algorithm include the simplified trajectory (in CSV format), as well as a number of statistics printed in the terminal:

The resulting CSV files with the simplified trajectories can be visualized in GIS (e.g., in QGIS), in order to be comparatively inspected against the original vessel tracks.

Material (2013-2020) compiled by Kostas Patroumpas
mailto: kpatro AT athenarc DOT gr
Information Management Systems Institute,
Athena Research Center, Greece.
Last updated: 10 September 2020 18:24:00 EET