Nutzen von OpenStreetMap-Daten in GIS: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
K
K (Überblick)
Zeile 12: Zeile 12:
 
* Webdienste nutzen
 
* Webdienste nutzen
  
Direktes Exportieren in verschiedene GIS-Formate, wie z.B. Spatialite, Shapefile, GeoJSON, KML etc.:  
+
Direktes Exportieren mittels Webdiensten in verschiedene GIS-Formate, wie z.B. Spatialite, Shapefile, GeoJSON, KML etc.:  
 
* [[OpenPOIMap]] - Webapplikation mit Preview, Download von Punktdaten direkt in verschiedene GIS-Formate, auch als [[WFS]]-Webservice (zurzeit auf Daten der Schweiz beschränkt).
 
* [[OpenPOIMap]] - Webapplikation mit Preview, Download von Punktdaten direkt in verschiedene GIS-Formate, auch als [[WFS]]-Webservice (zurzeit auf Daten der Schweiz beschränkt).
 
* [[Overpass API]] (insbesondere Overpass Turbo) - selektiver Download von Daten aus der Hauptdatenbank von OSM (GeoJSON und Rohdaten)  
 
* [[Overpass API]] (insbesondere Overpass Turbo) - selektiver Download von Daten aus der Hauptdatenbank von OSM (GeoJSON und Rohdaten)  

Version vom 9. Februar 2013, 21:47 Uhr

Wichtige Weblinks:

Auf dieser Seite werden Anwendungsbeispiele mit Arbeitsabläufen (Workflow) mit Szenarien gezeigt, um Daten von OpenStreetMap (OSM) in GIS als Vektordaten-Layer oder als Geo-Webservice für Karten nutzen zu können. Die Hauptbeteiligten sind u.a. technische Sachbearbeiter CAD-Operateure, Raumplaner, Landschaftsplaner, Naturschützer oder Förster.

Überblick

Es gibt folgende Möglichkeiten

  • OSM-Rohdaten exportieren (vgl. unten) und ein weiteres Tool verwenden um die Daten in ein GIS-Format zu konvertieren.
  • Webdienste nutzen

Direktes Exportieren mittels Webdiensten in verschiedene GIS-Formate, wie z.B. Spatialite, Shapefile, GeoJSON, KML etc.:

  • OpenPOIMap - Webapplikation mit Preview, Download von Punktdaten direkt in verschiedene GIS-Formate, auch als WFS-Webservice (zurzeit auf Daten der Schweiz beschränkt).
  • Overpass API (insbesondere Overpass Turbo) - selektiver Download von Daten aus der Hauptdatenbank von OSM (GeoJSON und Rohdaten)
  • OSM2GIS - Webapplikation mit direktem Download und optionaler Transformation in die Formate Shapefile, MapInfo, KML, GML, SQLite (beschränkt auf einen Bereich von der Breite des Zürichsees und eine Konversion alle 30 min.)
  • OSM2WEB (Repository) - Python-basierter RESTfull Webservice mit einer Datenbankstruktur analog EOSMDBOne (osm2pgsql, PostGIS), der GeoJSON, KML und alle von OGR unterstützten Formaten zurückliefern kann. Soll auch für Webapplikationen geeignet sein (vgl. [1] und die Tipps unten).

Vgl. dazu auch einzelne Beispiele unten.

OSM-Rohdaten exportieren

Es gibt folgende Export-Möglichkeiten inkl. Webservices für das Rohdaten-Format von OSM (RAW OSM-XML), d.h. in OSM-Datenstruktur:

  • XAPI-basierte Webservices: Siehe v.a. den XAPI URL Builder mit entsprechendem Osmosis-Befehl für das Overpass-API, das jxapi.openstreetmap.org und für rabler.ru (die MapQuest-Daten seien alt).
  • Die Startseite von OpenStreetMap hat eine Export-Funktion im OSM/XML-Format (reiner Download).
  • Mit derJOSM-Desktopapplikation gibt es einen Export nach OSM/XML.
  • OpenStreetMapData.com - Speziell geeignet für die Extraktion für Länder-, Gewässer- und Küsten-Grenzen der Welt.

