Skip to content
@MobilityDB

MobilityDB

MobilityDB Ecosystem

MobilityDB Logo

This organization hosts the source code for the MobilityDB ecosystem — an open-source platform for geospatial trajectory data management and analysis.

For the conceptual overview, type system, tutorials, quickstarts, and encoding specifications, see libmeos.org — the project's public front door. This page is the repository map: where each piece of code lives.

The project is developed by the Computer & Decision Engineering Department of the Université libre de Bruxelles (ULB) under the direction of Prof. Esteban Zimányi. ULB is an OGC Associate Member and member of the OGC Moving Feature Standard Working Group (MF-SWG).

OGC Associate Member Logo

Book

Detailed explanations and application scenarios are in the project's textbook:

Mahmoud Sakr, Alejandro Vaisman, Esteban Zimányi. Mobility Data Science: From Data to Insights. Springer, 2025.

The companion datasets and reproducible scripts live in MobilityDataScienceBook.

Mobility Data Science Book

Repository map

MobilityDB Ecosystem — MEOS core; MobilityDB, MobilityDuck and MobilitySpark as peer SQL surfaces; MEOS-API as a side codegen catalog projected to OpenAPI/MCP/runtime; a teal portable-data interchange band (Arrow C Data Interface, Parquet / Temporal Data Lake) beneath MEOS; and a dashed, ghosted PLANNED Stream-layers box (MobilityNebula, MobilityKafka, MobilityFlink) as a future fourth peer

The sections below follow the figure's boxes bottom → top, left → right.

🔄 Portable data — the interchange band beneath MEOS

This is the portable-data interchange band drawn beneath MEOS in the figure. MEOS exposes a zero-copy Arrow C Data Interface and a Parquet / TemporalParquet on-disk form, so trajectories move between the engines and a Temporal Data Lake without re-encoding. It is the data-side complement of the portable-computation property of the SQL layers below. Both properties — and their reproducible companions — are catalogued in the mobility-platform interoperability index (in MobilityDB, doc/temporal-parquet/).

⬛ Core C library

Repository Description
MEOS Mobility Engine, Open Source — the canonical C library underlying every other piece.

🟫 Tooling

Repository Description
MEOS-API Machine-readable description of the MEOS C-library API (an IDL JSON plus a shape-metadata catalog), generated from the MEOS headers via libclang. Beyond binding code-generation, the enriched catalog is projected into service contracts: an OpenAPI 3.1 contract, a Model Context Protocol (MCP) tool manifest (so LLMs/agents can call the MEOS spatiotemporal algebra directly), and a contract-driven runtime HTTP server.

🟦 SQL layers (peers above MEOS)

