This is a repository that holds different trajectory generation algorithms, which are meant to be used for research and development of spatial-temporal data services.
The work is part of the ``Bloom Filter as a Tool to Organize Complex and Big Geospatial Data'' at the Professorship for Big Geospatial Data Management, Technical University of Munich, Germany (https://www.bgd.ed.tum.de/en/projects/bloomfilter/), which is funded by the Deutsche Forschungsgemeinschaft (DFG,German Research Foundation) - 507196470.
Apart from algorithms for trajectory generation the repository features an easy-to-use frontend to configuring these methods and have previews of the configurations in an interactive manner.
The project is organized as a Python project managed with the uv package manager.
It requires at least Python 3.10 and the dependencies listed in pyproject.toml.
The repository is made to work with the uv package manager.
uv init
uv pip install .
uv run pytestuv run streamlit run src/app/app.pyThe repository implements different trajectory generation strategies. These are structured in strategies for
- spatial trajectory generation
- temporal trajectory generation
- resampling
These are available either for
- different spatial dimensions (2D and 3D)
- continuous and discrete spatial and temporal values.
If only the backend should be used, the necessary parameters have to be set in a Config class as defined in ./src/trajgen/config.py
The 5 main spatial strategies proposed are visualized in an example eachhere: 5 strategies supported for trajectory generation
The frontend guides the user through a six-step process to generate the trajectory dataset:
- Point Properties
- Spatial Method
- Temporal Method
- Resampling Method
- Preview
- Generation
In steps 1. to 4. the user is guided through a method and parameter selection
An example of the input window for the point properties is given below:
Alternatively to clicking through the graphical user interface, you can also upload a JSON-style configuration file.
After the user specifies the method and parameters, they can preview the generated trajectories.

Step 6 allows the generation of a large trajectory dataset and a simple download as CSV. For evaluation purposes, a timed variant is also available, which additionally stores the time required for trajectory generation in file in the log folder.

