https://github.com/movingpandas/qgis-trajectools
Trajectools - trajectory data analysis tools for the QGIS Processing toolbox
https://github.com/movingpandas/qgis-trajectools
gis mobility-data movement-analysis movement-data qgis-plugin qgis-processing qgis3-plugin
Last synced: 6 months ago
JSON representation
Trajectools - trajectory data analysis tools for the QGIS Processing toolbox
- Host: GitHub
- URL: https://github.com/movingpandas/qgis-trajectools
- Owner: movingpandas
- License: gpl-3.0
- Created: 2018-12-02T14:35:51.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2026-01-22T18:30:56.000Z (6 months ago)
- Last Synced: 2026-01-23T11:33:58.685Z (6 months ago)
- Topics: gis, mobility-data, movement-analysis, movement-data, qgis-plugin, qgis-processing, qgis3-plugin
- Language: QML
- Homepage: https://codeberg.org/movingpandas/trajectools
- Size: 2.17 MB
- Stars: 66
- Watchers: 6
- Forks: 17
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# QGIS Trajectools
[](https://plugins.qgis.org/plugins/processing_trajectory/)
[](https://codeberg.org/movingpandas/trajectools/issues)
[](https://doi.org/10.5281/zenodo.13847642)
The Trajectools plugin adds mobility data analysis algorithms to the QGIS Processing toolbox.

## Requirements
Trajectools requires [MovingPandas](https://github.com/movingpandas/movingpandas) >= 0.22.3 and optionally integrates [scikit-mobility](https://scikit-mobility.github.io/scikit-mobility/) (for privacy tests), [stonesoup](https://stonesoup.readthedocs.io/) (for smoothing), and [gtfs_functions](https://github.com/Bondify/gtfs_functions) (for GTFS data support).
### Conda install
The recommended way to install these dependencies is through conda/mamba:
```
(base) conda create -n qgis -c conda-forge python=3.12
(base) conda activate qgis
(qgis) mamba install -c conda-forge qgis movingpandas scikit-mobility stonesoup
(qgis) pip install gtfs_functions==2.5 h3==3.7.7
```
Note: Do not upgrade to Python 3.13 if you want to use the GTFS functions. (See https://codeberg.org/movingpandas/trajectools/issues/103 for details.)
### Pip install
If you cannot use conda, you may try installing from the QGIS Python Console:
```
import pip
pip.main(['install', 'movingpandas'])
pip.main(['install', 'scikit-mobility'])
pip.main(['install', 'stonesoup'])
pip.main(['install', 'gtfs_functions'])
```
## Plugin installation
The Trajectools plugin can be installed directly in QGIS using the built-in Plugin Manager:

**Figure 1: QGIS Plugin Manager with Trajectools plugin installed.**

**Figure 2: Trajectools (v2.4) algorithms in the QGIS Processing toolbox**
## Examples
The individual Trajectools algorithms are flexible and modular and can therefore be used on a wide array on input datasets, including, for example, the open [Microsoft Geolife dataset](http://research.microsoft.com/en-us/downloads/b16d359d-d164-469e-9fd4-daa38f2b2e13/) a [sample](https://github.com/emeralds-horizon/trajectools-qgis/tree/main/sample_data) of which is included in the plugin repo:




## Presentations
[**Trajectools: analyzing anything that moves.** QGIS User Conference 2025, 2-3 June 2025, Norrköping, Sweden.](https://youtu.be/T7haF1DPy2U)
[](https://youtu.be/T7haF1DPy2U)
## Citation information
Please cite [0] when using Trajectools in your research and reference the appropriate release version using the Zenodo DOI: https://doi.org/10.5281/zenodo.13847642
[0] [Graser, A., & Dragaschnig, M. (2024, June). Trajectools Demo: Towards No-Code Solutions for Movement Data Analytics. In 2024 25th IEEE International Conference on Mobile Data Management (MDM) (pp. 235-238). IEEE.](https://drive.google.com/file/u/0/d/1OSzRuUwF1FwaPpl020PoDYdus4jtoqg8/view)
```
@inproceedings{graser2024trajectools,
title = {Trajectools Demo: Towards No-Code Solutions for Movement Data Analytics},
author = {Graser, Anita and Dragaschnig, Melitta},
booktitle = {2024 25th IEEE International Conference on Mobile Data Management (MDM)},
pages = {235--238},
year = {2024},
organization = {IEEE},
doi = {10.1109/MDM61037.2024.00048},
}
```
## Acknowledgements
This work was supported in part by the Horizon Framework Programme of the European Union under grant agreement No. 101093051 ([EMERALDS](https://www.emeralds-horizon.eu/)).