MEOS (Mobility Engine, Open Source) is a C library which enables the manipulation of temporal and spatio-temporal data based on MobilityDB's data types and functions.
PyMEOS is a library built on top of MEOS that provides all of its functionality wrapped in a set of Python classes.
This repository contains 2 subprojects:
- PyMEOS CFFI: wrapper of the MEOS C Library built using CFFI.
- PyMEOS: library that exposes the set of classes that should be used by the developer. Built on top of PyMEOS CFFI.
pip install pymeos
PyMEOS wheel should be compatible with any system, but it is possible that the pre-built distribution is not available for PyMEOS CFFI for some OS/Architecture.
If it is not available, see the source installation notes on PyMEOS CFFI's readme on how to proceed
IMPORTANT Before using any PyMEOS function, always call
pymeos_initialize
. Otherwise, the library will crash with aSegmentation Fault
error. You should also always callpymeos_finalize
at the end of your code.
from pymeos import pymeos_initialize, pymeos_finalize, TGeogPointInst, TGeogPointSeq
# Important: Always initialize MEOS library
pymeos_initialize()
sequence_from_string = TGeogPointSeq(string='[Point(10.0 10.0)@2019-09-01 00:00:00+01, Point(20.0 20.0)@2019-09-02 00:00:00+01, Point(10.0 10.0)@2019-09-03 00:00:00+01]')
print(f'Output: {sequence_from_string}')
sequence_from_points = TGeogPointSeq(instant_list=[TGeogPointInst(string='Point(10.0 10.0)@2019-09-01 00:00:00+01'), TGeogPointInst(string='Point(20.0 20.0)@2019-09-02 00:00:00+01'), TGeogPointInst(string='Point(10.0 10.0)@2019-09-03 00:00:00+01')], lower_inc=True, upper_inc=True)
speed = sequence_from_points.speed()
print(f'Speeds: {speed}')
# Call finish at the end of your code
pymeos_finalize()
For more examples, see PyMEOS Examples repository
Visit our ReadTheDocs page for a more complete and detailed documentation, including an installation manual and several examples.