Skip to content
A Moving Objects Database (MOD) built on PostgreSQL and PostGIS
C TSQL PLpgSQL PLSQL C++ CMake Other
Branch: master
Clone or download
Esteban Zimanyi
Esteban Zimanyi Improve manual
Latest commit 629d1b3 Nov 20, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Improve manual Nov 20, 2019
include Uniformize API Nov 18, 2019
point Uniformize API Nov 18, 2019
src Uniformize API Nov 18, 2019
test Uniformize API Nov 18, 2019
.gitignore added gitignore Feb 19, 2019
.travis.yml Undo changes in .travis.yml Oct 21, 2019
CMakeLists.txt Update version number Sep 25, 2019
README.md Add ULB OGC Associated Member Nov 14, 2019
control.in Update version number Sep 25, 2019

README.md

Build Status Coverage Status

MobilityDB

MobilityDB Logo

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.

OGC Associate Member Logo

Features

  • Time types Period, PeriodSet, and TimestampSet which, in addition of the the TimestampTz type provided by PostgreSQL, are used to represent time spans.
  • Temporal types 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.
  • Spatio-temporal types 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.
  • Range types 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.

Status

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

Requirements

  • Linux (other UNIX-like systems may work, but remain untested)
  • PostgreSQL == 11
  • CMake >= 3.1
  • PostGIS == 2.5
  • JSON-C
  • Development files for PostgreSQL, PostGIS/liblwgeom, PROJ & JSON-C

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

Building & installation

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

Docker container

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.

Issues

Please report any issues at the address

https://github.com/ULB-CoDE-WIT/MobilityDB/issues

Manuals

HTML: https://docs.mobilitydb.com/nightly/

PDF: https://docs.mobilitydb.com/nightly/mobilitydb.pdf

EPUB: https://docs.mobilitydb.com/nightly/mobilitydb.epub

Publications

Presentations

License

MobilityDB is provided under the PostgreSQL license.

You can’t perform that action at this time.