openplanningtools.net > OSM

Erhebung und Kartografie mit OpenStreetMap

Im Rahmen der Lehrveranstaltung "Offene Werkzeuge in der Raumplanung" im Wintersemester 2010/11 an der TU-Wien wurde dieses Tutorial, in dem die Erstellung von Karten auf Basis der OpenStreetMap, der "freien Wiki-Weltkarte", vorgestellt wird. Entwickelt wurde dieses Tutorial von Helene Steiner, Eva Kolbitsch und Stephan Plepelits.

Was ist die OSM?

Was ist OSM: OSM (open street map) ist ein Projekt „mit dem Ziel, eine freie Weltkarte zu erschaffen.“ (openstreetmap Deutschland online) Die Karten beinhalten alles, was eine „normale“ Karte, wie zum Beispiel Google Maps hat; Straßen, Eisenbahnen, Flüsse, Wälder, Häuser, etc. Diese Daten werden weltweit gesammelt und in einer riesigen Datenbank dokumentiert. Diese werden selbst erhoben und aus explizit freigegeben Karten und Luftbildaufnahmen abgemalt, dadurch gibt es keine rechtlichen Probleme und die Daten sind frei. „. Kein Unternehmen und keine Organisation kann also die Daten einfach unter ihre Kontrolle bringen.“ (openstreetmap.org online) „Die OpenStreetMap-Daten darf jeder lizenzkostenfrei einsetzen und beliebig weiterverarbeiten.“ (openstreetmap Deutschland online) „Aus diesen Daten kann man dann beispielsweise eine Karte erstellen, wie die auf der OSM-Homepage, aber es sind auch ganz andere Anwendungen machbar.“ (openstreetmap.org online)

Wie funktioniert es: Die Karten, bzw. Datenbank, bestehen aus Punkten, Linien und Polygonen (Skelettartig). Den Punkten werden bestimmte Eigenschaften zugewiesen (Straßen, Flüße, etc. werden dadurch definiert). „Anhand dieser Daten wird dann von so genannter Render-Software eine entsprechende bildliche Darstellung erzeugt ("Alle Flüsse blau zeichnen."), die am Bildschirm angezeigt wird.“ (openstreetmap.org online)

Vor- und Nachteile der OSM:

Vorteile

Nachteile

frei zugänglich

Teile der Welt noch nicht dokumentiert

Karte ist selbst editierbar / erweiterbar

Verlässlichkeit der Editierung

Karte ist oft detailreicher (z.B. Fußwege)

spezielle Signaturen fehlen (Hochwasser, Erdbebenwellen, etc.)

Daten können für alle Zwecke frei verwendet werden (müssen jedoch attributiert werden und müssen danach genauso "frei" sein)

Städte sind sehr detailiert, ländlichere Gegenden sehr ungenau

die Programme zum editieren der OSM bereiten kleinere Hürden

Problematik für RaumplanerInnen: Generell ist die OSM für gewisse Dinge vermutlich zu ungenau (z.B.: Siedlungsstruktur, Bevölkerungsdaten etc.). Es kommt auf die Straßendetails an, wenn der Massstab etwas größer dargestellt ist, wäre es kein Problem. Um die Daten zu verknüpfen bekommen RaumplanerInnen immer eine bestimmte Nummer, diese Nummern sind in der OSM nicht vorhanden. Wenn man einen bestimmten "Wert" herausfiltern möchte, könnte das eine mühsame Arbeit werden, da jede Zeile kontrolliert werden müsste. Jedoch, falls irgendwelche Daten falsch sein sollten, kann man diese richtig stellen.

OSM Lizenz

Alle Daten in der OpenStreetMap-Datenbank stehen derzeit unter der Lizenz "Creative Commons Attribution-Share Alike 2.0" (auf Deutsch: "Namensnennung unter gleichen Bedingungen"). Die Lizenz besagt, dass jegliche Art der Nutzung von OSM-Daten, auch gewerblich, zulässig ist; jedes Werk, das aus OSM-Daten abgeleitet ist, muss selbst auch unter der CC-BY-SA-Lizenz stehen, so dass es frei genutzt werden kann.

Die Lizenz und auch die Herkunft der Daten müssen angegeben werden. Jeder darf also zum Beispiel einen Fahrradatlas mit OSM-Karten produzieren und verkaufen – solange er dazu schreibt, dass die Daten von OSM kommen und solange der Fahrradatlas seinerseits die CC-BY-SA-Lizenz hat (das bedeutet wiederum: Jeder darf den Fahrradatlas kopieren oder als Basis für eigene Werke nutzen).

Im letzten Jahr wurde damit angefangen auf die neue Lizenz ODBL (Open Data Base Licence) umzusteigen. Derzeit müssen alle neuen User der OSM der Lizenz zustimmen und bereits bestehende User werden aufgefordert dieser zuzustimmen. Sollten sie dies nicht tun, werden ihre Daten zu einem späteren Zeitpunkt gelöscht. Ab April 2011 dürfen User, die der ODBL Lizenz noch nicht zugestimmt haben, auf der OSM nichts mehr editieren. Der Unterschied zur CC-BY-SA-Lizenz: Das Endresultat muss nicht unter der ODBL Lizenz stehen, jedoch muss die adaptierte Datenbank zur Vefügung stehen.

