An open source geospatial trajectory data management & analysis platform
MobilityDB is a database management system for moving object geospatial trajectories, such as GPS traces. It adds support for temporal and spatio-temporal objects to the PostgreSQL database and its spatial extension PostGIS.
MobilityDB 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).
The MobilityDB project is managed by a steering committee.
Compact geospatial trajectory data storage
Rich mobility analytics
Big data scale and performance
Easy to use full SQL interface
Compatible with the PostgreSQL ecosystem
Database adapters to access MobilityDB from Python are also available
- MobilityDB-python supports both the psycopg2 and the asyncpg adapters for PostgreSQL and uses the postgis adapter for PostGIS. This package is developed by the MobilityDB Team.
- MobilityDB SQLAlchemy is another independent package that provides extensions to SQLAlchemy for interacting with MobilityDB.
- The master branch has the latest release
- The develop branch has the development of the next release. The complete list of releases is available here
The extension is under development. We are planning to release the first version at the end of 2020.
- Linux (other UNIX-like systems may work, but remain untested)
- PostgreSQL > 10
- CMake >= 3.1
- PostGIS == 2.5
- GNU Scientific Library (GSL)
- Development files for PostgreSQL, PostGIS/liblwgeom, PROJ & JSON-C
For example, you can build the following command to install all MobilityDB build dependencies for Debian-based systems:
apt install build-essential cmake postgresql-server-dev-11 liblwgeom-dev libproj-dev libjson-c-dev
Building & Installation
Here is the gist:
git clone https://github.com/MobilityDB/MobilityDB mkdir MobilityDB/build cd MobilityDB/build cmake .. make sudo make install psql -c 'CREATE EXTENSION MobilityDB CASCADE'
You should also set the following in postgresql.conf:
shared_preload_libraries = 'postgis-2.5' max_locks_per_transaction = 128
If you have docker installed in your system you can run:
docker pull codewit/mobilitydb docker volume create mobilitydb_data docker run --name "mobilitydb" -d -p 25432:5432 -v mobilitydb_data:/var/lib/postgresql codewit/mobilitydb
The first command is to download the latest most up-to-date image of MobilityDB. The second command creates a volume container on the host, that we will use to persist the PostgreSQL database files outside of the MobilityDB container. The third command executes this binary image of PostgreSQL, PostGIS, and MobilityDB with the TCP port 5432 in the container mapped to port 25432 on the Docker host (user = pw = docker, db = mobilitydb).
Please report any issues you may have
If you are in the
doc directory of MobilityDB you can generate the user's manual from the sources as follows:
xsltproc --stringparam html.stylesheet "docbook.css" --xinclude -o index.html /usr/share/xml/docbook/stylesheet/docbook-xsl/html/chunk.xsl mobilitydb-manual.xml
dblatex -s texstyle.sty mobilitydb-manual.xml
dbtoepub -o mobilitydb-manual.epub mobilitydb-manual.xml
In addition, pregenerated versions of them are available.
If you are in the root directory of MobilityDB you can generate the developer's documentation from the source files as follows:
The resulting HTML documentation will be generated in the
docs directory of MobilityDB.
In addition, a pregenerated version of the documentation is available.
- Mohamed Bakli, Mahmoud Sakr, Esteban Zimányi, Distributed Spatiotemporal Trajectory Query Processing in SQL. To appear in Proceedings of ACM SIGSPATIAL, 2020. Preprint
- Anita Graser, Esteban Zimányi, Krishna Chaitanya Bommakanti, From Simple Features to Moving Features and Beyond?, arXiv 2006.16900, 2020.
- Esteban Zimányi, Mahmoud Sakr, Arthur Lesuisse, MobilityDB: A Mobility Database based on PostgreSQL and PostGIS. To appear in ACM Transactions on Database Systems, 2020. Preprint
- Mohamed Bakli, Mahmoud Sakr, Esteban Zimányi, Distributed Mobility Data Management in MobilityDB. In Proc. of the 21st IEEE International Conference on Mobile Data Management, MDM 2020.
- Mohamed Bakli, Mahmoud Sakr, Esteban Zimányi, Distributed Moving Object Data Management in MobilityDB. In Proc. of the 8th ACM SIGSPATIAL International Workshop on Analytics for Big Geospatial Data, BigSpatial 2019. Slides.
- Esteban Zimányi, Mahmoud Sakr, Arthur Lesuisse, Mohamed Bakli, MobilityDB: A Mainstream Moving Object Database System. In Proc. of the 16th International Symposium on Spatial and Temporal Databases, SSTD 2019, p. 206-209. ACM. Best Demo Paper Award. Poster
- Alejandro A. Vaisman, Esteban Zimányi: Mobility Data Warehouses. ISPRS International Journal of Geo-Information, 8(4): 170, 2019.
- From Simple Features to Moving Features and Beyond?, Talk given in the 116th OGC Member Meeting, in the Moving Features Standard Working Group meeting, September 15th 2020.
- A Moving Feature Data Generator in MobilityDB, Talk given in the 115th OGC Member Meeting, in the Moving Features Standard Working Group meeting, June 19th 2020. Video
- MobilityDB: Managing Mobility Data in PostgreSQL, Keynote speach at the joint EDBT/ICDT 2020 workshop on Big Mobility Data Analytics, BMDA 2020, March 30, 2020, Copenhagen, Denmark. Video
- Extending PostgreSQL With Spatiotemporal Data Management, PGConf.Russia, February 4, 2020, Moscow, Russia
- Road public transport in Moscow analysis: from PostGIS to MobilityDB, PGConf.Russia, February 4, 2020, Moscow, Russia,
- Managing Mobility Data in PostgreSQL, FOSSDEM PGDay, January 31, 2020, Brussels, Belgium
- Trajectory Data Analysis Using MobilityDB, FOSSDEM GeoSpatial Devroom, February 2, 2020, Brussels, Belgium
- MobilityDB: A PostgreSQL-PostGIS extension for mobility data management, FOSS4G Belgium, 2019.
- MobilityDB: A PostgreSQL extension for mobility data management, PGConf.Russia, 2019.
Nina Belyavskaya works at Mosgortrans Mobility Department, whose mission to optimize road public transport routes and timetables in Moscow, Russia. She reported her experience of migrating from PostGIS to MobilityDB in PGConf.Russia 2020
Florian Nadler works at Cybertec, a company specialized on Data Science using PostgreSQL. He reported his experience on using MobilityDB for intersecting tracks of persons in the context of the Covid pandemic here
Let us know how you use MobilityDB in your applications to report it here.
- MobilityDB code is provided under the PostgreSQL License.
- MobilityDB documentation is provided under the Creative Commons Attribution-Share Alike 3.0 License 3.