<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <issn pub-type="ppub">1613-0073</issn>
    </journal-meta>
    <article-meta>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Anita Graser</string-name>
          <email>anita.graser@ait.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Melitta Dragaschnig</string-name>
          <email>melitta.dragaschnig@ait.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>AIT Austrian Institute of Technology</institution>
          ,
          <addr-line>Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Machine learning</institution>
          ,
          <addr-line>GeoAI</addr-line>
          ,
          <country>Mobility Data Science</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <fpage>25</fpage>
      <lpage>28</lpage>
      <abstract>
        <p>mobiml. This demo paper introduces MobiML, a new library that aims to help scientists and engineers with developing mobility ML solutions using trajectory data. We also demonstrate how MobiML can speed up ML development workflows using the example of a reproduction of the workflow for training a GeoTrackNet trajectory anomaly detection model. MobiML is available at: https://github.com/movingpandas/ ∗Corresponding author.</p>
      </abstract>
      <kwd-group>
        <kwd>For trajectory data processing</kwd>
        <kwd>MobiML leverages Mov-</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The Mobility Data Science ecosystem is incredibly diverse
with numerous heterogeneous data sources and use cases.
Common machine learning (ML) use cases include [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:
location classification, arrival time prediction, trafic volume
/ crowd flow prediction, trajectory prediction,
(sub)trajectory classification, next location / destination prediction,
anomaly detection, and synthetic data generation.
      </p>
      <p>
        A major hurdle in Mobility Data Science “is that existing
ML and analytics tools [...] do not support location and
mobility as base data types to reason about. [...] This raises
a fundamental and big question on what are the analysis
primitives and common building blocks for applications
that could shape a framework of ML-based mobility data
analysis?” [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
      </p>
      <p>To fill this gap, we present MobiML, a framework for
learning from movement data that proposes essential
building blocks to build ML solutions based on movement
trajectory data. The following section provides information on
related libraries. Then we present MobiML and its
components, before we present usage examples, and finally present
perspectives on future developments.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related</title>
    </sec>
    <sec id="sec-3">
      <title>Work</title>
      <p>To the best of our knowledge, existing ML libraries for
spatiotemporal data focus on remote sensing imagery and
similar gridded datasets:</p>
      <p>
        GeoTorchAI [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is a spatiotemporal deep learning
framework on top of PyTorch and Apache Sedona. It enables
spatiotemporal machine learning practitioners to easily and
eficiently implement deep learning models targeting the
applications of raster imagery datasets and spatiotemporal
non-imagery datasets.
      </p>
      <p>
        TorchGeo [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is a PyTorch library by Microsoft that is
similar to torchvision and provides datasets, samplers,
transforms, and pretrained models specific to geospatial data for
remote sensing imagery data.
      </p>
      <p>In the development of MobiML, we have taken
inspiration from both GeoTorchAI and TorchGeo and adapted the
concepts to trajectory data.</p>
      <p>Published in the Proceedings of the Workshops of the EDBT/ICDT 2025
(M. Dragaschnig)
(M. Dragaschnig)</p>
      <p>CEUR</p>
      <p>
        ceur-ws.org
GeoPandas [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], as well as PyMEOS [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] extending MEOS [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
3.
      </p>
    </sec>
    <sec id="sec-4">
      <title>MobiML</title>
      <p>The goal of MobiML is to enable the eficient development of
ML solutions by providing mobility-aware building blocks
for ML workflows. This means that the MobiML tools are
aware of the spatiotemporal nature of trajectory data and
automatically account for them. MobiML includes the
following components: datasets, preprocessing tools, samplers,
transformation tools, and models, which are shown in
Figure 1 and described in more detail in the following.</p>
      <sec id="sec-4-1">
        <title>3.1. Datasets</title>
        <p>This module contains classes for handling popular
movement datasets. These classes serve to facilitate model
development by providing straightforward access to
common public datasets and also serve as templates for custom
datasets classes that developers may want to create. Dataset
classes provide a standardized interface including
functions to access the data in the form of Pandas DataFrames,
ryCollections, as well as to create static and interactive plots
of the data.</p>
        <p>Every class provides information on where to get access
to the respective dataset (where to download it). The
loading function then takes care of the multitude of diferent
input formats, including pickle, csv, feather, zipped csv files,
or geo data formats supported by GeoPandas such as
Shapeifle, GeoPackage, or GeoJSON and maps the spatiotemporal
information and mover IDs to the standardized structure.</p>
        <p>So far, we have implemented six dataset classes based on
real-world public mobility datasets from the:</p>
        <p>and France BrestAIS,
• Maritime domain: AIS data from Denmark AISDK
• Urban
domain:
tracks
of
cyclists
CopenhagenCyclists, buses DelhiAirPollution,
and taxis PortoTaxis, and
• Ecology domain:</p>
        <p>MovebankGulls.</p>
        <p>tracks of migratory birds</p>
      </sec>
      <sec id="sec-4-2">
        <title>3.2. Preprocessing</title>
        <p>This module contains tools to preprocess movement data
to generate datasets that are ready for ML development.
• TrajectoryDownsampler to reduce the number of
points in a trajectory to a certain target sampling
interval.
• TrajectoryEnricher to add features such as speed,
direction, and acceleration in a variety of supported
units.
• TrajectoryFilter to remove trajectories based on
a their number of points or their speed.
• TrajectorySplitter to split long trajectories into
shorter subtrajectories, for example, based on
observation gaps
• Normalizer to min-max normalize latitude,
longitude, speed, and direction values in dataset.
• StationaryClientExtractor to extract subsets of
the data based on static locations (provided as
GeoDataFrame).
• MobileClientExtractor to extract subsets of the
data based on moving locations (provided as
MobiML Dataset) using PyMEOS.</p>
      </sec>
      <sec id="sec-4-3">
        <title>3.3. Samplers</title>
        <p>
          This module contains tools for sampling movement data
while accounting for its spatiotemporal characteristics. The
developed sampling tools include:
• MoverSplitter to split a dataset ensuring that
trajectories of a given percentage of the movers are
assigned to the test set. The remaining mover
trajectories are assigned to the train set.
• RandomTrajSampler to randomly sample
trajectories, targeting an equal spatial distribution based on
user-defined grid (i.e. equal number of trajectories
per cell, based on start points), inspired by [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
• TemporalSplitter to split dataset temporally into
training, development, and test sets, ensuring that a
given percentage of the time is assigned to each set.
        </p>
      </sec>
      <sec id="sec-4-4">
        <title>3.4. Transforms</title>
        <p>
          This module contains various transformation operations
that can be applied to datasets. Transforms convert a
mobiml.Dataset into a diferent data structure that conforms to
model-specific requirements. The developed transformation
tools include:
• DeltaDatasetCreator to convert absolute
locations and timestamps into relative changes, based
on [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
• ODAggregator to extract start and end points (OD)
for trajectories from a Dataset and aggregate them
in a hexagonal (H3) grid.
• TrajectoryAggregator to create summary
features describing trajectories.
        </p>
      </sec>
      <sec id="sec-4-5">
        <title>3.5. Models</title>
        <p>
          This module contains example models used to demonstrate
mobility ML workflows. Included are:
• GeoTrackNet: Anomaly detection in maritime trafic
patterns, as presented in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
• Nautilus: Vessel Route Forecasting (VRF), as
presented in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
• SummarizedAISTrajectoryClassifier: an example
model for trajectory classification in a federated
learning setting.
        </p>
        <p>The use of these components is documented through a
series of example notebooks that demonstrate individual
components as well as ML workflows from data
preprocessing to model training and inferencing.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>4. Demo</title>
      <p>
        In this section, we present how MobiML can be used to train
GeoTrackNet using Danish AIS data1. The original
GeoTrackNet paper [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] uses AIS data from a diferent source.
Our example demonstrates how to use GeoTrackNet with
Danish AIS data. This example workflow makes use of
multiple MobiML components from datasets to preprocessing,
samplers, and of course the model itself.
      </p>
      <sec id="sec-5-1">
        <title>4.1. Step 1: Data Loading</title>
        <p>Using MobiML’s AISDK dataset class, we can easily load one
of the CSV files provided by the Danish Maritime Authority,
as shown in Figure 2.</p>
      </sec>
      <sec id="sec-5-2">
        <title>4.2. Step 2: Preprocessing</title>
        <p>To preprocess the data, we leverage classic Pandas
DataFrame operations and MobiML tools as follows:
1. Filter the dataset to our desired vessel types by
directly working with the AISDK object’s DataFrame
(Figure 3),
2. Split trajectories at observation gaps using</p>
        <p>TrajectorySplitter (Figure 4) since these gaps
would mess up what the model learns,
1for the full notebook see https://github.com/movingpandas/mobiml/
blob/main/examples/mobiml-geotracknet.ipynb
3. Drop trajectories that have too few points using</p>
        <p>TrajectoryFilter (Figure 5), and finally
4. Reduce the dataset size using</p>
        <p>TrajectoryDownsampler (Figure 6).</p>
        <p>Since every preprocessing tool takes a Dataset as input
and produces a Dataset as output, they can be chained in a
modular way to support diferent needs and workflows.</p>
      </sec>
      <sec id="sec-5-3">
        <title>4.3. Step 3: Training</title>
        <p>To prepare the training stage, we split the dataset using
the TemporalSplitter (Figure 7). In this example, we use
the default: 70/20/10 split. The split subsets are then
transformed into a format suitable for training the model. This
training itself is controlled by a dedicated configuration, as
shown in Figure 8.</p>
        <p>Once the model is trained, the training result can be
visualized on a map, as shown in Figure 9.</p>
      </sec>
      <sec id="sec-5-4">
        <title>4.4. Step 4: Inference</title>
        <p>Finally, using the trained model, we can perform the
inference by running the GeoTrackNet contrario detection
step which flags anomalous trajectories such as the example
shown in red in Figure 10.
In this paper, we introduced MobiML, a new library designed
to facilitate the development of machine learning (ML)
solutions in the Mobility Data Science domain. Our
demonstration of the GeoTrackNet anomaly detection model highlights
MobiML’s ability to support reproducibility and eficiency in
mobility-focused ML research. By providing modular
components for preprocessing, transformation, sampling, and
modeling, MobiML simplifies the development of ML
worklfows, reducing the efort required to implement key steps.
This should also help improve the reliability of research
code, since we have ensured that MobiML is covered by
unit tests, reinforcing its usability for the broader research
community.</p>
        <p>Moving forward, future developments should focus on
expanding functionality and improving interoperability.
Enhancements may include new dataset types, such as
flowbased mobility data, as well as improvements in tool
harmonization and packaging via PyPI and Conda-Forge.
Additionally, we invite ML developers in the Mobility Data
Science community to engage with us, contribute to
MobiML, and provide feedback to refine its architecture. One
of the major challenges in developing MobiML has been
managing incompatible Python environments, given the
specific requirements of various ML models and libraries.
This issue, which afects reproducibility across the ML field,
calls for collaborative eforts to find sustainable solutions.
Addressing this challenge will be essential to ensuring
scalability and long-term usability of MobiML in diverse research
and application settings.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>This work is mainly funded by the EU’s Horizon Europe
research and innovation program under Grant No. 101070279
MobiSpaces.</p>
    </sec>
    <sec id="sec-7">
      <title>Declaration on Generative AI</title>
      <p>During the preparation of this work, the authors used
ChatGPT in order to paraphrase and reword. After using this
tool/service, the authors reviewed and edited the content
as needed and takes full responsibility for the publication’s
content.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Graser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Jalali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lampert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Weißenfeld</surname>
          </string-name>
          , K. Janowicz,
          <article-title>MobilityDL: a review of deep learning from trajectory data</article-title>
          ,
          <source>GeoInformatica</source>
          (
          <year>2024</year>
          ). URL: https://doi.org/10.1007/s10707-024-00518-8. doi:
          <volume>10</volume>
          . 1007/s10707- 024- 00518- 8.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mokbel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sakr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Xiong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Züfle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Almeida</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Anderson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Aref</surname>
          </string-name>
          , G. Andrienko,
          <string-name>
            <given-names>N.</given-names>
            <surname>Andrienko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Cao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chawla</surname>
          </string-name>
          , R. Cheng, P. Chrysanthis,
          <string-name>
            <given-names>X.</given-names>
            <surname>Fei</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Ghinita</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Graser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gunopulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jensen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.- S.</given-names>
            <surname>Kim</surname>
          </string-name>
          , K.-S. Kim,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kröger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Krumm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Magdy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Nascimento</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ravada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Renz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Sacharidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Shahabi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Salim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sarwat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schoemans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Speckmann</surname>
          </string-name>
          , E. Tanin,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Torp</surname>
          </string-name>
          , G. Trajcevski, M. van
          <string-name>
            <surname>Kreveld</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Wenk</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Werner</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Wong</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Youssef</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Zeinalipour</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Zhang</surname>
          </string-name>
          , E. Zimányi,
          <source>Mobility Data Science (Dagstuhl Seminar 22021)</source>
          ,
          <source>Dagstuhl Reports</source>
          <volume>12</volume>
          (
          <year>2022</year>
          )
          <fpage>1</fpage>
          -
          <lpage>34</lpage>
          . URL: https://drops.dagstuhl. de/entities/document/10.4230/DagRep.12.
          <issue>1</issue>
          .1. doi:
          <volume>10</volume>
          . 4230/DagRep.12.
          <issue>1</issue>
          .1.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Chowdhury</surname>
          </string-name>
          , M. Sarwat,
          <article-title>GeoTorch: A spatiotemporal deep learning framework</article-title>
          ,
          <source>SIGSPATIAL '22</source>
          ,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery,
          <year>2022</year>
          . URL: https://doi. org/10.1145/3557915.3561036. doi:
          <volume>10</volume>
          .1145/3557915. 3561036.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A. J.</given-names>
            <surname>Stewart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Robinson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. A.</given-names>
            <surname>Corley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ortiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Lavista Ferres</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . Banerjee,
          <article-title>TorchGeo: Deep learning with geospatial data</article-title>
          ,
          <source>in: Proceedings of the 30th International Conference on Advances in Geographic Information Systems</source>
          , SIGSPATIAL '22,
          <string-name>
            <surname>Association</surname>
          </string-name>
          for Computing Machinery, Seattle, Washington,
          <year>2022</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>12</lpage>
          . URL: https://dl.acm.org/doi/10.1145/3557915. 3560953. doi:
          <volume>10</volume>
          .1145/3557915.3560953.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Graser</surname>
          </string-name>
          ,
          <article-title>MovingPandas: Eficient Structures for Movement Data in Python</article-title>
          ,
          <source>GI_Forum ‒ Journal of Geographic Information Science</source>
          <volume>7</volume>
          (
          <year>2019</year>
          )
          <fpage>54</fpage>
          -
          <lpage>68</lpage>
          . URL: https://hw.oeaw.ac.at?arp=0x003aba2b. doi:
          <volume>10</volume>
          .1553/ giscience2019_
          <fpage>01</fpage>
          _
          <fpage>s54</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
            <surname>Graser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bell</surname>
          </string-name>
          , I. Ilyankou, G. Merten,
          <string-name>
            <given-names>G. P.</given-names>
            <surname>Boiko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Parnell</surname>
          </string-name>
          , L. Vladimirov, Marina,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pulver</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lovelace</surname>
          </string-name>
          , Naarlack,
          <string-name>
            <given-names>M.</given-names>
            <surname>Šedivý</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. L. C.</given-names>
            <surname>Rodríguez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. B.</given-names>
            <surname>Elcinto</surname>
          </string-name>
          , G. Richter,
          <string-name>
            <given-names>G. S.</given-names>
            <surname>Theodoropoulos</surname>
          </string-name>
          ,
          <string-name>
            <surname>B. A.</surname>
          </string-name>
          <article-title>MacGabhann, tsuga</article-title>
          , S. Marin, rlukevie, radical squared, git it, Susan,
          <string-name>
            <given-names>S.</given-names>
            <surname>Menegon</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Jozefowicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Miguel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Farid</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuhn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fleischmann</surname>
          </string-name>
          , L. Delucchi,
          <source>movingpandas/movingpandas: v0.21.2</source>
          ,
          <year>2025</year>
          . URL: https://doi.org/10.5281/zenodo.14618540. doi:
          <volume>10</volume>
          .5281/zenodo.14618540.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>J. V.</surname>
          </string-name>
          den Bossche, K. Jordahl,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fleischmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Richards</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>McBride</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wasserman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Badaracco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. D.</given-names>
            <surname>Snow</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Ward</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Tratner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gerard</surname>
          </string-name>
          , M. Perry, cjqf,
          <string-name>
            <given-names>G. A.</given-names>
            <surname>Hjelle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Taves</surname>
          </string-name>
          , E. ter Hoeven,
          <string-name>
            <given-names>M.</given-names>
            <surname>Cochran</surname>
          </string-name>
          , R. Bell, rraymondgh, M. Bartos,
          <string-name>
            <given-names>P.</given-names>
            <surname>Roggemans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Culbertson</surname>
          </string-name>
          , G. Caria,
          <string-name>
            <given-names>N. Y.</given-names>
            <surname>Tan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Eubank</surname>
          </string-name>
          , sangarshanan, J. Flavin,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rey</surname>
          </string-name>
          , J. Gardiner, geopandas/-
          <source>geopandas: v1.0.1</source>
          ,
          <year>2024</year>
          . URL: https://doi.org/10.5281/ zenodo.12625316. doi:
          <volume>10</volume>
          .5281/zenodo.12625316.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <article-title>[8] PyMEOS contributors</article-title>
          ,
          <source>PyMEOS documentation</source>
          ,
          <year>2025</year>
          . URL: https://pymeos.readthedocs.io/en/latest/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>E.</given-names>
            <surname>Zimányi</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. M. Duarte</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Diví</surname>
            ,
            <given-names>MEOS:</given-names>
          </string-name>
          <article-title>An open source library for mobility data management</article-title>
          .,
          <source>in: EDBT</source>
          ,
          <year>2024</year>
          , pp.
          <fpage>810</fpage>
          -
          <lpage>813</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Tritsarolis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Pelekis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Bereta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zissis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Theodoridis</surname>
          </string-name>
          ,
          <article-title>On vessel location forecasting and the efect of federated learning</article-title>
          ,
          <source>in: Proceedings of the 25th Conference on Mobile Data Management (MDM)</source>
          ,
          <year>2024</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>D.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Vadaine</surname>
          </string-name>
          , G. Hajduch,
          <string-name>
            <given-names>R.</given-names>
            <surname>Garello</surname>
          </string-name>
          , R. Fablet,
          <article-title>GeoTrackNet-a maritime anomaly detector using probabilistic neural network representation of ais tracks and a contrario detection</article-title>
          ,
          <source>IEEE Transactions on Intelligent Transportation Systems</source>
          <volume>23</volume>
          (
          <year>2021</year>
          )
          <fpage>5655</fpage>
          -
          <lpage>5667</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>