Dieses Projekt hat zum Ziel, bereits verarbeitete Fahrrad-Geodaten aus TILDA (basierend auf OpenStreetMap) in das Berliner Detailnetz zu überführen.
Der Inspector dient der Qualitätssicherung (QA).
Starte den Inspector mit:
cd inspector && npm run devAlternativ kannst das QGIS-Projekt QGIS QA Processing.qgz verwendet werden, das die verschiedenen Ausgabedateien visualisiert.
Das Verarbeitungsscript nutzt Python und mehrere Bibliotheken.
Es empfiehlt sich, ein virtuelles Python-Environment (venv) anzulegen und die Abhängigkeiten aus requirements.txt zu installieren.
Nach dem Erstellen des Environments führe folgende Befehle in der Projekt-Root aus:
# Falls noch nicht vorhanden: venv anlegen
python3 -m venv .venv
# In einer neuen Shell das venv aktivieren
source .venv/bin/activate
# Abhängigkeiten installieren
pip install -r requirements.txt
# Die Verarbeitungs-Schritte müssen in dieser Reihenfolge ausgeführt werden
./process_tilda_data.sh
./.venv/bin/python processing/start_matching.py
./.venv/bin/python processing/start_snapping.py
./.venv/bin/python processing/start_aggregation.py --input ./output/snapping_converted_bikelanes.fgb# Kurzvariante zur Ausführung aller Schritte für ein bestimmtes Gebiet:
# --clip <region> Clips alle Daten auf eine Region (neukoelln, norden, sueden)
# Vorher ausführbar machen: chmod +x execute_processing.sh
# TILDA Daten müssen in ./data-raw-tilda liegen
./process_tilda_data.sh
./process_rvn.sh
./execute_processing.sh
# Alle drei hintereinander
./process_tilda_data.sh && ./process_rvn.sh && ./execute_processing.sh
# Falls GeoJSONs gewünscht sind
python ./scripts/convert_to_geojson.py
# Alle Schritte durchführen
./process_tilda_data.sh && ./process_rvn.sh && ./execute_processing.sh && python ./scripts/convert_to_geojson.py && python ./scripts/convert_knotenpunkte.py && ./run_validation.shdata/– Eingangsdaten wie Detailnetz, Radvorrangsnetz und weitere Geodatendata-raw-tilda/– Rohdaten aus den TILDA-Exporten (bikelanes, roads, roadsPathClasses)inspector/– Code zu Web-basiertes Tool zur Qualitätssicherung der verarbeiteten Datenoutput/– Alle durch die Verarbeitungsskripte erzeugten Ausgabedateienoutput-bbox/– Ausgabedateien beschränkt auf einen bestimmten (--view) Bounding-Box-Bereichoutput-last-run/– Backup der Ausgabedateien vom letzten Verarbeitungslaufprocessing/– Zentrale Python-Skripte für Matching, Snapping und Aggregation der Geodatenscripts/– Hilfs- und Wrapper-Skripte zur Automatisierung der Verarbeitungvalidation/– Skripte und Daten zur Validierung der Ergebnisse
Dieses Projekt überführt Fahrrad-Infrastrukturdaten aus OpenStreetMap (aufbereitet durch TILDA) in das strukturierte Berliner Detailnetz. Als Datenquellen dienen das Radvorrangsnetz (RVN), die TILDA-Exporte und das Berliner Straßennetz-Detailnetz. Die Verarbeitung erfolgt in mehreren automatisierten Schritten:
- TILDA-Datenaufbereitung (
process_tilda_data.sh): Übersetzung und Anreicherung der TILDA-Rohdaten mit zusätzlichen Attributen und Kategorisierungen - Matching (
start_matching.py): Auswahl von OSM-Ways entlang von des Radvorrangsnetzes. Außerdem Anwendung von manuellen Einschlüssen und Ausschlüssen von Wege über OSM-ID. - Snapping (
start_snapping.py): Geometrische Anpassung der OSM-Daten an die Detailnetz-Geometrie, sodass die Fahrrad-Infrastruktur exakt auf den Detailnetz-Kanten liegt. - Aggregation (
start_aggregation.py): Zusammenführung mehrerer OSM-Ways auf einer Detailnetz-Kante zu einem einzigen Feature mit konsolidierten Attributen.
Zusätzliche Skripte verarbeiten Knotenpunkte, Ampeln, Bushaltestellen und weitere Netzwerkelemente, welche in die Datensätze direkt oder indirekt einfließen. Das Wrapper-Skript execute_processing.sh führt alle Schritte automatisiert aus und unterstützt optionales Clipping auf bestimmte Regionen (Neukölln, Norden, Süden). Der Web-Inspector ermöglicht die visuelle Qualitätssicherung der Ergebnisse durch interaktive Kartendarstellung und Filterung nach Attributen.
Der Quellcode der Verarbeitungsskripte und des Inspectors steht unter der AGPL-3.0-Lizenz. Details findest du in der Datei LICENSE.
Die verwendeten Roh-Geodaten sind pro Datei lizenziert, siehe data/LIZENZEN.md (Deutsch).
Die durch die Skripte erzeugten Geodaten sind in output/LIZENZEN.md (Deutsch) beschrieben. Die erzeugten Dateien sind nicht im Repository enthalten, lassen sich aber aus den Rohdaten reproduzieren.