Die Welt der geografischen Daten ist riesig und faszinierend. Im Zentrum vieler innovativer Projekte steht oft eine Ressource, die kostenlos, global und unglaublich detailliert ist: OpenStreetMap (OSM). Ob Sie eine mobile Anwendung entwickeln, eine wissenschaftliche Studie durchführen, eine Visualisierung erstellen oder eine Logistiklösung planen – die Geodaten von OSM sind eine Goldgrube. Doch selten lassen sich die nativen OSM-Daten direkt in jedes Projekt integrieren. Meistens ist eine Umwandlung in ein spezifisches Format erforderlich, das Ihre Software oder Ihr Workflow versteht. Genau hier setzen wir an. Dieser Artikel führt Sie Schritt für Schritt durch den Prozess der Umwandlung von OpenStreetMap-Daten, damit Ihr Projekt reibungslos startet.
Warum ist die Umwandlung von OpenStreetMap-Daten notwendig?
OpenStreetMap ist ein wunderbares Projekt, das von einer globalen Gemeinschaft gepflegt wird. Die Daten werden in einem flexiblen, XML-basierten Format gesammelt (oft als .osm
oder binär als .pbf
). Dieses Format ist ideal für die Erfassung und Speicherung einer Vielzahl von Merkmalen – von Straßen und Gebäuden bis hin zu Parkbänken und Bäumen – zusammen mit ihren unzähligen Attributen (Tags). Die Stärke liegt in seiner Flexibilität und Detailliertheit.
Doch diese Flexibilität kann zur Herausforderung werden, wenn es um die Nutzung in spezifischer Software geht:
- Software-Kompatibilität: Viele GIS-Anwendungen (Geografische Informationssysteme), Web-Kartenbibliotheken oder Datenbanken sind für andere, standardisierte Formate optimiert. Sie können
.osm
-Dateien nicht direkt lesen oder verarbeiten. - Datenmodell und Schema: OSM-Daten verwenden ein freies Tagging-System (Schlüssel-Wert-Paare), das sich stark von den strukturierten Tabellenmodellen vieler anderer Formate unterscheidet. Für eine effiziente Abfrage und Analyse müssen diese flexiblen Tags oft in ein festes Schema übersetzt werden.
- Leistung und Datenvolumen: Native OSM-Dateien, besonders für größere Gebiete, können sehr groß sein. Die Umwandlung in effizientere Formate oder das Filtern von irrelevanten Daten kann die Performance Ihres Projekts erheblich verbessern.
- Spezifische Anforderungen: Ihr Projekt benötigt vielleicht nur bestimmte Arten von Daten (z.B. nur Straßen, nur Gebäude) oder nur Attribute, die für Ihren Anwendungsfall relevant sind. Die Konvertierung bietet die Möglichkeit, diese Selektion vorzunehmen.
Gängige OpenStreetMap-Datenformate
Bevor wir über die Zielformate sprechen, ist es wichtig zu wissen, wie OSM-Daten typischerweise vorliegen:
.osm
(XML-Format): Dies ist das „native” XML-Format von OpenStreetMap. Es ist gut lesbar für Menschen und Maschinen, aber für größere Datenmengen sehr umfangreich..pbf
(Protocol Buffer Binary Format): Dies ist das bevorzugte Format für den Austausch großer OSM-Datensätze. Es ist binär, stark komprimiert und daher viel kleiner und schneller zu verarbeiten als das XML-Format. Die meisten größeren Downloads sind in diesem Format..osc
(OpenStreetMap Change files): Diese Dateien enthalten inkrementelle Änderungen an den OSM-Daten und werden verwendet, um lokale Kopien aktuell zu halten.
Gängige Zielformate für Ihre Projekte
Abhängig von Ihrem Projekt und den verwendeten Tools werden Sie wahrscheinlich eines der folgenden Formate benötigen:
1. Shapefile (.shp)
Das Shapefile ist ein de-facto Standard in der GIS-Welt und wird von nahezu jeder GIS-Software unterstützt (z.B. QGIS, ArcGIS). Es speichert Vektordaten (Punkte, Linien, Polygone) in separaten Dateien für Geometrie, Attribute und Index. Beachten Sie, dass ein Shapefile aus mehreren Dateien besteht (mindestens .shp, .shx, .dbf).
- Vorteile: Weit verbreitet, gut unterstützt, einfach zu verwenden in GIS-Software.
- Nachteile: Kann nur ein Geometrie-Typ pro Datei speichern (z.B. nur Linien), Attributnamen sind auf 10 Zeichen begrenzt, Dateigröße kann bei sehr komplexen Geometrien groß werden.
2. GeoJSON (.geojson)
GeoJSON ist ein beliebtes, leichtgewichtiges Format für geografische Daten, das auf JSON (JavaScript Object Notation) basiert. Es ist ideal für Webanwendungen, APIs und alle Umgebungen, die mit JavaScript arbeiten.
- Vorteile: Einfache Struktur, textbasiert, direkt lesbar in vielen Web-Mapping-Bibliotheken (Leaflet, OpenLayers, Mapbox GL JS), gut für Datenübertragung über das Web.
- Nachteile: Weniger effizient für sehr große Datensätze als binäre Formate, keine direkte Unterstützung für komplexe Schemata oder Attributdatentypen wie in Datenbanken.
3. KML/KMZ (.kml / .kmz)
Das Keyhole Markup Language (KML) ist ein XML-basiertes Format, das ursprünglich für Google Earth entwickelt wurde. KMZ ist eine komprimierte Version von KML.
- Vorteile: Ideal für die Visualisierung in Google Earth/Maps, einfache Darstellung von Punkten, Linien und Polygonen mit Stilinformationen.
- Nachteile: Nicht optimal für komplexe Analysen, eingeschränkte Attributunterstützung im Vergleich zu anderen Formaten.
4. PostGIS / Spatiale Datenbanken
Für größere Projekte, die komplexe Abfragen, Analysen und die Verwaltung großer Datenmengen erfordern, ist die Speicherung in einer relationalen Datenbank mit räumlichen Erweiterungen wie PostGIS (für PostgreSQL) oft die beste Wahl.
- Vorteile: Leistungsstark, skalierbar, unterstützt komplexe räumliche Analysen, effiziente Abfragen, Multibenutzerfähigkeit.
- Nachteile: Erfordert Datenbankkenntnisse und Server-Infrastruktur, aufwendiger in der Einrichtung.
5. GPX (.gpx)
Das GPS Exchange Format (GPX) ist ein XML-basiertes Format, das speziell für den Austausch von GPS-Daten wie Wegpunkten, Routen und Tracks entwickelt wurde.
- Vorteile: Standard für GPS-Geräte und -Software, einfache Handhabung von Tracks und Wegpunkten.
- Nachteile: Sehr spezifisch, nicht ideal für allgemeine geografische Daten.
Wie bekommt man OpenStreetMap-Daten?
Bevor Sie konvertieren können, benötigen Sie die Daten. Hier sind die gängigsten Wege:
- OSM.org Export: Für kleine Gebiete können Sie auf openstreetmap.org einfach den „Export”-Button verwenden. Dies liefert Ihnen eine
.osm
-Datei. (Grenze liegt bei etwa 0.25 Grad Breite/Länge). - Overpass API / Overpass Turbo: Dies ist die leistungsstärkste Methode, um benutzerdefinierte Abfragen für spezifische Daten zu stellen. Sie können genau festlegen, welche Features (z.B. „alle Restaurants in Berlin” oder „alle Straßen des Typs ‘motorway'”) Sie herunterladen möchten. Overpass Turbo bietet eine grafische Oberfläche dafür.
- Vorgefertigte Extrakte: Für größere Gebiete (Städte, Länder, Kontinente) bieten Dienste wie Geofabrik oder BBBike kostenlose Downloads in Form von
.pbf
-Dateien an. Diese werden regelmäßig aktualisiert. - Planet OSM: Die gesamte weltweite OSM-Datenbank ist als „planet.osm” verfügbar, aber dies ist eine riesige Datei und nur für sehr fortgeschrittene Nutzer gedacht, die die gesamte Datenbank lokal hosten wollen.
Die Werkzeuge der Wahl für die Konvertierung
Es gibt verschiedene Tools, die Ihnen bei der Umwandlung helfen. Die Wahl hängt von Ihrer technischen Kompetenz, der Größe der Daten und Ihren spezifischen Anforderungen ab.
1. QGIS – Der Alleskönner für GIS-Einsteiger und Profis
QGIS ist eine kostenlose und quelloffene Desktop-GIS-Anwendung, die unglaublich leistungsstark und benutzerfreundlich ist. Sie ist die erste Wahl für viele, die geografische Daten bearbeiten möchten, ohne zu programmieren.
So konvertieren Sie OSM-Daten in QGIS:
- Daten laden: Ziehen Sie Ihre
.osm
– oder.pbf
-Datei direkt in das QGIS-Fenster. QGIS fragt Sie, welche Geometrietypen (Punkte, Linien, Polygone) Sie laden möchten. Wählen Sie die relevanten aus. QGIS kann dabei bereits eine grundlegende Filterung vornehmen und Tags in Spalten übersetzen. - Daten filtern/bearbeiten (optional): Nachdem die Daten als separate Layer (z.B. „points”, „lines”, „multyploygons”) geladen wurden, können Sie sie filtern. Rechtsklick auf den Layer > „Filter…” oder „Attributtabelle öffnen” und dann den Filter-Button verwenden.
- In neues Format exportieren: Rechtsklick auf den gewünschten Layer im „Layer-Fenster” > „Exportieren” > „Objekte speichern als…”.
- Einstellungen vornehmen:
- Format: Wählen Sie das gewünschte Zielformat (z.B. ESRI Shapefile, GeoJSON, KML).
- Dateiname: Geben Sie einen Speicherort und Dateinamen an.
- KBS (Koordinatenbezugssystem): Stellen Sie sicher, dass das richtige KBS gewählt ist. Für Webanwendungen ist oft WGS84 (EPSG:4326) passend. Für projektierte Daten (z.B. Messung von Distanzen in Metern) wählen Sie ein lokales projiziertes KBS.
- Attribute: Hier können Sie auswählen, welche OSM-Tags als Spalten im Zielformat übernommen werden sollen. Dies ist entscheidend für das Datenmodell Ihres Projekts. Sie können hier auch die Namen der Spalten ändern.
- Encoding: UTF-8 ist meist eine gute Wahl.
- Export starten: Klicken Sie auf „OK”. QGIS konvertiert die Daten und fügt sie auf Wunsch auch direkt als neuen Layer hinzu.
2. GDAL/OGR – Das Schweizer Taschenmesser für Geodaten (Kommandozeile)
GDAL/OGR ist eine Bibliothek von Kommandozeilentools, die für die Konvertierung und Verarbeitung von Raster- (GDAL) und Vektordaten (OGR) entwickelt wurde. Sie ist extrem mächtig und flexibel, erfordert aber ein gewisses Maß an Vertrautheit mit der Kommandozeile.
Installation: GDAL/OGR ist oft bereits in GIS-Software-Paketen enthalten oder kann separat installiert werden (gdal.org).
Kernbefehl: ogr2ogr
ist der Befehl, den Sie für die Vektordatenkonvertierung benötigen.
Beispiele für die Konvertierung mit ogr2ogr
:
- OSM (.pbf) zu Shapefile (alle Layer):
ogr2ogr -f "ESRI Shapefile" output_folder input.pbf
(Dies erstellt für jeden Geometrietyp (Punkte, Linien, Polygone) und oft für verschiedene Haupt-Tags separate Shapefiles im Ordner „output_folder”). - OSM (.pbf) zu GeoJSON (nur Straßen/Linien):
ogr2ogr -f "GeoJSON" output.geojson input.pbf lines
(Hier wird nur der „lines”-Layer aus der PBF-Datei in eine GeoJSON-Datei konvertiert.) - Mit Attribut-Filterung und KBS-Transformation (Beispiel: Gebäude in PostGIS laden):
ogr2ogr -f "PostgreSQL" PG:"host=localhost user=osmuser dbname=osmdata password=mypass" input.pbf -sql "SELECT osm_id, name, building FROM multipolygons WHERE building IS NOT NULL" -s_srs EPSG:4326 -t_srs EPSG:4326 -lco GEOMETRY_NAME=geom -lco OVERWRITE=YES
(Dieses Beispiel ist komplexer: Es liest Multipolygone aus der PBF, filtert nur Features mit dem Tag „building”, wählt spezifische Attribute, transformiert das KBS (hier nur eine redundante Angabe, da Quell- und Ziel-KBS gleich sind) und lädt sie in eine PostGIS-Datenbank. Die Option-lco
steht für „Layer Creation Options”.) - GeoJSON aus Shapefile erstellen (WGS84 KBS):
ogr2ogr -f "GeoJSON" output.geojson input.shp -t_srs EPSG:4326
Die Möglichkeiten von GDAL/OGR sind nahezu unbegrenzt, wenn es um das Filtern, Transformieren und Neukonfigurieren von Geodaten geht.
3. Online-Konverter
Für kleinere Dateien und weniger komplexe Konvertierungen können Online-Tools wie OGR-WEB-CLIENT (basiert auf GDAL/OGR) oder andere spezialisierte Konverter nützlich sein. Seien Sie jedoch vorsichtig mit sensiblen Daten und beachten Sie Dateigrößenbeschränkungen.
4. Spezialisierte Bibliotheken für Entwickler
Für Entwickler, die direkter mit Daten in ihren Skripten arbeiten möchten, gibt es Bibliotheken wie:
- Python:
osmnx
(zum Herunterladen und Analysieren von OSM-Straßennetzen),geopandas
(Arbeiten mit GeoDataFrames),fiona
(Python-Wrapper für OGR). - JavaScript: Bibliotheken wie
turf.js
können GeoJSON-Daten im Browser oder auf dem Server verarbeiten.
Schritt-für-Schritt-Anleitung: Von OSM zu Ihrem Projektformat
Lassen Sie uns den Prozess zusammenfassen:
- Datenbeschaffung: Ermitteln Sie, welche OSM-Daten Sie benötigen und laden Sie sie im passenden Format herunter (oft
.pbf
oder.osm
). Verwenden Sie Overpass Turbo für spezifische Abfragen oder Geofabrik für Länder-Extrakte. - Tool auswählen: Entscheiden Sie, ob QGIS (benutzerfreundlich, visuell) oder GDAL/OGR (flexibel, skriptbar, für große Datenmengen) besser für Ihre Aufgabe geeignet ist.
- Daten importieren/laden:
- QGIS: Ziehen Sie die
.pbf
-Datei direkt in das Fenster oder gehen Sie über „Layer” > „Layer hinzufügen” > „Vektorlayer hinzufügen…”. - GDAL/OGR: Öffnen Sie ein Terminal oder eine Eingabeaufforderung und navigieren Sie zum Speicherort Ihrer Datei.
- QGIS: Ziehen Sie die
- Daten bereinigen und filtern (optional, aber empfohlen):
- In QGIS können Sie Filter auf Layer anwenden (Rechtsklick > „Filter…”).
- Mit GDAL/OGR können Sie dies über SQL-Abfragen innerhalb des
ogr2ogr
-Befehls tun (z.B.-sql "SELECT name, highway FROM lines WHERE highway='motorway'"
). - Entfernen Sie irrelevante Layer oder Features, um die Dateigröße und Komplexität zu reduzieren.
- Attribute anpassen: OSM-Tags sind sehr vielfältig. Für Ihr Zielformat müssen Sie möglicherweise entscheiden, welche Tags Sie als Attribute behalten und wie Sie sie benennen möchten. In QGIS geschieht dies im Exportdialog unter „Attribute”. Bei GDAL/OGR können Sie dies über SQL-Abfragen steuern.
- In Zielformat exportieren/konvertieren:
- QGIS: Rechtsklick auf den Layer > „Exportieren” > „Objekte speichern als…”. Wählen Sie Format, KBS, Attribute und Dateinamen.
- GDAL/OGR: Verwenden Sie den
ogr2ogr
-Befehl mit den entsprechenden Optionen für Format, Quelle, Ziel, Filterung und KBS-Transformation.
- Validierung: Überprüfen Sie die konvertierten Daten in Ihrem Zielsystem oder mit einer anderen GIS-Software, um sicherzustellen, dass alles korrekt übertragen wurde – Geometrie, Attribute und das Koordinatenbezugssystem.
Häufige Herausforderungen und Tipps
- Datenvolumen: Große
.pbf
-Dateien (z.B. ganze Länder) können viel Speicher und Rechenzeit beanspruchen. Filtern Sie die Daten so früh wie möglich, um nur das Nötigste zu verarbeiten. - Datenmodell und Schema: OSM ist unstrukturiert. Sie müssen sich überlegen, wie Sie die flexiblen OSM-Tags in das fixe Schema Ihres Zielformats übersetzen. Dies ist oft der komplexeste Teil. Überlegen Sie sich, welche Tags Sie wirklich brauchen und wie sie in Spaltennamen abgebildet werden sollen.
- Koordinatenbezugssysteme (KBS): Achten Sie immer auf das richtige KBS (CRS). OSM-Daten sind in WGS84 (EPSG:4326). Wenn Sie Entfernungen oder Flächen berechnen müssen, benötigen Sie in der Regel ein projiziertes KBS (z.B. UTM-Zonen für lokale Bereiche). QGIS und GDAL/OGR können Transformationen durchführen.
- Attributverlust: Nicht alle OSM-Tags können eins zu eins in bestimmte Zielformate übertragen werden, besonders wenn Attributnamen begrenzt sind (wie bei Shapefiles). Planen Sie, welche Informationen unverzichtbar sind.
- Leistung bei QGIS: Wenn QGIS bei großen Dateien langsam wird, versuchen Sie, die Daten zuerst mit GDAL/OGR zu filtern und zu verkleinern und dann nur die bereinigte Untermenge in QGIS zu laden.
- Lernkurve für GDAL/OGR: Nehmen Sie sich Zeit, die GDAL/OGR-Dokumentation zu lesen. Es lohnt sich, da es Ihnen eine enorme Kontrolle über Ihre Geodaten gibt.
Fazit
Die Umwandlung von OpenStreetMap-Daten ist ein fundamentaler Schritt, um diese wertvolle Ressource in Ihre Projekte zu integrieren. Egal, ob Sie ein Webentwickler, ein Stadtplaner oder ein Datenanalyst sind, das Verständnis der verschiedenen Formate und der effektiven Nutzung von Tools wie QGIS und GDAL/OGR wird Ihnen Türen zu unzähligen Möglichkeiten öffnen. Beginnen Sie klein, experimentieren Sie mit verschiedenen Konvertierungen und scheuen Sie sich nicht, die mächtigen Filter- und Transformationsfunktionen der Tools zu nutzen. Mit ein wenig Übung wird die Umwandlung von Geodaten für Sie zur Routine – und Ihr Projekt wird von der Fülle der OpenStreetMap-Daten profitieren.