MobilityDB is an open source moving object database system (https://github.com/ULB-CoDE-WIT/MobilityDB). Its core function is to efficiently store and query mobility tracks, such as vehicle GPS trajectories. It is engineered up from PostgreSQL and PostGIS, providing spatiotemporal data management via SQL. It integrates with the postgreSQL eco-system allowing for complex architectures such as mobility stream processing and cloud deployments.
The presentation will explain the architecture of MobilityDB, its database types, indexes, and operations. An end to end example will be demonstrated, starting with data preparation, loading, transformation, querying, until visualization. This presentation will be of special interest to the PostgreSQL community, and to professionals in the transportation domain.
This presentation will build on our talks in PGConf.ru 2019, and FOSS4G Belgium 2019.
MobilityDB is an open source PostgreSQL extension that adds support for temporal and spatio-temporal objects to the PostgreSQL and PostGIS. MobilityDB implements the Moving Features specification from the Open Geospatial Consortium (OGC).
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.