Skip to content

tum-bgd/TrajGen

Repository files navigation

TrajGen

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.

Install and Check Installation

Requirements and Dependencies

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.

Installation and Test

The repository is made to work with the uv package manager.

uv init
uv pip install . 
uv run pytest

Run Frontend For Trajectory Generation

uv run streamlit run src/app/app.py

Strategies

The 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

Frontend

The frontend guides the user through a six-step process to generate the trajectory dataset:

  1. Point Properties
  2. Spatial Method
  3. Temporal Method
  4. Resampling Method
  5. Preview
  6. Generation

6 step process of the TrajGen

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: Step 1 in the TrajGen Process: Defining the single point properties 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 5. in the TrajGen Process: Previewing 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.

Step 6. in the TrajGen Process: Generating and downloading the trajectory dataset

About

A repository which holds different methods to generate trajectories.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages