OpenStreetMap - Die freie Weltkarte

Posted on 08.06.2010

Im Rahmen unserer “Fridolin Online”-Artikelserie stellen wir euch diesmal OpenStreetMap vor.

Als Google im Jahr 2005 seinen Kartendienst Google Maps gestartet hatte, war die Internet Community begeistert. Weniger weil es endlich ein angenehm zu bedienendes Kartenportal im Internet gab. Das Besondere war die öffentliche API, mit der Google Maps auf eigenen Webseiten eingebunden und verschiedene Informationen darauf angezeigt werden konnten.

Eine der Stärken des Internets ist, dass es neue Arten von Kooperation ermöglicht. Ein gutes Beispiel ist die Free Software / Open Source Bewegung, bei der tausende Menschen an Programmen und Betriebssystemen arbeiten. Die Wikipedia ist ein weiteres gutes Beispiel, da hier auch Menschen mitarbeiten können, die technisch weniger versiert sind.

Im Jahr 2004, also noch ein Jahr bevor Google Maps gestartet wurde, gründeten ein paar britische Studierende ein Projekt namens OpenStreetMap (kurz OSM). Ihr Problem war, dass sie geographische Daten ihrer Universität vom Vermessungsamt Ordnance Survey benötigt hätten, sich den Kauf dieser Daten aber aufgrund hoher Lizenzgebühren nicht leisten konnten. Und das obwohl diese Einrichtung natürlich mit Steuergeldern finanziert wurden. Die Lösung dieses Problems war, dass sie die Daten mit Hilfe von GPS-Geräten selbst sammelten und die Datenbank gleichzeitig veröffentlichten.

Auf den Aufruf zur Mitarbeit haben viele Leute skeptisch reagiert und meinten, dass das nie funktionieren würde: Der Aufwand sei zu groß, die Daten niemals genau genug und was sei mit Leuten, die Blödsinn eintragen?

Nun, inzwischen sind ein paar Jahre vergangen, und das Projekt hat sich gut etabliert. Mitte April 2010 hat sich die 250.000ste Person registriert. Rund um die OpenStreetMap ist ein riesiges Ökosystem von Anwendungen für alle denkbaren Zwecke entstanden: Editoren um die Daten einzutragen, Erweiterungen für Datenbanken für geographische Daten, Renderer um die Daten darzustellen, Daten-Konsistenz-Checker, Fehlerverwaltungsprogramme, Applikationen für Smart Phones und Routings-Software.

Obwohl der Name OpenStreetMap glauben lassen könnte, dass es sich dabei nur um eine Straßenkarte handelt, umfasst es doch wesentlich mehr. Die OSM verwendet ein simples Tagging-System um geographische Objekte zu beschreiben. Wenn ein neuer Zweck benötigt wird, können entsprechende Tags einfach erfunden werden. Es gibt ein Wiki in dem ausufernde Diskussionen zu diesem Thema geführt werden.

So gibt es, neben Straßenkarten, auch Karten mit Rad- und Schirouten, Seekarten, Karten für den öffentlichen Verkehr und besonders wichtig für InformatikerInnen: Die Club-Mate-Ka’te.

Und wie funktioniert das Editieren in der OpenStreetMap? Wie schon vorher beschrieben, gibt es verschiedene Editoren. Besonders puritanische InformatikerInnen können natürlich die darunterliegende HTTP-API verwenden, um direkt in der Datenbank herumzuschrauben ;)

Am Anfang probieren die meisten Neulinge vermutlich Potlatch, ein Flash-Programm, das sich auf der OpenStreetMap-Homepage unter dem “Edit”-Link versteckt. Beliebte Alternativen sind JOSM, eine Java-Applikation oder Merkaartor, eine Qt-Anwendung. Im OSM-Wiki gibt es einen Vergleich verschiedener Applikationen.

Um in der OSM editieren zu können, sollte mensch die grundlegenden Datentypen verstehen. Diese sind möglichst einfach gehalten: Punkte, Wege und Relationen. Punkte haben eine Koordinate (in UTM, dem Referenzierungssytem von GPS) und Tags. Ein Weg ist ein gerichteter Graph, welcher selbst Tags besitzt und aus Punkten besteht. Wenn ein Weg geschlossen ist, kann es sich um ein Polygon handeln (das ist allerdings von den Tags abhängig, also Interpretationssache).

Was sind nun diese Tags? Diese stellen immer Key/Value-Paare dar (geschrieben key=value). Der Key “name” beschreibt immer den Typ eines Objektes. Der Key “highway” zum Beispiel, macht das Objekt zu einem Straßenobjekt. Der Wert (Value) beschreibt das Objekt näher: “highway=motorway” ist eine Autobahn, “highway=residential” eine Straße in einer Wohngegend, “oneway=yes” macht das Objekt zu einer Einbahn, “amenity=toilets” beschreibt eine (öffentliche) Toilette. Im OSM-Wiki gibt es eine ausführliche Liste zu üblichen Tags.

Die aufwändigste Datenstruktur ist dann die Relation, mit der verschiedene Objekte in Beziehung gesetzt werden können. Ein Beispiel sind Abbiegebeschränkungen, bei der festgelegt wird, dass von einer bestimmten Straße, nicht auf eine andere Straße abgebogen werden kann. Auch Bus- und Straßenbahnlinien sind Relationen, die Sammlungen von Straßen und Haltestellen darstellen. Relationen haben natürlich wiederum Tags, die das Objekt beschreiben.

Wo kommen nun die Daten her? Eine der Hauptquellen sind GPS-Geräte, die Bewegungen mitloggen. Nach diesen Linien können Straßen ganz gut gezeichnet werden. Sind die Straßen schon da (das ist in Österreich meistens der Fall), kann die Position von Einrichtungen ganz gut geschätzt werden. Hausnummern und Geschäfte müssen nicht auf den Meter genau eingetragen werden, wichtig ist, in welcher Relation sich geographische Objekte zueinander befinden.

Eine weitere Quelle sind Luftaufnahmen, die abgezeichnet werden können, z.B. von Yahoo und öffentlichen Vermessungsämtern. Dafür gibt es für die meisten Editoren Plugins. Die österreichischen Vermessungsämter arbeiten derzeit an einer Veröffentlichung für OSM. Die Google Satellitenbilder sind leider keine mögliche Quelle, da diese nicht unter einer kompatiblen Lizenz freigegeben wurden.

Schlussendlich wurden auch andere freie Datenbanken angezapft, z.B. in den USA oder den Niederlanden. In Österreich hat ein Kartenportal namens plan.at seine Daten gespendet, was leider zu Unmut geführt hat, da diese Daten zu großen Teilen veraltet und ungenau waren. Außerdem waren dann in vielen Gegenden Österreichs Straßen doppelt vorhanden. Bis diese Fehler ausgemerzt sind, wird wohl noch einige Zeit vergehen. Dafür hat die OpenStreetMap nun auch in ländlichen Gegenden eine ganz gute Abdeckung.

Soviel zu einer ersten Einführung in die große OSM-Welt. Dieser Artikel soll der Anfang einer Kolumne sein, in der ich über verschiedene Aspekte von OSM berichten will. Hängt nur davon ab, wie oft der Fridolin in Zukunft erscheint :)