So deployst du deinen eigenen OpenStreetMap-Kartierungsserver mit Headway
Wenn du schon einmal eigene Kartierungsinfrastruktur aufsetzen musstest, erinnerst du dich wahrscheinlich an das Kopfzerbrechen. Zuerst konfigurierst du einen Tile-Server für das Rendern der Basiskarte, dann schließt du separat Nominatim oder Pelias für die Adresssuche an, dann deployst du Valhalla oder OSRM fürs Routing, und obendrauf versuchst du das alles mit einem Web-Frontend zusammenzubinden. Am Ende wird aus einer einfachen Aufgabe ein Chaos aus einem Dutzend nicht zusammenpassender Dienste und Konfigurationsdateien.
Ich bin kürzlich auf das Headway-Repository gestoßen, dessen Autoren versucht haben, genau dieses Problem zu lösen. Sie haben einen gebrauchsfertigen Kartierungsserver als einzelnen Out-of-the-Box-Stack zusammengestellt, der auf OpenStreetMap-Daten läuft.
Was steckt drin
Das Kernkonzept des Projekts ist einfach: Entwicklern die Möglichkeit geben, einen voll ausgestatteten Kartendienst mit nur wenigen Befehlen hochzufahren, ohne Komponenten manuell zusammenzukleben.
Der Stack umfasst:
- Basiskarte mit gebrauchsfertiger Weboberfläche für Browser
- Geocoder für die Suche nach Adressen und Points of Interest (POI)
- Routing-Engine
- Satz vorgefertigter Konfigurationen für über 200 beliebte Städte
Das Projekt ist in Rust geschrieben und fürs Self-Hosting konzipiert. Du kannst einen OSM-Extrakt für eine bestimmte Nachbarschaft, Metropole oder ein ganzes Land nehmen und an die Build-Scripts übergeben.
Wie schlagen sich Routing und Suche
Im aktuellen Stadium bewältigt Headway die grundlegenden Dinge, für die man solche Dienste normalerweise betreibt.
Zunächst gibt es Geocoding. Die Suchleiste ermöglicht es, Straßennamen, Hausnummern und Einrichtungen innerhalb des geladenen Kartenausschnitts zu finden.
Dann gibt es die Berechnung von Routen zwischen zwei Punkten. Drei primäre Reisemodi werden unterstützt:
- Zu Fuß
- Fahrrad
- Auto
ÖPNV-Routing befindet sich noch in der Entwicklung, also erwarte noch keine U-Bahn- oder Busverbindungen.
Systemanforderungen und Build-Feinheiten
Es gibt keine Wunder: Die Verarbeitung von Geodaten stößt immer an Hardware-Grenzen. Die Entwickler warnen ehrlich vor dem Appetit des Stacks in der Dokumentation.
Für die Generierung funktionsfähiger Dateien wird ein Linux- oder macOS-Rechner (amd64-Architektur) mit mindestens 8 GB RAM benötigt. Wenn du eine große Region bauen willst, brauchst du deutlich mehr Speicher. Während der Datenaufbereitungsphase beansprucht das Projekt temporär 50 bis 100 GB Festplattenplatz, also prüfe vorher den freien Speicherplatz auf der SSD.
Sobald Kompilierung und Extraktverarbeitung abgeschlossen sind, sinken die Ressourcenanforderungen deutlich. Für den Betrieb und das Bedienen von Anfragen für eine durchschnittliche Stadt werden etwa 4 GB RAM auf dem Server benötigt.
Wo das nützlich ist
Das Deployen eines solchen Stacks macht in mehreren klaren Szenarien Sinn:
- Isolierte Umgebungen und Air-Gapped-Netze. Wenn eine Unternehmensanwendung in einem geschlossenen Perimeter ohne Internetzugang läuft, deckt Headway den Bedarf an externen Karten ab.
- Lokale Liefer- und Logistikdienste. Wenn dein Geschäft auf eine einzelne Stadt oder Region beschränkt ist, lohnt es sich nicht, für jede Geocoding- und Routing-Anfrage kommerzielle Mapping-APIs zu bezahlen.
- Private Projekte und Prototypen. Schneller Start auf dem lokalen Rechner ohne Registrierung von API-Keys bei Drittanbietern.
- Datenschutzanforderungen. Daten über Nutzerbewegungen und Suchanfragen bleiben strikt auf deinem Server.
Lohnt es sich, es zu probieren
Headway wird unter der freien Apache-2.0-Lizenz veröffentlicht. Das Projekt hat ein klares Ziel und ein sauberes Konzept: Die Einrichtung von Geodiensten von der Routine befreien.
Wenn du einen lokalen Kartierungsserver für eine bestimmte Stadt oder Region brauchst, ist das ein ausgezeichneter Kandidat zum Testen. Beginne mit einem der 200 vorgefertigten Stadt-Presets, um Leistung und Benutzerfreundlichkeit der Oberfläche zu bewerten, und gehe dann dazu über, eigene OSM-Extrakte zu bauen.
Ähnliche Projekte