Wichtigste Map-Features

Grundlegende Datentypen

Objekte in der OpenStreetMap können entweder Punkte, Linien (Sammlungen von Punkten) oder Relationen (Gruppen von Objekte) sein. Außerdem kann jedes Objekt noch sogenannte Tags haben.

Tags beschreiben die Objekte weiter, wobei diese immer aus einem Schlüssel und einem Wert bestehen. Z.B. könnte ein Linie die Tags "name=Wiedner Hauptstraße" und "highway=secondary" haben. Das identifiziert diese Linie als Straße zweiter Wichtigkeit mit dem Namen "Wiedner Hauptstraße".

Punkte (Nodes) werden durch ihre Koordinaten (in WGS-84) verortet und können alle möglichen "Points of Interest" beschreiben, z.B. Geschäfte, Sehenswürdigkeiten.

Linien (Ways) beschreiben linienhafte Objekte, z.B. Straßen. Wenn die Linien geschlossen sind, können diese als Polygone angesehen werden (hängt von den Tags ab) und können alle möglichen Flächen beschreiben, z.B. Gebäude oder Wasserflächen.

Relationen schließlich gruppieren Objekte thematisch zusammen, wobei jedes Objekt eine Rolle zugewiesen bekommen kann. Das wird z.B. für Routen verwendet (eine Straßenbahnlinie ist dann eine Gruppierung aller Straßenzüge auf der sie fährt und ihrer Haltestellen) oder um Abbiegerelationen zu beschreiben (man darf an dieser Kreuzung von dieser Straße (Rolle "from") nicht nach links in die andere Straße einbiegen (Rolle "to")). Die häufigste Verwendung sind Multipolygone, das sind Polygone mit Löchern (z.B. Hof im Gebäude oder Lichtung im Wald).

Map Features

OpenStreetMap lässt prinzipiell alle möglichen Schlüssel und Werte zu. Trotzdem ist es natürlich für die Anwendung der OSM-Daten von Vorteil, wenn Einigkeit darüber herrscht, welche Basiseigenschaften durch welche Datenrepräsentation ausgedrückt werden. Es ist von Vorteil, wenn alle Elemente auf Englisch eingetragen werden, um allen die Möglichkeit zu geben, die Features zu bearbeiten.

Die verschiedenen Bereiche, in die die Themen eingeteilt sind, lauten:

  • Wege
  • Barrieren
  • Fahrradwege
  • Wirtschaftswege
  • Wasserläufe
  • Eisenbahn
  • Flughafen
  • Seilbahnen
  • Energieversorgung
  • Zivilisationsbauten/Kunstbauten
  • Freizeit
  • Nutzung/Einrichtung
  • Amt / Büro / Dienststelle / Geschäftsstelle
  • Geschäfte
  • Handwerk
  • Notfall
  • Tourismus
  • Historisch
  • Landnutzung
  • Militär
  • Natur
  • Geologie

Ein Tag (engl. Etikett) ist eine Beschreibung eines Objektes in der OSM zur Kategorisierung und zur Auszeichnung mit zusätzlichen Information.

Das highway-Tag ist die hauptsächlich genutzte Art und Weise, um Straßen zu kennzeichnen. Es gibt Vereinbarungen über ihre Verwendung in den einzelnen Ländern, die auf der Wiki-OSM Steite beschrieben sind. Unter das Tag "highway" fallen auch die ganzen Wasserwege; Bäche, Flüsse,etc.

Das landuse-Tag wird nicht nur für reine Wohngebiete benutzt. Auch Mischgebiete, in denen sowohl Wohnhäuser als auch kleine Firmen gemischt angesiedelt sind, werden als eine große Fläche erfaßt. Unter dieses Tag fallen auch die Einkaufszentren, die dann als polygon gekennzeichnet werden.

Mit dem Tag leisure werden Orte beschrieben, die Hauptsächlich mit der Gestaltung der Freizeit zusammenhängen.

Mit dem natural-Tag werden natürliche Elemente, wie z.B. Landschaften oder geologische Gegebenheiten, beschrieben.

Beispiel für eine Beschreibung eines Tags:

mapfeatures_bsp.png

Link zu den einzelnen MapFeatures: http://wiki.openstreetmap.org/wiki/DE:Map_Features

Wie kann man Daten in die OSM eintragen?

So wie es nicht eine ideale Anwendung gibt um die OpenStreetMap-Daten anzuschauen, gibt es auch nicht die eine Anwendung um Daten in die OpenStreetMap einzutragen. Die OSM selber bietet nur eine Schnittstelle für Editoren an, um die Daten zu verändern. Hier findet ihr eine Übersicht über verschiedene Editoren. Da wir den Rahmen dieses Tutorials nicht sprengen wollen, werden wir uns nur auf einen einzigen Editor beschränken, den JOSM (Java OSM-Editor).

Dazu muss zuerst das Paket openjdk-6-jre installiert werden, das Java, eine plattformübergreifende Programmierumgebung, beinhaltet. (Am besten über System -> Systemverwaltung -> Synaptic-Paketverwaltung). Die aktuellste JOSM-Version kann über folgenden Link heruntergeladen werden: http://josm.openstreetmap.de/josm-latest.jar

Zum starten Alt-F2 drücken und "java -jar Downloads/josm-latest.jar" eingeben. Eventuell muss der Pfad daran angepasst werden, wohin JOSM runtergeladen wurde. Warum jar-Dateien nicht automatisch bei Doppelklick gestartet werden, ist mir ein Rätsel.

Eine Editier-Sitzung beginnen

Bevor wir mit dem editieren beginnen, müssen wir uns erst ein Gebiet herunterladen, das bearbeitet werden soll. Dazu klicken wir auf das Symbol mit der Festplatte und dem Pfeil nach unten. Auf dem Reiter "Slippy Map" können wir mit rechts-klick-und-ziehen den Ausschnitt verschieben und dem Mausrad zoomen, mit links-klick-und-ziehen ein Gebiet auswählen. Das Gebiet sollte nicht zu groß gewählt werden, da dies sonst einige Zeit dauern kann (und die OSM-Server überforden).

attachment:JOSM-gebietrunterladen.png

Für viele Bearbeitungs-Zwecke können die heruntergeladenen Daten bereits ausreichend sein um Objekte georeferenzieren zu können, z.B. wenn die Straßen bereits eingetragen sind, und nur Geschäfte eingetragen werden sollen. Die ungefähre Position abhängig vom Straßennetz kann normalerweise geschätzt werden. Für andere Objekte, z.B. Straßen oder Stromleitungen, müssen noch weitere Datenquellen hinzugefügt werden, zum Beispiel GPS-Tracks oder Luftbildaufnahmen. Dazu später mehr.

Orientierung

In dem nächsten Bild haben wir uns ein Teil des Stadtgebietes von Krems an der Donau runtergeladen. Ausserdem haben wir einen GPS-Track geladen (krems-day1.gpx, siehe nachher auch bei Datenquellen), der in Orange als dünne Linie angezeigt wird.

attachment:JOSM-screenshot2.png

Auf der linken Seite finden sich die wichtigsten Tools, zum Beispiel um Objekte zu selektieren, hinzuzufügen oder zu löschen. In der Symbolleiste oben können neue Daten dazugeladen werden, die Änderungen gespeichert werden. Ausserdem finden sich die wichtigsten Presets (mehr gibt es im Presets-Menü). Auf der rechten Seite schliesslich finden sich verschiedene Informationen zum aktuellen Status: Welche Layer sind geladen, welche Daten wurden bereits geändert, welches Objekt ist selektiert. Und besonders wichtig: Welche Tags hat das aktuell selektierte Objekt.

Als Inhalt sehen wir ein Gebiet im Stadtzentrum von Krems. Ein Objekt ist ausgewählt, welches mit dickem rotem Rahmen dargestellt wird. Wie wir an den Tags rechts im Bild erkennen können, handelt es sich um einen Park (leisure=park) mit dem Namen Stadtpark. Außerdem erfahren wir, dass die Quelle (source) "plan.at 2009" ist.

Datenquellen

GPS-Tracks

Wenn man ein Gebiet erfasst, das noch kaum in der OpenStreetMap kartiert ("gemappt") ist, dann sind GPS-Tracks eine gute Quelle. Man läuft einfach durch die Gegend, lässt das GPS eingeschalten und macht sich Notizen wo man was gesehen hat. Um die Notizen geographisch zu verorten können Wegpunkte gesetzt werden, die bekommen dann fortlaufende Nummern. So ein GPS-Track kann aber nicht direkt in die Karte übernommen werden, da GPS-Tracks meist eher Zick-Zack verlaufen und manche Wege mehrmals abgegangen werden (müssen). Darum werden diese abgezeichnet. Hier ein Beispiel für einen GPS-Track von unserem P2 in Krems: krems-day1.gpx

Im Screenshot oben ist der GPS-Track in orange eingezeichnet. Was ganz praktisch sein kann: Unter Edit -> Preferences -> Display Settings -> GPS Points kann man einstellen, dass die Farbe des GPS-Tracks der Geschwindigkeit angepasst werden soll. Dann kann man gut erkennen, wo man zu Fuß unterwegs war, bzw. wo mit dem Auto.

Eine andere Quelle für GPS-Tracks ist die OpenStreetMap selber, dort kann man GPS-Tracks raufladen und sie damit anderen Leuten zur Verfügung stellen - auf Wunsch auch anonymisiert. Diese GPS-Tracks bekommt man, wenn man die Option "Raw GPS Data" beim "Daten herunterladen Dialog" aktiviert.

Luftbildaufnahmen

JOSM kann als Hintergrund Luftbildaufnahmen darstellen. Lange Zeit waren die Yahoo Luftbildaufnahmen hierzulande die Einzigen die benutzt werden konnten (bzw. durften), die waren aber oft veraltet und nur in dicht besiedelten Gebieten gut aufgelöst. Im Herbst 2010 hat dann geoimage.at, die für die amtlichen Luftbildaufnahmen Österreichs zuständig sind, flächendeckend für ganz Österreich Luftbilder zur Verfügung gestellt. Im Dezember 2010 hat dann schließlich noch Bing Maps, der Kartenservice von Microsoft, die Erlaubnis gegeben, ihre Luftbildaufnahmen abzuzeichnen. Wenn auch die Bing Maps Bilder die schönsten sind, kann davon ausgegangen werden, dass die geoimage.at Bilder die Korrektesten sind.

Um diese verwenden zu können, muss man das Imagery-Plugin konfigurieren. Im Menü Bearbeiten -> Einstellungen den Reiter "WMS/TMS" auswählen. Dort am zweiten Reiter "Einstellungen" als Herunterladeprogramm "gnome-web-photo" (das Paket "gnome-web-photo" muss zuerst installiert werden) auswählen. Am ersten Reiter "Bilddienste" sollten "Bing Sat" und "Yahoo Sat" bereits in der oberen Liste stehen. In der unteren Liste "Geoimage.at" auswählen und auf "Ausgewählte Standardwerte kopieren" klicken.

Nach "Ok" können diese Luftbildaufnahmen dann unter dem Menüpunkt Hintergrund geladen werden. Sollten diese ein wenig verschoben sein, dann können sie über Hintergrund -> Hintergrund-Versatz verschoben werden. Am besten sollten die natürlich nach den GPS-Tracks ausgerichtet werden.

Editieren

Man kann sich ruhig mal austoben, die Änderungen werden nicht gespeichert, wenn man nicht auf "Upload changes" (4. Button oben) drückt.

Wir klicken also auf "Hinzufügen" bzw. "Draw Nodes", und ziehen die Umrisse eines Objektes nach. Beim Erstellen von Objekten ist das "Presets" Menü praktisch. Nach dem Erstellen des geometrischen Objektes (also entweder Punkt, Linie oder Polygon) klickt man auf Presets und wählt dort die richtige Vorlage aus. Dort wird man dann auch gleich nach Name oder diversen Untertypen gefragt. Wenn man die Tags aber eh schon weiß, oder noch mehr Tags hinzufügen möchte (z.B. einen Quellennachweis), dann kann man das auf der rechten Seite tun.

attachment:JOSM-editieren.png

Wenn von Luftbildaufnahmen abgezeichnet wird, sollte immer ein Quellennachweis angegeben werden. Üblich ist für geoimage "source=geoimage.at", Bing Maps "source=Bing" oder "source=yahoo" für Yahoo! Bilder.

Änderungen raufladen

Beim raufladen der Änderungen sollte man auf alle Fälle kurz beschreiben, was man hier geändert hat. Außerdem wird dies nach diesem Tutorial scheitern, da wir uns zuerst auf der OSM-Homepage einen Account besorgen müssen und die Zugangsdaten beim Speichern angeben müssen. Aber das schafft ihr hoffentlich auch ohne Anleitung dazu :)

Wie kann man Daten aus der OSM runterladen

Die OpenStreetMap ist nicht nur deshalb so mächtig und beliebt, weil jedermensch in die OpenStreetMap eintragen kann, was sie/er für wichtig erachtet, sondern auch, weil man sich die Daten herunterladen und für seine eigenen Zwecke verwenden kann.

Leider klingt das einfacher als es ist, aufgrund der großen Datenmenge und der komplexen Datenstruktur kann man sich nicht "einfach so" mal ein Gebiet in der Größe Niederösterreichs runterladen. Das nächste Problem ist, dass man für das Weiterverarbeiten von großen Gebieten auch einen ganz schön leistungsstarken Computer benötigt.

In diesem Kapitel möchten wir uns kurz mit den wichtigsten Datenquellen für OSM-Daten beschäftigen.

OpenStreetMap-Homepage

Die wohl einfachste Methode: Auf der OSM-Homepage kann man einfach auf den Export-Tab klicken und als Format "OpenStreetMap XML Data" auswählen. Hier kann man auch fertig gezeichnete Karten in verschiedenen Formaten herunterladen oder die Karte in eine andere Webseite einbauen. Wenn man möchte kann man das herunterzuladende Gebiet noch händisch eingrenzen, und los geht's :)

attachment:osm-export.png

Problem: Das geht nur für relativ kleine Gebiete, da das für den Server sehr aufwendig ist. Ganz Wien ist dafür leider schon zu groß.

Die "Planet"-Datei

Das andere Extrem: Jede Woche wird die OpenStreetMap als sogenannte "Planet"-Datei gespeichert und auf einer eigenen Webseite zur Verfügung gestellt (dort die Datei planet-latest.osm.bz2 suchen). Das ist allerdings für die meisten Anwendungen sehr unpraktikabel, die aktuell neueste Datei hat immerhin 14 Gigabyte - in komprimierten Zustand. Im entpackten Zustand hat so eine Datei um die 200 Gigabyte. Ich hab mal so eine Datei in eine Datenbank importiert. Der ganze Prozeß (runterladen - entpacken - importieren) hat ungefähr zwei Wochen gedauert.

Länder-Extrakte

Da beide Lösungen nicht optimal sind, hat sich die Community dazu inzwischen natürlich Gedanken gemacht. Ein paar Firmen aus dem OpenStreetMap-Umfeld bieten auf ihrer Homepage landesweise Extrakte aus der OpenStreetMap zum Download an, z.B. Geofabrik.

Auf ihrer Downloadseite download.geofabrik.de finden sich täglich aktualisierte Auszüge. Das austria.osm.bz2 hat dort derzeit 153 MB, das gleichwertige austria.osm.pbf 92 MB. (Anmerkung: das osm.pbf-Format ist neu und noch nicht von allen Programmen unterstützt).

Eine OSM-Datei selber zuschneiden

Wenn man allerdings nur die Daten von z.B. Wien braucht, ist das noch immer keine ausreichende Lösung. Hier bleibt noch die Möglichkeit eine "zu große" Datei selber zuzuschneiden. Hier kommt das Programm Osmosis ins Spiel. Osmosis dient dazu OSM-Dateien zu bearbeiten, ao kann man Dateien umwandeln, Teile (geographisch und/oder thematisch) herauskopieren, u.s.w.

Osmosis ist ein Kommandozeilen-Programm. Dazu starten wir damit, dass wir ein Terminal öffnen. Wer nicht weiß, was das ist, kriegt hier eine kurze Einführung.

Wir laden uns Osmosis runter und entpacken es in ein Verzeichnis, z.B. Downloads. Beim entpacken wird dann das Verzeichnis "osmosis-0.38" (die Zahl kann neuer sein) angelegt.

Im Terminal wechseln wir in das Downloads-Verzeichnis (oder wo wir die Datei auch immer hingespeichert haben). Das zweite Kommando brauchen wir nur einmal, das setzt nämlich die osmosis-Datei auf ausführbar.

          cd Downloads
          chmod 755 osmosis-0.38/bin/osmosis

Und so schneidet man jetzt einen Teil aus:

          osmosis-0.38/bin/osmosis --read-pbf file=austria.osm.pbf --bounding-box top=48.502 left=15.479 bottom=48.325 right=15.718 completeWays=yes --write-xml file=map.osm

Hinweis: Wenn man statt einer .osm.pbf-Datei .osm oder .osm.bz2 verwendet wird ist --read-xml file=file.osm(.bz2) zu verwenden. Eine vollständige Liste der möglichen Parameter findet sich hier.

Die Koordinaten sind im Beispiel die Umgebung von Krems. Die richtigen Koordinaten können am einfachsten über den Export-Tab der OSM-Homepage herausgefunden werden (siehe oberstes Beispiel).

Welche Datenformate sind relevant?

So wie Textdateien in txt, odt oder doc gespeichert werden können, gibt es auch für geographische Daten verschiedene Dateiformate, die ihre Vor- und Nachteile haben. In diesem Kapitel wollen wir uns die wichtigsten Dateiformate kurz anschauen.

Shapefiles

Das für uns RaumplanerInnen vermutlich bekannteste Format sind die sogenannten Shapefiles, ein von ESRI (den Entwicklern von ArcMap) entwickeltes Dateiformat. Ein jedes Shapefile besteht aus mindestens drei Dateien, zB.:

  • roads.shp
  • roads.dbf
  • roads.shx

Die erste Datei (.shp) enthält die Geometriedaten aller Objekte. Die Objekte in einem Shapefile müssen alle vom gleichen Typ sein, entweder Punkte, Multipunkte, Linien, Polygone oder noch ein paar weitere Typen.

Die .dbf-Datei ist eine Datenbank-Datei, die die Attributtabelle der Objekte beinhaltet, zB. Typ der Straße oder Name.

Die .shx-Datei verknüpft die .shp- und .dbf-Dateien.

Shapefiles stellen den De-Facto-Standard für GIS-Programme dar, obwohl (oder weil) sie sehr simpel gestrickt sind. Die Marktmacht von ESRI hat sicher einen guten Teil dazu beigetragen.

OSM-Datei

Die OpenStreetMap hat für ihre Datenbank ein eigenes Dateiformat entwickelt, welches üblicherweise mit .osm bezeichnet wird. Sehr oft findet man auch .osm.bz2 oder .osm.gz, das ist genau das gleiche, allerdings mit einem Komprimierprogramm gepackt (.bz2 = BZip2, .gz = GZip). Neuerdings findet man auch .osm.pbf, das ist ein eigenes Dateiformat, das sogenannte "Protobuffer" verwendet, und kleinere Dateien ohne Kompression erzeugt.

Diese .osm-Dateien basieren auf dem XML-Standard (Extensible Markup Language). XML-Dateien dienen dazu hierarchisch strukturierte Daten zu speichern mit dem Ziel mit anderen Programmen interagieren zu können und dabei so erweiterbar wie möglich zu sein. Ein Vorteil von XML ist, dass es für Menschen lesbar und verstehbar ist, etwas, das auf die meisten Dateiformate nicht zutrifft.

Wir öffnen die im vorigen Kapitel heruntergeladene OSM-Datei in einem Texteditor. Was wir sehen schaut ungefähr so aus:

          <?xml version="1.0" encoding="UTF-8"?>
          <osm version="0.6" generator="CGImap 0.0.2">
           <node id="1027315926" lat="47.0896675" lon="15.4609684" user="skunk" version="1" changeset="6581055" timestamp="2010-12-07T23:19:05Z"/>
           <node id="1027316180" lat="47.0894784" lon="15.4609948" user="skunk" version="1" changeset="6581055" timestamp="2010-12-07T23:19:19Z"/>
           <node id="1027316047" lat="47.0895743" lon="15.4611211" user="skunk" version="1" changeset="6581055" timestamp="2010-12-07T23:19:10Z"/>
           <node id="1027316029" lat="47.0896616" lon="15.4607477" user="skunk" version="1" changeset="6581055" timestamp="2010-12-07T23:19:09Z">
           <tag k="natural" v="tree"/>
           </node>
           <node id="1027316248" lat="47.0895716" lon="15.4608421" user="skunk" version="1" changeset="6581055" timestamp="2010-12-07T23:19:23Z"/>
           <way id="88453500" user="skunk" version="2" changeset="6757679" timestamp="2010-12-24T22:17:40Z">
           <nd ref="1027315926"/>
           <nd ref="1027316047"/>
           <nd ref="1027316180"/>
           <nd ref="1027316248"/>
           <nd ref="1027315926"/>
           <tag k="addr:city" v="Graz"/>
           <tag k="addr:housenumber" v="10"/>
           <tag k="addr:postcode" v="8043"/>
           <tag k="addr:street" v="Stenggstraße"/>
           <tag k="building" v="yes"/>
           <tag k="source" v="Bing"/>
           </way>
          </osm>

In dieser Beispieldatei finden wir also 5 Punkte (Nodes), die als Attribute unter anderem Koordinaten haben. Einer der Punkte hat einen Tag gesetzt, natural=tree, es handelt sich also um einen Baum. Es gibt weiters einen Weg (Way). Der Weg selber hat keine Koordinaten, sondern er besteht aus 5 Punkten, wobei der erste und letzte gleich sind, es handelt sich also um ein Polygon mit 4 Punkten. Die Tags beschreiben ein Haus (building=yes), das von Bing Maps abgezeichnet wurde (source=Bing) und eine Adresse hat (die addr:-Tags).

In unserem nächsten Kapitel werden wir lernen, wie wir aus OSM-Dateien Shapefiles erstellen können: Shapefile aus OSM-Daten erstellen

GPX

GPX-Dateien werden von GPS-Geräten erstellt und enthalten dann den "Track", also den aufgezeichneten Weg und etwaige Wegpunkte, die man gesetzt hat. Diese dienen für Mapper oft zur Datenerhebung und werden dann abgezeichnet um die OpenStreetMap-Daten zu vervollständigen.

Hier ein Auszug aus einer GPX-Datei:

          <?xml version="1.0" encoding="UTF-8"?>
          <gpx version="1.0">
          <trk>
           <name>ACTIVE LOG #2</name>
          <trkseg>
          <trkpt lat="48.410270596" lon="15.831962759">
           <ele>193.362305</ele>
           <time>2010-10-06T06:36:28Z</time>
          </trkpt>
          <trkpt lat="48.410217287" lon="15.825154223">
           <ele>193.362305</ele>
           <time>2010-10-06T06:36:42Z</time>
          </trkpt>
          <trkpt lat="48.410102203" lon="15.821750835">
           <ele>192.881714</ele>
           <time>2010-10-06T06:36:49Z</time>
          </trkpt>
          </trkseg>
          </trk>
          </gpx>

Es wurden also drei Punkte im Zeitrahmen von 21 Sekunden aufgezeichnet. Die Information "ele" ist die aufgezeichnete Höhe.

GML / KML

Wichtige Dateiformate sind außerdem GML (Geography Markup Language) und KML (Keyhole Markup Language), die, so wie auch OSM, XML-basiert sind, und vor allem zum Datenaustausch dienen. Vor allem KML, als einfachere Variante, hat in den letzten Jahre weite Verbreitung gefunden. KML-Dateien sind eine Erfindung von Google, und werden von Google Earth und Google Maps verwendet, wenn man "eigene Karten" erstellt. Die meisten GIS-Programme (zumindest qGIS) können auch mit diesen Dateien umgehen.

Diese Dateien enthalten ähnlich den Shapefiles für jedes Objekt einen Eintrag, mit ihrem geometrischen Objekt und anderen Daten.

Hier eine beispielhafte KML-Datei:

          <?xml version="1.0" encoding="UTF-8"?>
          <kml xmlns="http://www.opengis.net/kml/2.2">
          <Document>
           <Placemark>
           <name>Zürich</name>
           <description>Zürich</description>
           <Point>
           <coordinates>8.55,47.3666667,0</coordinates>
           </Point>
           </Placemark>
          </Document>
          </kml>

Shapefile aus OSM-Daten erstellen

Um die OSM-Daten in GIS Programmen einsetzen zu können, gibt es im Prinzip zwei Möglichkeiten: Entweder man verwendet eine Erweiterung für das jeweilige Programm (z.B. gibt es eine für qGIS), oder man konvertiert diese auf Shapefiles (was dann überall funktioniert).

Das Programm, das ich im Rahmen dieses Kapitels vorstellen möchte, ist eines, das auf dem Programm basiert, welches die Shapefiles auf der Homepage von Geofabrik (http://www.geofabrik.de) basiert, allerdings von mir erweitert wurde um einfacher konfigurierbar zu sein. Es nennt sich "osm2shp".

Da dieses Programm nicht fix-fertig installierbar ist, müssen wir uns den Quellcode holen und diesen selber kompilieren. Kompilieren bedeutet den Quellcode in die Computersprache zu übersetzen. Keine Angst, das ist nicht so kompliziert :)

Dazu starten wir damit, dass wir ein Terminal öffnen. Wer nicht weiß, was das ist, kriegt hier eine kurze Einführung.

Kompilieren und Ausführen

Zuerst installieren wir alle notwendigen Abhängigkeiten (dazu muessen die "universe" Paketquellen aktiviert sein - siehe System -> Systemverwaltung -> Synaptic-Paketverwaltung, dort unter Einstellungen -> Paketquellen vor den "Von der Ubuntu-Gemeinschaft betreute Open-Source-Software" ein Hakerl machen). Dann geben wir im Terminal ein:

          sudo apt-get install libxml2-dev git-core libshp-dev libglib2.0-dev

Danach laden wir uns von einem Entwicklungsserver den Quellcode herunter (https://github.com/plepe/osm2shp):

          git clone git://github.com/plepe/osm2shp.git

Dies erstellt ein Verzeichnis "osm2shp" im aktuellen Verzeichnis. Nachdem wir in das Verzeichnis gewechselt haben (cd osm2shp), rufen wir "make" auf, das dann die notwendigen Kompilierungsschritte durchführt:

          cd osm2shp
          make

Zum konvertieren einen Bereich aus der OSM herunterladen (z.B. vom Export-Tab) und in das Verzeichnis kopieren (Annahme: Die Datei wird "map.osm" genannt). Ein Unterverzeichnis anlegen, z.B. "shapefiles".

Die Kommandos ausführen:

          mkdir shapefiles
          ./osm2shp -d shapefiles map.osm

Das Verzeichnis "shapefiles" sollte nachher mit verschiedenen Dateien gefüllt sein. Nicht wundern, wenn keine Meldung ausgegeben wird, bei Linux bzw. UNIX ist es durchaus üblich, dass Programme nur Meldungen ausgeben, wenn sie Fehler entdecken.

Layout der Shapefiles verändern

Ein Problem, dass man bei der Konvertierung in Shapefiles hat ist, dass man vorher auswählen muss, welche Daten in die Shapefiles aufgenommen werden sollen, es werden also nicht alle Daten konvertiert. Es gibt dafür ein eigenes Configfile im Verzeichnis, 'osm2shp.cfg'. Wir werden jetzt diese Datei abändern, um andere Daten in die Shapefiles aufzunehmen.

Zuerst die Config-Datei in einem Editor öffnen, z.B.:

          gedit osm2shp.cfg&

Jetzt fügen wir unten noch ein paar Zeilen hinzu. Das hier ist ein Beispiel, man kann hier alles mögliche angeben:

          file polygon "addresses"
          where key "addr:housenumber"
          column string "name"
          column string "housenum" key "addr:housenumber"
          column string "street" key "addr:street"
          column string "plz" key "addr:postcode"

Dies erstellt die Konfiguration ein Shapefile namens "addresses", das aus allen Polygonen besteht (d.h. Adressen, die nur als Punkte eingetragen sind, stehen da nicht drin. Probier, dafür selber noch eine weitere Datei zu erstellen!), die einen Tag mit dem key "addr:housenumber" haben. Es werden vier Spalten erstellt, "name" mit dem Inhalt des Keys "name", "housenum" mit dem Inhalt des Keys "addr:housenumber", etc.

Nachdem die Konfiguration verändert wurde, muss das Programm neu übersetzt und dann ausgeführt werden, d.h. die folgenden Kommandos ausführen:

          make
          ./osm2shp -d shapefiles map.osm

Eine Dokumentation zu dieser Konfiguration befindet sich in der Datei "README".

Quantum GIS

„Quantum GIS (QGIS) ist ein benutzerfreundliches, quelloffenes Geographisches Informationssystem (GIS) lizensiert unter der GNU General Public Lizenz. QGIS ist ein offizielles Projekt der Open Source Geospatial Foundation (OSGeo). Es läuft unter Linux, Unix, Mac OS X und Windows und unterstützt unzählige Vektor-, Raster- und Datenbankformate und Funktionen.“(QGIS online 2010: www.qgis.org)

Wir verwenden bei der Kartenerstellung Quantum GIS, weil es den Vorteil hat, dass es, im Gegensatz zu kommerziellen GIS, frei (also gratis installierbar) ist und mit mehreren verschiedenen Datenformaten arbeiten kann. In diesem Fall sind OSM-Daten wichtig.

In Ubuntu kann man es über das Software-Center installieren: Anwendungen->Ubuntu Software-Center: in das Suchfenster Quantum GIS eingeben. Für Windows QGIS downloaden unter www.qgis.org.

Lesenswert sind die Handbücher von QGIS selbst (besonders für jene Funktionen, die in diesem Tutorial nicht behandelt werden): http://www.qgis.org/de/dokumentation/handbuecher.html

Sollte man darüber hinaus noch ungeklärte Fragen haben, empfiehlt sich das Forum: forum.qgis.org

Die Daten für die folgenden Karten haben wir schon heruntergeladen in ../05 Wie kann man Daten aus der OSM runterladen und ../07 Shapefile aus OSM-Daten erstellen.

Erstellung einer Landnutzungskarte mit OSM-Daten in Quantum GIS

Jene Schritte, die gleich wie im vorherigen Kapitel (Erstellung einer Grundkarte mit Shapefiles in QGIS) sind, werden hier nicht noch einmal genau erklärt! Wir öffnen QGIS und setzen zuerst alle Pfade relativ, damit wir den Ordner mit der QGIS-Datei und den OSM-Daten später ohne Probleme verschieben können (es empfiehlt sich, diese Dateien in einen Ordner zusammen zu tun). Die Daten, die man im QGIS verwendet, werden hier nämlich nicht extra gespeichert, das Programm greift immer wieder neu auf diese zu, wird also der Pfad geändert, findet es sie nicht mehr. Unter Datei->Projekteigenschaften: „Pfade speichern“ auf „relativ“ setzen.

Zur Bearbeitung von OSM-Daten benötigen wir noch eine Erweiterung: unter Erweiterungen->Erweiterungen verwalten: nach „OpenStreetMap“ suchen und das OpenStreetMap Plugin aktivieren. Es erscheinen oben einige neue Buttons und rechts eine Registerkarte zur Bearbeitung der Daten um sie wieder für die OpenStreetMap zu nutzen (diese wird hier nicht benötigt). Zum Öffnen von Daten benötigt man diesen Button.

osmDaten_importieren.png

Es erscheint ein Fenster, bei dem man die gewünschten Daten suchen kann, darunter stehen die möglichen Spalten, die man für die Elemente hinzufügen will. Darunter kann man noch eine benutzerdefinierte Darstellung auswählen. Alle gewünschten Spalten auswählen und KEINEN benutzerdefinierten Stil auswählen (das Häckchen entfernen), es wird sonst so gut wie unmöglich, das Projekt zu einem späteren Zeitpunkt zu öffnen.

OSMladen.png

Darstellung

Zuerst sollte man sich die Attributtabellen der Daten genauer anschauen. Wir wollen hier die Landnutzung darstellen, dafür sind die Polygone (Spalten landuse und waterway da große Flüsse als Polygone dargestellt werden) und Linien (Spalten highway, waterway und rail) wichtig. Hier kommen wir zum ersten Problem: wir können in der Darstellung immer nur eine Spalte auswählen, das heißt, wir benötigen die Tabellen mehrmals (für jede Spalte einmal). Leider kann man einen Layer in QGIS (wenn es sich um OSM-Daten handelt) nicht kopieren. Also kopieren wir das ursprüngliche File noch 2-mal und laden es neu hinein (hier kann man auch nur die jeweils gewünschten Spalten auswählen, da wir schon wissen, welche Informationen sie enthalten).

Polygone:

Um die Darstellug zu ändern muss man das Layereigenschaftsfenster öffnen (entweder Doppelklick auf den Layer oder rechte Maustaste-eigenschaften). Beim Unterpunkt Legendentypt gibt es nun 4 verschiedene Möglichkeiten: Einzelsymbol, Abgestuftes Symbol, fortlaufende Farbe oder Eindeutiger Wert. Wir wählen Eindeutiger Wert aus, weil wir für jede Landnutzung eine eigene Farbe wollen. Als Klassifikationsfeld wählen wir „landuse“ aus und klicken auf „Klassifizieren“. Es erscheinen alle Kategorien. Jene ohne Namen löschen wir, da nicht klar ist, was für Flächen das sind. Man sieht nun, dass in diesem Gebiet leider die Wohngebiete noch nicht sehr gut erfasst wurden.

Linien:

Diese benötigen wir 3 mal, als Straßen, Eisenbahnstrecken und Wasserwege. In den Layereigenschaften sollte man unter Allgemein den Anzeigenamen noch ändern, damit die Legende verständlich wird. Straßen: die Klassen ohne Namen löschen. Die hochrangigen Straßen sollten gelb, die niederrangigen schwarz und die Dicke je nach Wichtigkeit dargestellt werden. Für die Eisenbahnstrecken benötigen wir die neue Darstellung, hier „kategorisiert“ und als Symbol das mit dem Namen „railway“, vielleicht die Größe auf 1 ändern. Kategorisieren klicken und die Klasse ohne Namen löschen. Falls die Farbe nicht Schwarz-Weiß ist, direkt auf das Symbol der Klasse „railway“ doppelklicken und ändern. Bei den Flüssen geht man ca. gleich vor wie bei den Straßen, nur stellt man hier die Spalte „waterways“ dar. Die unterschiedlichen Klassen am besten durch verschiedene Dicke darstellen (Fluss dicker als bach). Die Farbe des Flusses sollte gleich sein wie bei den Polygonen, da es sehr wahrscheinlich ist, dass er dort in seiner Breite eingezeichnet ist. In den Layereigenschaften sollte man unter Allgemein den Anzeigenamen noch ändern, damit die Legende verständlich wird.

Druckfertige Karte

Gleich wie im vorherigen Kapitel die Karte mit allen wichtigen Elementen (Titel, Legende, Maßstab, Nordpfeil und Quellen) zusammenstellen und exportieren.

Hilfreiche Links

OpenStreetMap:

Quantum Gis:

  • Download von Quantum Gis:http:QGIS

  • Handbücher zur Benutzung von QGis(unter anderem auf Englisch, Deutsch,Russisch und Spanisch): QGIS-Handbücher

  • offizielles Forum für spezifische Fragen: QGIS-Forum

Unterseiten

OpenPlanningTools: OSM (zuletzt geändert am 2015-03-16 13:07:44 durch arcss01)