Das OpenStreetMap Ökosystem

Das OpenStreetMap Ökosystem

(this post is also available in English)

Das Projekt OpenStreetMap (OSM) ist eine freie Datenbank für Geodaten. Die Daten können auf einer Karte angezeigt werden, aber das ist bei weitem nicht der einzige Zweck. In den letzten Jahren hat sich ein Ökosystem von Programmen, Diensten und Tools rund um OSM entwickelt. Dieser Blogbeitrag erläutert die grundlegenden Konzepte von OpenStreetMap und gibt einen Überblick wie die Daten angezeigt, bearbeitet, heruntergeladen und verarbeitet werden können.

Struktur von OSM-Daten

Die meisten Geodaten werden gemäß dem Simple Feature Model gespeichert. OSM verwendet jedoch ein eigenes Datenmodell welches auf korrekte Topologie wert legt. Es besteht aus 3 Datentypen:

/img/osm_overview/osm_elements.png

OSM Datentypen. Bildquelle: https://wiki.openstreetmap.org

Der node (Knoten) ist der grundlegendste Datentyp. Er ist im Prinzip ein Punkt mit einer ID-Nummer, einem Breitengrad, einem Längengrad und einigen Tags zur genaueren Beschreibung. Dieser kann für klassische Punktobjekte wie Bäume, Bushaltestellen oder Straßenschilder verwendet werden, dient aber auch als Baustein für ways und relations.

/img/osm_overview/node_bus_stop.png

Ein Node

Ein way ist eine geordnete Liste von nodes, der auch eine ID-Nummer und einige Tags hat. Interessanterweise speichert ein way nicht die Geometrie selbst, sondern verweist auf nodes, die wiederum die räumlichen Informationen enthalten. ways werden tyischerweise für linienförmige Objekte wie Straßen, Flüsse oder Eisenbahnschienen verwendet. Es können aber auch einfache Polygone (ohne Löcher) damit beschrieben werden z.B. Gebäude, Seen oder Parks.

/img/osm_overview/way_bus_street.png

Ein Way

Eine relation ist eine Sammlung von nodes, ways und anderen relations. Dieser Datentyp wird für eher komplexe Objekte verwendet. Ein häufiger Anwendungsfall sind Polygone mit Löchern. Eine solche relation besteht aus einem geschlossenen way als äußere Grenze und mehreren geschlossen ways als innere Löcher.

/img/osm_overview/relation_bus.png

Eine Relation

Eine Buslinie ist ein komplexeres Beispiel für eine relation. Diese enthält die Straßensegmente auf denen der Bus fährt und die entsprechenden Bushaltestellen. relations sind auch notwendig, um die Abbiegungsvorschriften zu definieren. Dies sind Regeln wie z.B. Autos an Kreuzungen abbiegen dürfen.

Tags

Die zuvor beschriebenen Datentypen können eine beliebige Anzahl von Tags (Schlagworte) enthalten. Dies sind im Grunde Schlüssel-Wert-Paare (key-value-pairs). Sowohl Schlüssel als auch Wert sind ein einfacher Text, der die Eigenschaft des Objekts beschreibt. Das OpenStreetMap-Wiki definiert, wie diese Tags verwendet werden sollen.

/img/osm_overview/osm_tag_drawing.png

OSM Tags

Im Gegensatz zu geschlossenen Anbietern von Geodaten, gibt es bei OSM keine zentrale Instanz, die die Tags definiert. Jede_r Benutzer_in kann neue Tags erstellen. Es kommt auch vor, dass es für denselben Objekttyp konkurrierende Tagging-Regeln gibt die zusätzlich von Region zu Region variieren können. Deswegen müssen OSM-Daten immer im jeweiligen Kontenxt gesehen werden. Das erscheint auf den ersten Blick kompliziert, ist aber notwendig um sicherzustellen dass die Tagging-Regeln sich dynamisch an die reale Welt anpassen können.

Bearbeitung

Jede_r User_in kann OSM-Daten bearbeiten. Alle Änderungen werden direkt in die zentrale Datenbank übernommen. Dies wirft natürlich die Fragen auf: “Was passiert, wenn jemand falsche Sachen einträgt?”. Die Antwort: In OSM funktioniert es ähnlich wie bei Wikipedia: Es gibt eine große Community, die die Daten überprüft und bei Bedarf korrigiert.

Für die Bearbeitung der Daten stehen eine Reihe von Werkzeugen zu Verfügung. Diese reichen von sehr einfachen Tools bis zu fortgeschrittenen Power-User-Programmen:

