MobilityDB, an open-source Moving Object Database based on PostgreSQL and PostGIS
4.8K
MobilityDB is an open source software program that adds support for temporal and spatio-temporal objects to the PostgreSQL object-relational database and its spatial extension PostGIS. MobilityDB follows the Moving Features specification from the Open Geospatial Consortium (OGC). Technically, MobilityDB is implemented as a PostgreSQL external extension.
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).
Database adapters to access MobilityDB from Python are also available
Period, PeriodSet, and TimestampSet which, in addition of the the TimestampTz type provided by PostgreSQL, are used to represent time spans.tbool, tint, tfloat, and ttext which are based on the bool, int, float, and text types provided by PostgreSQL and are used to represent basic types that evolve on time.tgeompoint and tgeogpoint which are based on the geometry and geography types provided by PostGIS (restricted to 2D or 3D points) and are used to represent points that evolve on time.intrange and floatrange which are used to represent ranges of int and float values.All these types have associated an extensive set of functions and operators. GiST and SP-GIST index support for these types are also provided.
The extension is under development. We are planning to release the first version at the begining of 2020.
Example for Debian-based systems:
# install all MobilityDB build dependencies
apt install build-essential cmake postgresql-server-dev-11 liblwgeom-dev libproj-dev libjson-c-dev
Here is the gist:
$ git clone https://github.com/ULB-CoDE-WIT/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
A docker container with MobilityDB and all its dependencies is available. 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). This image is based on this docker container, please refer to it for more information.
Please report any issues at the address
https://github.com/ULB-CoDE-WIT/MobilityDB/issues
Please notice you can generate the manual and the workshop from the sources. In addition, pregenerated versions of them are available.
HTML: https://docs.mobilitydb.com/MobilityDB/master/
PDF: https://docs.mobilitydb.com/MobilityDB/master/mobilitydb.pdf
EPUB: https://docs.mobilitydb.com/MobilityDB/master/mobilitydb.epub
HTML: https://docs.mobilitydb.com/MobilityDB/master/workshop/
PDF: https://docs.mobilitydb.com/MobilityDB/master/workshop/workshop.pdf
EPUB: https://docs.mobilitydb.com/MobilityDB/master/workshop/workshop.epub
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
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
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 is provided under the PostgreSQL license.
Content type
Image
Digest
Size
641.9 MB
Last updated
over 6 years ago
docker pull codewit/mobilitydb