Zuerst eine .OSM-Datei in ein lokales Verzeichnis kopieren, d.h.

  1. Kleinere Bereiche können online über die OSM-Startseite (d.h. das API) heruntergeladen werden.
  2. Grössere Ausschnitte können über Webdienste oder die JOSM-Desktopapplikation als OSM/XML oder direkt in einem GIS-Format exportiert werden (vgl. unten).
  3. Ansonsten gibt es noch ganze vorbereitete Datensätze...
    1. solche die in Mirrors mit Snaphsots nach Kontinent und Land geordnet angeboten werden. Siehe Planet.osm Snapshots. ### Bereits aufbereitete Shapefiles herunterladen von Geofabrik: Siehe OSM#OSM_zu_Shapefiles_konvertieren
    2. Der gesamte OSM-Datensatz kann ebenfalls über Planet.osm Snapshots heruntergeladen werden.

Dann muss man die Daten in ein GIS-Format konvertieren (z.B. mit OGR oder GeoConverter), falls die Daten im OSM/XML-Format sind. Man beachte auch, dass man die Daten direkt analysieren kann, vgl. dazu unten HowTo_OpenStreetMap#OSM-Daten_analysieren oder das PostGIS-Terminal.

Tipps zu OSM-Daten exportieren

Tipp 1: Das Overpass-API ist ein schnelles und aktuelles API für den Online-Zugriff/Export von OSM-Daten (ganzer Planet); siehe dazu XAPI, den XAPI URL Builder und die Overpass API-Doku..