Three SQL surfaces share the same MEOS-backed type system, function catalog, and BerlinMOD reference queries. Portable SQL means the same query text runs against any of the three. The portable named-function dialect and its rationale are described in the edge-to-cloud SQL portability discussion (#861).

This is the platform's portable computation property — one query text, three engines. Its data-side complement, portable data, is the interchange band described in the 🔄 Portable data — the interchange band beneath MEOS section above.

Repository Description
MobilityDB PostgreSQL extension — the project's reference SQL surface.
MobilityDuck DuckDB extension — peer SQL layer for analytics / columnar workloads.
MobilitySpark Apache Spark plugin — peer SQL layer for distributed and large-scale workloads, with MEOS-backed UDFs and DataFrame integration.

🌊 Stream layers (planned)

Planned — not yet built. The same edge-to-cloud model is planned for the streaming side of the ecosystem, each tool in its canonical role: MobilityNebula (NebulaStream) on the edge, MobilityKafka (Apache Kafka) as the streaming transport backbone in between, and MobilityFlink (Apache Flink) for stream processing in the cloud — reproducing the SNCB benchmark from MobilityNebula (EDBT 2026). It is drawn as a dashed, ghosted box — same format as the other peer boxes, second in the peers row of the figure above (dashed = not yet built).

Repository Engine
MobilityNebula NebulaStream — edge
MobilityKafka Apache Kafka — streaming transport backbone
MobilityFlink Apache Flink — cloud stream processing

🟩 HTTP / API layer

Repository Description
MobilityAPI HTTP server implementing the OGC API – Moving Features Standard.

🟪 Language bindings of MEOS

Each binding follows its language community's naming convention.

Repository Language
PyMEOS Python
JMEOS Java / JVM
GoMEOS Go
meos-rs Rust
MEOS.NET .NET / C#
MEOS.js JavaScript / TypeScript

🟨 Application platforms

Repository Engine / framework
MobilityPandas MovingPandas backed by PyMEOS
MobilityOpenTripPlanner OpenTripPlanner — multimodal trip planning
MobilityMapMatching Map matching as a service
MobilityDB-PublicTransport GTFS / Netex integration

🟧 Visualization and UI integrations

Repository Stack
MobilityDeck deck.gl
MobilityFlink-Deck deck.gl on the planned Flink stream layer
MobilityOpenLayers OpenLayers
MobilityLeaflet Leaflet
MobilityQGIS QGIS integration
MobilityGeoServer GeoServer
MOVE QGIS plugin for visualizing MobilityDB query results
Franchise Notebook SQL client for exploring MobilityDB / MEOS-backed SQL

🔵 Cloud and deployment

Repository Target
MobilityDB-AWS Amazon Web Services
MobilityDB-Azure Microsoft Azure
MobilityDB-GCP Google Cloud Platform
MobilityDB-docker Docker images

📦 Packaging / distribution

Repository Description
meos-feedstock conda-forge feedstock for the MEOS C library.
pymeos-feedstock conda-forge feedstock for PyMEOS.
pymeos-cffi-feedstock conda-forge feedstock for PyMEOS-CFFI.

🟤 Datasets and benchmarks

Repository Description
MobilityDB-BerlinMOD BerlinMOD data generator and benchmark, using Open Street Map data and pgRouting. Brussels by default; a Hanoi (Vietnam) instantiation lives in MobilityDB-BerlinMOD-Hanoi. Also the cross-platform conformance suite for the portable SQL dialect — the same queries run on all three SQL surfaces and must return identical results.
MobilityDB-Brussels Real Brussels public-transport dataset (STIB, TLC) — companion data, not a BerlinMOD instantiation.
MobilityDB-TPCDS TPC-DS benchmark adaptation.

🟢 Education and workshops

Repository Description
MobilityDB-workshop Hands-on workshop materials.
MobilityDataScienceBook Companion datasets and scripts for the textbook.

📖 Documentation and websites

Repository Description
libmeos-website Source of libmeos.org — the project's public front door (concepts, type system, tutorials, bindings).
mobilitydb-website Source of the MobilityDB project website.

🟥 Research

Repository Description
MobilityDB-Semantic Semantic-trajectory research project.

🟣 Indexing primitives

Repository Description
mest Multi-Entry Search Trees for PostgreSQL — generic indexing primitive used by MobilityDB.

⬜ Archived

These repositories are preserved in read-only form for historical reference and to keep existing links resolvable. Each carries an in-README banner pointing at its successor.

Archived repository Successor / replacement
MobilityDB-python PyMEOS
MobilityDB-JDBC JMEOS
pg_mfserv MobilityAPI
MobilityPySpark MobilitySpark

Where to start

If you want to… Go to
Understand what MEOS is, the type system, encodings, tutorials libmeos.org
Use the SQL surface MobilityDB (PostgreSQL), MobilityDuck (DuckDB), or MobilitySpark (Spark)
Move data between engines / build a data lake The Arrow C Data Interface export + Parquet — see the interoperability index in MobilityDB (doc/temporal-parquet/)
Use MEOS from your language The corresponding language binding
Cite the project in academic work The book reference above; or the CITATION.cff of any binding repo

Acknowledgements

EU Flag

The MobilityDB project has received funding from the European Union's Horizon Europe research and innovation programme under grant agreements No 101070279 MobiSpaces and No 101093051 EMERALDS.

Pinned Loading

  1. MobilityDB MobilityDB Public

    MobilityDB is a geospatial trajectory data management & analysis platform, built on PostgreSQL and PostGIS.

    C 611 82

  2. PyMEOS PyMEOS Public

    Python binding for the MEOS library

    Python 22 9

  3. MobilityDB-workshop MobilityDB-workshop Public

    Source, data, and docs for the MobilityDB workshop

    Dockerfile 10 7

  4. MobilityDB-BerlinMOD MobilityDB-BerlinMOD Public

    BerlinMOD benchmark, a data generator and a tool for comparying Moving Object Databases

    PLpgSQL 9 10

  5. mest mest Public

    Multi-Entry Seach Trees for PostgreSQL

    C 11 3

Repositories

Showing 10 of 56 repositories

Top languages

Loading…

Most used topics

Loading…