Skip to content

TUMFTM/MAPPER

Repository files navigation

MAPPER logo

MAPPER

Multimodal Accessibility and Place Profiling Engine for Regions.
Open-data pipeline that turns OSM, GTFS, EO, and census inputs into multimodal, H3-aligned accessibility layers.

TL;DR: Builds mode-specific travel-time graphs, harmonizes >130 opportunity layers, runs network KDE to get continuous accessibility fields, and exports them on a national H3 grid ready for digital twins, GIS, and GeoAI workflows.


Why MAPPER

  • Scalable, reproducible accessibility engine for country-scale coverage (demonstrated for Germany).
  • Multimodal by default (walk, bike, drive, walk+transit with GTFS timetables).
  • Harmonizes heterogeneous opportunities (OSM POI, Sentinel-2 land-use proxies, workplace/census attributes) into a common schema.
  • Outputs continuous, network-constrained gravity fields sampled to H3 for plug-and-play analysis.
  • Chunked + parallel computation keeps runtimes and memory stable on commodity HPC.

How it Works

  1. Ingest & harmonize OSM/GTFS networks and opportunity sources; snap everything to a reference graph.
  2. Compute NKDE per mode and layer using travel-time decay kernels (truncated Gaussian) to get continuous potentials.
  3. Sample to H3 with robust fallbacks; write Parquet feature bundles + metadata for DT/GeoAI stacks.

Inputs & Outputs

  • Inputs: OSM networks, GTFS schedules, Sentinel-2-derived thematic layers, workplace proxies, census covariates (all configured in the mapper config file).
  • Outputs: Mode × layer accessibility matrices on an H3 grid (Parquet + metadata), logs/diagnostics, optional figures in figures/.

Quickstart

# create env (defaults to name: rapids)
conda env create -f environment.yml
conda activate rapids

# start from the shipped example config
cp configs/mapper_config.example.py configs/mapper_config.py  # optional: edit REGION, modes, H3_RESOLUTION, paths

# run standalone pipeline
python main.py

Configuration Notes

  • Sentinel Hub credentials are optional. You only need them if you want to build or include Sentinel-based satellite land-use layers.
  • Blender rendering is completely optional. Core pipeline outputs can be inspected without Blender.
  • Result inspection can be done with results_plotter.ipynb.

C++ Worker Deployments

For worker machines where system C++ dependencies differ, use the vendored-first bootstrap:

bash infra/bootstrap_cpp_worker.sh

Documentation

Public-facing starting points:

  • results_plotter.ipynb (notebook-based result exploration)
  • configs/mapper_config.example.py (pipeline example config)
  • configs/blender_config.example.py (optional Blender render example config)

Acknowledgements

  • MAPPER's fast C++ routing stack benefits from RoutingKit, especially its contraction hierarchy implementation, which makes large-scale shortest-path computation practical in this pipeline.

License

  • This project is released under the Apache License 2.0. See LICENSE.

Notes

  • Open-source, open-data pipeline that builds multimodal travel-time graphs from OSM + GTFS, fuses EO (Sentinel-2) and census data, and computes network KDE accessibility fields for >130 opportunity types.
  • All outputs land on a uniform H3 grid to align with DT/GeoAI layers; chunked computation scales to national runs on commodity hardware.
  • Validation with an empirical mobility panel shows low mean bias in routed travel times across modes, supporting the impedance metric used in NKDE.
  • Bavaria case study: car-based provision looks near-universal under strict thresholds, while walking/PT reveal substantial undersupply—highlighting mode dependence and the value of multimodal analytics for planning.
  • Germany-scale accessibility layers are released alongside the codebase for direct reuse and scenario testing.

About

Multimodal Accessibility and Place Profiling Engine for arbitrary Regions

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors