Heute gebe ich eine kleine Einführung für Anfänger und Interessierte in die Verwendung von JOSM, einem auf Java basierendem Editor für das OpenStreetMap-Projekt. OpenStreetMap, die freie »Weltkarte« erfreut sich seit Jahren vermehrter Beliebtheit, haben doch auch Laien die Möglichkeit, auf einfache Weise neue Daten hinzuzufügen. Mit Sicherheit gibt es eine ganze Menge »Hobby-Kartographen«, die ihre im Urlaub oder der Freizeit gesammelten Daten über besondere Sehenswürdigkeiten, bislang nicht verzeichnete Wanderwege oder einen Detailplan ihrer näheren Wohn-Umgebung im Gedanken freien Wissens auf das Projekt hochladen.
Ich selbst bevorzuge OpenStreetMap vor anderen Kartenanbietern (Bing Maps, Google Maps), da die Karten eine unerreichte Detailgenauigkeit besitzen – kein Wunder, wenn tausende Menschen daran arbeiten und Daten hinzufügen! Das Kartenmaterial ist übrigens auch recht einfach in ein GIS-Projekt integrierbar, z.B. mittels des speziellen OSM-Plugins für QuantumGIS. Auf diese Weise spart man sich das aufwendige Nachzeichnen von Straßenzügen und Waldflächen, beispielsweise beim Erstellen einer geologischen Karte – wie das geht, habe ich in diesem Workshop beschrieben.
Falls einer der OSM-Editoren dieses Tutorial lesen sollte: Ich habe für diese kleine Vorführung keinerlei Daten am OSM-Projekt leichtfertig verändert, alles ist wie vorher! ;)
Nun aber zum Thema: Es gibt eine ganze Menge Editoren für OpenStreetMap (das ich im Weiteren mit OSM abkürzen werde), sogar welche, die direkt über die OSM-Website aufgerufen werden können, Login genügt. Persönlich arbeite ich lieber mit Offline-Editoren und lade anschließend alle Veränderungen mit einmal auf den OSM-Server. Von den vielen Offline-Editoren wiederum bietet JOSM für meine Vorlieben die umfangreichste Benutzeroberfläche und einfachste Bedienbarkeit.
Wer dem OpenStreetMap mit eigenen Informationen helfen will, sollte sich zunächst ein Konto anlegen. Mehr als E-Mail-Adresse, Benutzername und Kennwort sind nicht notwendig. Und schon kann es losgehen.
In diesem Beispiel-Tutorial werden wir der bestehenden Karte einige Inseln und ein paar Straßenzüge hinzufügen.
Zunächst wird der JOSM-Editor heruntergeladen. Für beispielsweise Ubuntu-Derivate steht eine Version von JOSM in den Paketquellen bereit, Windows-Benutzer installieren sich JOSM entsprechend mittels des Installers auf der gleichen Seite. Ich nutze hier das aktuellste JOSM direkt von der Website, weil JOSM aus den (X)Ubuntu-Paketquellen meist etwas veraltet ist. Wer wie ich arbeitet, downloadet die Datei josm-tested.jar und startet ein Terminal im Download-Verzeichnis. Der Befehl
java -jar josm-tested.jar
startet die JOSM-Editor-Oberfläche.
Der Download vom OSM-Server geschieht über den 3. Button von links in der Werkzeug-Leiste (Bild) oder über »Datei | Vom OSM-Server herunterladen«. Ein Mini-Ausschnitt der OSM-Karte wird angezeigt. Mittels Mausrad zoomen wir auf der Karte hinein oder heraus, mit gedrückter rechter Maustaste läßt sich die Kartenansicht verschieben (das funktioniert genauso später auf der richtigen Editor-Oberfläche). Auf diese Weise wechseln wir so in das Gebiet, das wir zu bearbeiten gedenken. Ich wähle dafür beispielsweise ein Gebiet an Schwedens Nordwest-Küste (Bild).
Mit gedrückter linker Maustaste wird nun ein halbtransparenter, rosa-farbener Rahmen gezogen, der dem Gebiet des Daten-Downloads entspricht. Dieser Rahmen darf nicht zu groß sein, sonst verweigert der OSM-Server seine Arbeit. Es geht also nicht, daß man »ganz Schweden« auf seinen Rechner herunterlädt, sondern immer nur ein Gebiet von z.B. 10 x 10 km. Mehr editieren wird sowieso niemand mit einem Mal (stellt man bei der Bearbeitung fest, daß man noch etwas mehr im Randbereich benötigt, kann man diesen Streifen nachträglich downloaden).
Bevor man den Herunterladen-Button drückt, sollte man UNBEDINGT einen Haken bei »GPS-Rohdaten« setzen (Bild). Der Sinn davon wird im Folgenden erklärt.
Nach einem kurzen Moment sieht man die Karten-Daten im OSM-Editor. Allerdings… – sieht das ganze etwa so aus, als würde man in einer CAD-Anwendung arbeiten ;) (man sieht nur die Rohdaten ohne Hintergrundebene) (nächstes Bild).
Nun sollte noch eine Luftbild-Aufnahme als Hintergrund-Layer geladen werden. Schließlich braucht man etwas zur Orientierung! Dazu unter dem Menü-Punkt Hintergrund eine der Möglichkeiten auswählen. »Bing Maps« bietet meistens die beste Auflösung, ich empfehle dies (nächstes Bild). Anschließend sollte man eine bunte Satellitenkarte sehen, auf der die OSM-Rohdaten liegen.
BEVOR MAN MIT EDITIEREN ANFÄNGT kommt das wichtigste: Das Satelliten-Foto muß ggf. etwas verschoben werden, bis die OSM-Daten zur Topologie des Satellitenbildes passen! Möglicherweise wird man sich beim ersten Anschauen wundern, daß einige OSM-Straßen und -Wege, Küstenlinien und anderes nicht perfekt zu den Umrissen und Verläufen der Straßen, Wege und Küstenlinien des Satellitenbildes passen und offensichtlich um einige Zehner Meter versetzt sind. Das kann sein, muß aber nicht. Dieser Versatz kommt durch Verzerrungen beim Projizieren bzw. Verschneiden und Verbinden einzelner Satellitenaufnahmen. Verzerrungen (und damit Versätze) werden daher mit höherer geographischer Breite größer. Die einzige Möglichkeit zur Korrektur dieses Versatzes besteht darin, das Satellitenbild an den GPS-Rohdaten auszurichten (deswegen wurden jene im Download-Dialog gleich mit ausgewählt).
GPS-Rohdaten sind im Editor als sehr dünne graue Linien sichtbar (nächstes Bild) und entsprechen den von OSM-Hobby-Kartographen per GPS-Gerät aufgenommenen Pfaden. Das kann ein GPS-Gerät sein, das während der Wanderung am Rucksack baumelt oder ein GPS, das hinter der Windschutzscheibe liegt, wenn man über Straßen fährt. Die dabei aufgenommenen Daten können später per Computerverbindung auf den OSM-Server hochgeladen werden: Je mehr, desto besser! Schließlich helfen diese Daten der exakten Ausrichtung der Satellitenkarten. Diese GPS-Daten sind – sofern überhaupt vorhanden – entlang der großen Straßen zu finden, können aber auch ganz fehlen. In einem solchen Fall kann man nichts weiter tun, als die vorhandenen eingezeichneten Straßen am Luftbild auszurichten.
Wenn wie im vorherigen Bild die GPS-Rohdaten gegen das darunterliegende Luftbild versetzt sind, kann man das Luftbild mit gedrückter linker Maustaste »greifen« und soweit versetzen, bis es zu den OSM-Daten paßt. Erst wenn diese Ausrichtung erfolgt ist (nächstes Bild), kann man mit dem eigentlichen Editieren beginnen.
Die meisten Inseln und andere topographischen Objekte in OSM wurden automatisch durch einen Algorithmus erzeugt, der Satellitenbilder »durchscannt« und anhand von Umrissen und anderen hohen Kontrasten Objekte automatisch festlegt. Leider ist dieser Algorithmus nicht sehr genau: ovale Inseln werden oft nur mit einem Rechteck erfaßt, komplexe Küstenlinien sind mit vier Kurven gezeichnet (nächstes Bild).
Genau da kommt der Mensch ins Spiel, und muß die Daten etwas »nachbearbeiten«. Der Algorithmus erkennt auch nicht jede winzige Insel (zu schwacher Kontrast zwischen Meerwasser und Insel), sodaß man eine auf dem Satellitenbild erkannte, aber noch nicht eingezeichnete Insel eintragen kann.
Dazu möglichst weit auf die neue Insel heranzoomen und über das Werkzeug »Punkte setzen« (Tastenkürzel »A«) die Insel umklicken, bis die Kurve wieder geschlossen wird. Doch Achtung! Bei Inseln kommt es auf die Richtung an! Eine Insel wird im Uhrzeigersinn geklickt! (Wasser ist immer rechts der Linie, das Land liegt links). Küstenlinien zeichnet man genau anders herum. Über Anfassen der Knoten des Polygons kann die Form weiter verändert werden. Das Plus zwischen zwei Knoten fügt einen neuen Knoten hinzu (nächstes Bild).
Ist man mit der Form zufrieden, muß das Objekt »getaggt« werden. Dabei werden dem Polygon Attribute zugewiesen, die es identifizieren und nach OSM-Vorgaben farblich formatieren. Sollte das Eigenschaften-Fenster noch nicht eingeblendet sein (Standard ist am rechten Bildrand), kann man das über »Fenster | Eigenschaften» nachholen. Selbstverständlich muß das zu »taggende« Objekt angewählt sein! Über den Hinzufügen-Button werden neue Attribute zugewiesen, die immer 2-teilig sind, und zwar Schlüssel und Wert. Für Inseln werden die Attribute
natural=coastline
place=island
zugewiesen. Wer den Namen der Insel kennt, kann mit
name=Was-auch-immer
eine Bezeichnung der Insel ergänzen (nächstes Bild). Das name-Attribut kann auf jedes beliebige Objekt im OSM-Universum angewendet werden (Gebäude, Landstriche, Seen, Straßen…). Bei Inseln sollte überlegt werden, ob es sich wirklich um eine Insel handelt, oder nur einen winzigen Felsen im Meer. In diesem Fall wäre statt place=island ein place=islet angebrachter. Näheres dazu steht hier.
Damit ist die Insel fertig. Wer eine Insel entdeckt, die vom Algorithmus mit einem Quadrat versehen wurde, aber eigentlich einen komplizierteren Verlauf hat, kann die Umrisse wie oben beschrieben nachträglich korrigieren.
In manchen abgelegenen Gebieten sind noch längst nicht alle Straßen und vor allem die Nebenstraßen und Wege (die auf den Luftbildern durchaus sichtbar sind!) eingezeichnet. Ich gehe davon aus, daß man nun eine auf einem Luftbild sichtbare Landstraße nachträglich einzeichnen will.
Wieder kommt das Punkte-Setzen-Tool zum Einsatz. Der neue Weg/Pfad/Straße geht meistens von einer anderen Straße aus los. Dazu die Maus über diese vorhandene Straße führen und man wird feststellen, daß ein magnetischer Snap angeboten wird. Von dort ausgehend kann man die neue Straße nun mit Mausklicks nachzeichnen, bis man auf eine andere Straße trifft oder sie im Nichts endet (eine solche Linie kann mit einem Doppelklick abgeschlossen werden) (nächstes Bild).
Und nun braucht dieser neue Knotenpfad natürlich auch irgendwelche Attribute. Aber ist es eine Landstraße? Eine Hauptstraße? Ein Wanderweg oder nur ein asphaltierter Fußweg? OSM bietet dazu vielfältige Auswahlmöglichkeiten:
Wie auch schon beim Thema island/islet sollte man sich vorher informieren, was man eigentlich zeichnen will. Dazu ist der richtige Anlaufpunkt die Map-Feature-Liste im OSM-Wiki.
In der Kategorie highways findet man eine Reihe von möglichen Straßen/Weg-Typen, aus denen man wählen kann. Schlüssel, Wert und Beschreibung sind gleich mit angegeben. In diesem Fall wähle ich highway=track. Wer ganz verrückt ist, kann auch noch die Oberflächenbeschaffenheit angeben (Asphalt, kiesig, Matsch…)
Damit ist auch die Straße fertig. Hat man das Attribut zugewiesen, wird die Straße entsprechend formatiert.
Ich würde jedem Anfänger einfach mal empfehlen, die Map-Feature-Liste durchzublättern – einfach um zu sehen, was alles machbar ist und eingezeichnet werden kann. Das Eintragen läuft dann immer gleich ab: Polygon, Linie oder Punkt setzen und anschließend Attribute zuweisen. Bei einem Gebäude wird ein Viereck geklickt und z.B. das Attribut building=house zugewiesen. Bei einem See weist man natural=water zu, bei einem Waldstück ist es natural=wood. Je nach Attributkategorie erhalten die Polygone automatisch eine Füllfarbe oder -textur.
Ist man mit seiner Arbeit zufrieden, kann man sie auf den OSM-Server wieder hochladen. Dazu wird der Upload-Button neben dem Download-Button in der Werkzeug-Leiste benutzt oder »Datei | Daten hochladen«.
Gibt es unverbundene Linien, sich überschneidende oder ohne Attribut versehene Objekte, gibt OSM vor dem Upload eine Warnung aus, die man ignorieren kann oder entsprechende Änderungen vornimmt. Im nächsten Fenster erscheint eine Zusammenfassung der Änderungen (Anzahl der veränderten Objekte, neu gesetzten Knoten usw.) In das Kommentar-Feld sollte man unbedingt eine kleine Notiz hinterlassen, z.B. »improved coastlines« oder »add buildings«. Auf diese Weise können andere OSM-Kartographen nachvollziehen, welche Änderungen vorgenommen worden sind.
Gegebenenfalls wird nun noch der Login-Name und das Kennwort abgefragt, dann alles hochgeladen. Wer nicht immer seine Login-Daten eingeben will, kann sie in den JOSM-Einstellungen im Tab »Verbindungseinstellungen« hinterlegen; sie werden dann automatisch benutzt.
Das beinhaltet das mutwillige Löschen oder sinnfreie Verändern vorhandener Daten. Theoretisch ist es möglich, ganze Dörfer »auszulöschen«, wobei diese Tat bei kleineren Siedlungen vermutlich nur zufällig von anderen entdeckt würde. Das Löschen sehr großer Datenmengen erweckt allerdings Aufmerksamkeit; gelöschte Daten können jederzeit über Backups vom OSM-Projekt wiederhergestellt werden. Wer zu viel Blödsinn anrichtet, wird schließlich vom OSM-Projekt ausgeschlossen.
Ich gehe mal davon aus, daß die Gemeinde der Hobby-Kartographen ohnehin nur aus Leuten besteht, deren daran gelegen ist, die Weltkarte zu erweitern, nicht zu zerstören. Richtig?!
Nicht jede neu hinzugefügte Straße oder Gebäude werden nach Ausloggen aus dem Editor auf OSM sofort sichtbar! Da die Datenmenge des OSM-Projekts so gewaltig ist, wird sie nur alle paar Stunden, Tage oder gar Wochen neu gerendert und auf der offiziellen Website sichtbar gemacht. Sich nicht so häufig ändernde Daten wie Küstenverläufe (und Inseln!) werden für gewöhnlich alle paar Wochen aktualisiert. Neue Straßen und Gebäude werden meist nach kurzer Zeit sichtbar.
Häufig wird OSM-Neulingen empfohlen, nur Daten in ihrer Umgebung zu verändern, d.h. nur Veränderungen in Gebieten vorzunehmen, in denen sie sich auskennen, weil sie dort wohnen. Das ergibt soweit Sinn.
Wer allerdings zufällig auf falsch gesetzte Objekte in anderen Regionen stößt, kann und sollte dies natürlich jederzeit korrigieren. Als Beispiel sah ich mich ein wenig auf einem Luftbild um und entdeckte, daß ein kleiner See an jener Stelle eingezeichnet war, an der im Luftbild nur ein Acker zu erkennen war. Der schon erwähnte automatische Algorithmus hatte ein dunkler schattiertes Gebiet einer Baumgruppe mitten auf dem Feld fälschlicherweise als See erkannt. Natürlich sollte der Phantom-See an dieser Stelle gelöscht werden und wurde es von mir auch (auch wenn ich in der Gegend nicht ansässig bin ;) ).
Viel Spaß beim Editieren!