Skip to content

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

License

Notifications You must be signed in to change notification settings

GeoCode-Craft/MobilityDB

 
 

Repository files navigation

Build Status Coverage Status Codacy Badge Gitter

MobilityDB

An open source geospatial trajectory data management & analysis platform

MobilityDB Logo

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).

OGC Associate Member Logo

The MobilityDB project is managed by a steering committee.

Benefits

  • Compact geospatial trajectory data storage

  • Rich mobility analytics

  • Big data scale and performance

  • Easy to use full SQL interface

  • Compatible with the PostgreSQL ecosystem

  • Compliant with the Moving Features standards from the Open Geospatial Consortium (OGC).

  • Database adapters to access MobilityDB from Python are also available

  • Data generator and benchmark tool based on the BerlinMOD benchmark. The data generator takes input data from Open Street Map and uses pgRouting to generate routes between pairs of source and target locations.

Branches

  • 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

Status

The extension is under development. We are planning to release the first version in 2021.

Requirements

  • Linux (other UNIX-like systems may work, but remain untested)
  • PostgreSQL > 10
  • CMake >= 3.1
  • PostGIS == 2.5
  • JSON-C
  • 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

Docker Container

Docker containers with MobilityDB and all its dependencies are available here. These images are based on the official Postgres and Postgis docker images, please refer to them for more information.

If you have docker installed in your system you can run:

docker pull mobilitydb/mobilitydb
docker volume create mobilitydb_data
docker run --name "mobilitydb" -d -p 25432:5432 -v mobilitydb_data:/var/lib/postgresql mobilitydb/mobilitydb
psql -h localhost -p 25432 -d mobilitydb -U docker

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). The fourth command is to connect to the database using psql.

Issues

Please report any issues you may have

Documentation

User's Manual

If you are in the doc directory of MobilityDB you can generate the user's manual from the sources as follows:

  • HTML

    xsltproc --stringparam html.stylesheet "docbook.css" --xinclude -o index.html /usr/share/xml/docbook/stylesheet/docbook-xsl/html/chunk.xsl mobilitydb-manual.xml
  • PDF

    dblatex -s texstyle.sty mobilitydb-manual.xml
  • EPUB

    dbtoepub -o mobilitydb-manual.epub mobilitydb-manual.xml

In addition, pregenerated versions of them are available.

Developer's Documentation

If you are in the root directory of MobilityDB you can generate the developer's documentation from the source files as follows:

doxygen Doxyfile

The resulting HTML documentation will be generated in the docs directory of MobilityDB.

In addition, a pregenerated version of the documentation is available.

Publications

Presentations

Blogs

Users' Applications

  • 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

    Moscow Public Transport Analysis
  • Bommakanti Krishna Chaitanya works at Adonmo, a company specialized in digital taxi-top advertising. He reported his experience on using MobilityDB together with SQLAlchemy here

    Adonmo Taxi Trip Analysis
  • 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

    Intersecting Tracks of Persons

Let us know how you use MobilityDB in your applications to report it here.

Licenses

About

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

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 70.3%
  • PLpgSQL 17.1%
  • PLSQL 11.5%
  • Other 1.1%