The trackintel Framework
Focusing on human mobility data, trackintel provides functionalities for data quality enhancement, integrating data from various sources, performing quantitative analysis and mining tasks, and visualizing the data and/or analysis results. In addition to these core functionalities, packages are provided for user mobility profiling and trajectory-based learning analytics.
You can find the documentation on the trackintel documentation page.
Target Users and Assumptions
trackintel is intended for use mainly by researchers with:
- Programming experience in Python
- Proficiency in movement data mining and analysis
These assumptions concern your data:
- Movement data exists in csv, (geo)json, gpx or PostGIS format
- Movement data consists of points with x,y-coordinates, a time stamp, an optional accuracy and a user ID
- The tracking data can be reasonably segmented into
- positionfixes (raw tracking points)
- triplegs (aggregated tracking points based on the transport mode)
- trips (aggregated activities based on the visited destination / staypoint)
- tours (aggregated trips starting / ending at the same location / staypoint)
- One of the following transportation modes was used at any time: car, walking, bike, bus, tram, train, plane, ship, e-car, e-bike
Installation and Usage
This is not on pypi.org yet, so to install you have to
git clone the repository and install it with
pip install . or
pipenv install -e ..
If you choose the second approach and you are on Windows, you might have to install individual wheels (e.g., from https://www.lfd.uci.edu/~gohlke/pythonlibs).
For this, activate the environment using
pipenv shell and install everything using
pip install ... (in particular:
You can quit this shell at any time using
You should then be able to run the examples in the
examples folder or import trackintel using:
You can install trackintel locally using
pip install ..
For quick testing, use
Testing is done using pytest.
Simply run the tests using
pytest in the top-level trackintel folder.
In case you use
pipenv, install pytest first (
pip install pytest), then run pytest using this version:
python -m pytest.
The use of fixtures for data generation (e.g., trips and trackpoints) is still an open todo.
As for now, there are some smaller datasets in the
You can find the development roadmap under
The documentation follws the pandas resp. numpy docstring standard.
In particular, it uses Sphinx to create the documentation.
You can install Sphinx using
pip install -U sphinx or
conda install sphinx.
If you use additional dependencies during development, do not forget to add them to
docs/conf.py for readthedocs.org to work properly.
You can then generate the documentation using
sphinx-build -b html docs docs.gen.
This will put the documentation in
docs.gen, which is in
There are travis and appveyor CIs set up for Unix/Windows builds.
You can find the corresponding scripts in
Adding Coveralls is an open todo.
trackintel is primarily maintained by the Mobility Information Engineering Lab at ETH Zurich (mie-lab.ethz.ch).
If you want to contribute, send a pull request and put yourself in the