Migrating from Version 1.0 to Version 1.1

MobilityDB 1.1 is a major revision with respect to the initial version 1.0. The most important change in version 1.1 was to extract the core functionality for temporal and spatiotemporal data management from MobilityDB into the Mobility Engine Open Source (MEOS) C library. In this way, the same fonctionality provided by MobilityDB in a database environement is available in a C program to be used, for example, in a streaming environment. The MEOS library for mobility management provides similar functionality as the Geometry Engine Open Source (GEOS) C/C++ library for computational geometry. In addition, wrappers for the MEOS library in other programming languages are available, in particular for Python with PyMEOS. Wrappers for C#, Java, and Javascript are being developed.

Several changes were necessary with respect to MobilityDB version 1.0 to enable the above. An important one was the definition of new data types span and spanset, which provide similar functionality to the PostgreSQL data types range and multirange but can also be used in various programming languages regardless of PostgreSQL. These are template types, which means that they are containers of other types, in a similar way as lists and arrays contains values of other types. Furthermore, a new template data type set was also added. Therefore, the types timestampset, period, and periodset in version 1.0 are replaced by the types tstzset, tstzspan, and tstzspanset in version 1.1. The name of the constructor functions for these types was modified accordingly.

Finally, the API of MEOS and MobilityDB was streamlined to improve usability. We detail next the most important changes in the API.