/img/osm_overview/JOSM.png

Die Desktop-Anwendung JOSM

Das leistungsfähigste Programm ist JOSM. Es ist eine Desktop-Anwendung und kann für jedgliche Art der Bearbeitung verwendet werden. Es dauert allerdings etwas bis man sich eingearbeitet hat. Es ist in Java geschrieben und verfügt über verschiedene Plugins für alle erdenklichen Zwecke.

/img/osm_overview/iD_editor.png

iD Editor - ein Web-basierter Editor

Der iD Editor läuft im Browser und bietet viele Funktionen. Im Gegensatz zu JOSM ist er relativ leicht zu erlernen. Er ist das ideale Werkzeug, wenn man “schnell” kleine Änderung an OSM vornehmen möchten. Er ist auch der Standard-Editor, wenn man auf der offiziellen OSM-Website auf “Bearbeiten” klickt.

/img/osm_overview/vespucci_osmtracker.png

Vespucci und StreetComplete

Das “Schweizer Taschenmesser” für mobiles Mappen ist Vespucci. Es hat viele Funktionen, aber es dauert einige Zeit, um es zu lernen. Die App OSMTracker bearbeitet OSM-Daten nicht direkt, sondern erfasst nur Notizen, Fotos und Audionachrichten auf. Diese können in JOSM angezeigt werden (siehe Abbildung oben) und unterstützen bei der Bearbeitung der eigentlichen Daten.

Die App StreetComplete verwendet einen Gamification-Ansatz zur Bearbeitung. Die App öffnet direkt eine Karte mit dem aktuellen Standort des Benutzers und zeigt Markierungen mit Aufgaben an. Dies sind zumeist einfache Fragen wie “Ist dies eine Einbahnstraße?” Oder “Wie sind die Öffnungszeiten dieses Geschäfts?”.

/img/osm_overview/streetcomplete_together.png

StreetComplete. Bildqulle: https://github.com/westnordost/StreetComplete

Darstellung

Im Gegensatz zu kommerziellen Kartenanbietern bietet das OpenStreetMap-Ökosystem zahlreiche Möglichkeiten wie die Daten dargestellt werden können. OpenStreetMap Carto ist der Standardstil der openstreetmap.org-Website. Er zeigt die wichtigsten Eigenschaften der OpenStreetMap-Daten wie Hausnummern oder Straßentypen. Es können jedoch nicht alle Eigenschaften angezeigt werden. Beispielsweise enthalten viele Gebäude in OSM Informationen zur Anzahl der Etagen. Jedoch wird diese Information nicht auf der Karte angezeigt. Daher ist es wichtig zu wissen, dass auf jeder Karte nur ein Teil der Daten dargestellt werden. Es gibt viele verschiedene Kartenanbieter wie Mapbox, Thunderforest, Omniscale, CARTO, OpenMapTiles, Stamen oder OpenTopoMap. Es gibt also für jeden Zweck einen Kartenstil. Viele dieser Kartenstile können kostenlos in eine Webanwendung oder ein Desktop-GIS (QGIS usw.) eingefügt werden.

/img/osm_overview/maps_me_osmand.png

Maps.me und OsmAnd

Für Android gibt es zwei Apps, die zur Anzeige von OSM-Daten verwendet werden können:Maps.me und OsmAnd. Diese sind sehr ähnlich: Beide können OSM-Daten für die Offline-Verwendung herunterladen. Außerdem können beide offline Routen berechnen. Im Allgemeinen finde ich Maps.me etwas benutzerfreundlicher, während OsmAnd fortgeschrittenere Funktionen wie verschiedene Kartenstile oder das Anzeigen von GPS-Tracks bietet.

Lizenz

OSM-Daten sind unter der Open Database License (ODbL) lizenziert. Eine wichtige Eigenschaft dieser Lizenz ist, dass das Vermischen von OSM-Daten mit anderen Daten nur zulässig ist, wenn auch die anderen Daten offen verfügbar sind. Ein kommerzieller Kartenanbieter kann daher keine OSM-Daten in seine eigene geschlossene Datenbank aufnehmen.

Wenn man OSM-Daten in seinen eigenen Karten oder Anwendungen benutzt muss man dies entsprechend kennzeichnen. Die offizielle OSM website empfiehlt, OSM-Daten mit “© OpenStreetMap-Mitwirkenden” zu attributieren.