OSM-Transform — Leistungsstarke OSM-Datenvorbereitung für Routing Engines
28.03.2025 , WS2 (107)

Der Workshop vermittelt den Einsatz von OSM-Transform, dem Präprozessor der Open-Source Routing-Engine openrouteservice (ORS). Teilnehmer*innen lernen, OSM-Daten für effizientes Routing per Regex zu filtern und Höhendaten sowie Ländergrenzen aus verschiedenen Quellen und Auflösungen zu integrieren. Anhand einfacher Beispiele wird gezeigt, wie man mit den prozessierten Daten in wenigen Schritten eine Routing-Engine aufsetzt und weitere Analysen möglich sind.


Unser Workshop wird sich auf OSM-Transform fokussieren, der openrouteservice (ORS) Präprozessor für OpenStreetMap Daten. Wir haben in jüngster Vergangenheit unseren internen OSM-Präprozessor veröffentlicht und möchten diesen mit der Community teilen. Bevor wir Routinggraphen für unsere öffentliche ORS API erstellen, verwenden wir OSM-Transform, um OSM Daten in ein kleineres, maßgeschneidertes Datenpaket umzuwandeln. Diese Daten können auf Wunsch mit zusätzlichen Informationen wie z. B. Höhendaten direkt angereichert werden. Ergebnisse werden im OSM Format gespeichert und bleiben damit kompatibel mit sämtlichen OSM-Standards und können mit regulären OSM-Tools und anderen Routing-Engines, die in der Lage sind, die angereicherten Tags zu verwenden, weiterverarbeitet werden.

Dieses Tool wird aktiv genutzt und weiterentwickelt. Die derzeit integrierten Funktionen, die wir während des Workshops betrachten werden, sind momentan wie folgt:

Filtern: Bereinigen von OSM-Daten, um sicherzustellen, dass nur das Nötigste für Routing-Engines enthalten ist. Unsere aktuelle Filterkette reduziert die Dateigrößen um fast 50 %, was zu einem wesentlich schnelleren Lesen und Verarbeiten der resultierenden OSM Daten zu Routinggraphen führt. Die Regex Filter können nach Wunsch angepasst werden und bilden mehr ab als die Anforderungen von ORS.

Anreicherung: Die derzeitige Version erlaubt die Anreicherung zusätzlicher Daten, wie Länderinformationen und Höhendaten.

Höhendaten: Im Workshop werden wir zeigen, wie Höhendaten aus GMTED, SRTM und benutzerdefinierten hochauflösenden Höhendaten integriert werden können. GMTED- und SRTM-Daten werden bei Bedarf automatisch von OSM-Transform heruntergeladen, während die benutzerdefinierten Höhendaten so hochauflösend wie nötig sein dürfen. Die interne Höhendatenpriorisierung verwendet die benutzerdefinierten Höhendaten als Standard und greift bei Bedarf automatisch weniger gut aufgelöste Quellen, SRTM oder GMTED zurück.

Spezialisierte Algorithmen: Bei höheren Auflösungen kann es passieren, dass sich eine Edge über mehrere Höhenwerte erstreckt. Wir haben uns etwas einfallen lassen, um diese Szenarien abzubilden ;).

Einfache Einrichtung: Wir werden im Workshop den Umgang mit OSM-Transform zeigen und Scripte bereitstellen, mit denen die Teilnehmer*innen alle Arbeitsschritte reproduzieren können.

Weiterverarbeiten: Im Anschluss an den Workshop teilen wir Tutorials, wie man die zuvor erstellten benutzerdefinierten osm-Dateien mit ORS nutzt, um Routing-Graphen zu erstellen. Auf diese Weise können die Teilnehmer in Eigeninitiative mit den Daten weiterarbeiten.

Kommende Funktionen:

Globale, hochauflösende Höhendaten: Es stehen kontinuierlich besser aufgelöste Höhendaten zur Verfügung. Wir werden in Zukunft daran arbeiten, diese zuverlässiger für die Vorprozessierung verfügbar zu machen.

Zeitzoneninformationen: Die nächste logische Iteration für OSM-Transform sehen wir bei der Voranreicherung mit globalen Zeitzoneninformationen.

Siehe auch:

Jakob Schnell nutzt seit über 15 Jahren die OSM und entwickelt seit über 10 Jahren Software.
In den letzten 4 Jahren überschneiden sich diese beiden Gebiete durch seine Tätigkeit als Software-Entwickler bei der HeiGIT gGmbH zunehmend. Sein Fokus liegt dabei auf klarer Kommunikation und Prozessoptimierung – sein Hintergrund aus der diskreten Optimierung kommt ihm dabei immer wieder in die Quere.

Er ist als Dozent und Lehrgangsleiter in unversitärem und außeruniversitärem Umfeld tätig.

Julian is currently the Product Owner of the Smart Mobility Team at the Heidelberg Institute for Geoinformation Technology that also takes care of the openrouteservice routing engine.