Tipp 2: Es gibt eine OSM2WEB-Instanz [2] auf http://www.gis-hosting.lu/examples/de/ (ganzer Planet). Hier ein Beispiel mit folgenden 'Parametern' (z.T. als URL-Subdirectories):

  • Geometrie = points
  • Exportformat = GeoJSON
  • bbox = (Region Zürichsee min/max im selben SRID wie der SRID-Parameter,
  • SRID = 4326 (d.h WGS84, Default SRID/CRS ist EPSG 3857/9009l3)
 Beispielaufruf: http://www.gis-hosting.lu/osm2web/export/points/amenity/hospital.geojson?bbox=8.420,47.072,9.088,47.431&srid=4326 (*)

Tipp 3: Mit OpenPOIMap kann man die OSM-Daten mit einer eigenen Query abfragen und direkt als Webservice (WFS) in einer Web- oder Desktopapplikation betrachten und analysieren. Ist jedoch nur auf die Schweiz beschänkt.

Beispiel Rollstuhlparkplätze

Vektordaten von OSM können in GIS genutzt werden, gegeben man hält die ODbL-Lizenz ein und kennt die Besonderheiten von [[OSM], d.h. das spezielle Geometrie- und Tags-Schema. Für den Download der ganzen Welt in diesem Format siehe 'Downloading Data' im offiziellen OSM Wiki.

Es gibt inzwischen immer mehr Werkzeuge, mit denen man OSM-Daten selektieren (mind. räumlich) und als GIS-taugliches Format exportieren kann. Siehe dazu diese HowTo OpenStreetMap-Seite.

Nachfolgend ein Beispiel "Rollstuhlparkplätze der Schweiz":

  • Das Tagging-Schema dafür ist
 "amenity=parking" - und (logisch) 
 "capacity:disabled" ~* "[0-9]|yes|unknown" (das ist rechts ein sog. "regulärer Ausdruck"). 
 (es gibt nicht nur "capacity:disabled=yes" sondern auch "capacity:disabled=2" etc.) 

Variante A PostGIS-Terminal (Daten der Schweiz)

1. Aufrufen von http://labs.geometa.info/postgisterminal, dann Copy&Paste folgender SQL-Anfrage in das Query-Fenster:

 SELECT ST_AsText(way) geom,
 COALESCE(name, )||' '||osm_id AS label
 FROM osm_poi
 WHERE tags @> hstore('amenity', 'parking')
 AND hstore("tags")->'capacity:disabled' ~* '[0-9]|yes|unknown'
 LIMIT 9999

2. Dann anschauen.
3. Falls Daten (im WKT-Format) gewünscht sind, den SELECT-Teil ersetzen mit "SELECT name, osm_id, gtype FROM ..." und Copy&Paste des Konsolen-Inhalts machen.
Mehr zum PostGIS_Terminal#Help.

Variante OpenPOIMap (Daten der Schweiz)

  1. OpenPOIMap aufrufen: http://bit.ly/11OP5Mf
  2. Dann Download z.B. als KML oder SQLite/Spatialite.

Mehr zu OpenPOIMap.

Variante Overpass Turbo (Daten ganze Welt, mit BBox)

  1. Interaktive Karte: http://bit.ly/X8pcmK
  2. OpenLayers-Karte: http://bit.ly/XRN6kD
  3. Query (Permalink): http://bit.ly/WCd6RK
  4. Download als OSM/XML, GeoJSON und als Bild.

Hier mehr zu Overpass (Achtung BBox, also mehr Daten als Schweiz).

POI-Daten nutzen mit OpenPOIMap

Überblick:

  • Benutzer erfassen POIs im öffentlichen OpenStreetMap (OSM, siehe unten).
  • Am folgenden Tag sind die neuen Daten in OpenPOIMap verfügbar (in EOSMDBOne und zwar ab ca. 8 Uhr diejenigen Daten, die in OSM vor ca. 19:00 Uhr erfasst wurden).
  • Benutzer können POIs in OpenPOIMap direkt anschauen und interaktiv abfragen
  • Benutzer können die POIs direkt ins GIS integrieren mit Hilfe des OpenPOIMap Geo-Webservice (WFS)
  • Benutzer können POIs von OpenPOIMap herunterladen und je nach Format nutzen z.B. in...
    • Google Earth (KML)
    • GIS (Shapefile)
    • Navi/GPS (GPX)

Arbeitsschritte:

  • POIs in OpenPOIMap visualisieren und interaktiv abfragen (=> Tab 'Home')
    • Schritt 1: In OpenPOIMap Tab 'Home' einen Ausschnitt auf der Karte auswählen (Zoom, Pan & Geogr. Suche).
    • Schritt 2: Query-Beispiel auswählen (z.B. Hospitals/Spitäler) oder mit Hilfe von Tab 'Query Builder' eine Query selber definieren.
    • Schritt 3: Mit 'Show' das Resultat auf der Webkarte direkt ansehen.
    • Hinweis: Die POIs auf der Webkarte lassen sich durch Klicken auf ein Punktsymbol interaktiv abfragen. Ev. muss man näher hineinzoomen.
  • POIs herunterladen (=> Tab 'Download'):
    • Schritt 1: In OpenPOIMap Tab 'Home' einen Ausschnitt auf der Karte auswählen (Zoom, Pan & Geogr. Suche).
    • Schritt 2: Query definieren (z.B. in key 'Spital' eingeben und 'amenity=hospital' bestätigen).
    • Schritt 3: Export-Format wählen.
    • Schritt 4: Mit 'Download' Datei lokal speichern und damit selber weiterverarbeiten.
    • Hinweis: Es wird hier gemäss Vorgabe nur der Ausschnitt heruntergeladen. Durch Klick auf eine Checkbox kann auch der Bereich der ganzen Datenbank, d.h. die Schweiz, verwendet werden.
  • POIs als Webservice (WFS) nutzen (=> Tab 'Webservices'):
    • Schritt 1: Zuerst in Tab 'Home' die Query definieren, (z.B. in key 'Spital' eingeben und 'amenity=hospital' bestätigen).
    • Schritt 2: In Tab 'Webservices' die Basis-URL des WFS-Webservices kopieren und im eigenen System eingeben.
    • Hinweis: Es wird hier immer die ganze Datenbank, d.h. die Schweiz, verwendet.

Routing-Daten nutzen mit ArcGIS oder QGIS

  • QGIS: Import in SQLite/SpatiaLite mit Hilfe der SpatiaLite-Tools 'spatialite_osm_net'.
  • ArcGIS: tbd.

POI-Daten erfassen/editieren

mit Potlatch (Browser):

Mit ArcGIS: tbd.

Mit QGIS: OSM-Plugin.