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

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
K (Überblick)
K
(30 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
  *** OUTDATED ***
 +
 
Wichtige Weblinks:
 
Wichtige Weblinks:
* [[OpenStreetMap]]
+
* [http://slides.com/larslingner/osm-daten-nutzung/ Vortrag Lars Ligner 2017]
* [[POI]] und [[POI-Daten-Workshop]]
+
* Vortrag Stefan Kelller an [http://www.fossgis.de/konferenz/2013/programm/events/514.de.html FOSSGIS 2013].
 
* [[OpenStreetMap für Landschaftsarchitekten]] und [[OpenStreetMap für Raumplaner]]
 
* [[OpenStreetMap für Landschaftsarchitekten]] und [[OpenStreetMap für Raumplaner]]
 +
* [[POI-Daten-Workshop]]
 +
* [http://www.azavea.com/blogs/atlas/series/getting-data-out-of-openstreetmap-and-into-desktop-gis/ Getting Data out of OpenStreetMap into Desktop GIS]
  
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.
+
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 Nutzer sind u.a. technische Sachbearbeiter CAD-Operateure, Raumplaner, Landschaftsplaner, Naturschützer oder Förster.
  
 
== Überblick ==
 
== Überblick ==
Zeile 14: Zeile 18:
 
** Flächen in OSM sind entweder geschlossene Ways (mit entsprechendem Tag, z.B. natural=water oder building=yes) oder sog. "Multipolygone", d.h. Relationen zu Ways (Testcases for converting OpenStreetMap data into GIS world formats: [https://github.com/nimix/osm_conv_tests])
 
** Flächen in OSM sind entweder geschlossene Ways (mit entsprechendem Tag, z.B. natural=water oder building=yes) oder sog. "Multipolygone", d.h. Relationen zu Ways (Testcases for converting OpenStreetMap data into GIS world formats: [https://github.com/nimix/osm_conv_tests])
  
Es gibt folgende Möglichkeiten aus Sicht GIS um OSM-Daten zu kommen
+
Es gibt folgende Möglichkeiten aus Sicht GIS um OSM-Daten zu kommen:
 
* OSM-Rohdaten exportieren (vgl. unten) und ein weiteres Tool verwenden um die Daten in ein GIS-Format zu konvertieren.
 
* OSM-Rohdaten exportieren (vgl. unten) und ein weiteres Tool verwenden um die Daten in ein GIS-Format zu konvertieren.
* Webdienste nutzen
+
* Direktes Exportieren mittels Webdienste
 
* Selber programmieren.
 
* Selber programmieren.
 
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)
 
* [http://www.osm974.re/osm2gis/ 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.)
 
* [https://bitbucket.org/metrico/osm2web 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. [http://lists.openstreetmap.org/pipermail/talk-lu/2012-December/000099.html] und die Tipps unten).
 
  
 
Vgl. dazu auch einzelne Beispiele unten.
 
Vgl. dazu auch einzelne Beispiele unten.
  
== OSM-Rohdaten exportieren ==
+
== OSM-Rohdaten herunterladen ==
  
 
Es gibt folgende Export-Möglichkeiten inkl. Webservices für das Rohdaten-Format von OSM (RAW OSM-XML), d.h. in OSM-Datenstruktur:
 
Es gibt folgende Export-Möglichkeiten inkl. Webservices für das Rohdaten-Format von OSM (RAW OSM-XML), d.h. in OSM-Datenstruktur:
Zeile 39: Zeile 37:
 
# Grössere Ausschnitte können über Webdienste oder die [[JOSM]]-Desktopapplikation als OSM/XML oder direkt in einem GIS-Format exportiert werden  (vgl. unten).
 
# Grössere Ausschnitte können über Webdienste oder die [[JOSM]]-Desktopapplikation als OSM/XML oder direkt in einem GIS-Format exportiert werden  (vgl. unten).
 
# Ansonsten gibt es noch ganze vorbereitete Datensätze...
 
# Ansonsten gibt es noch ganze vorbereitete Datensätze...
## solche die in Mirrors mit Snaphsots nach Kontinent und Land geordnet angeboten werden. Siehe [http://wiki.openstreetmap.org/index.php/Planet.osm Planet.osm Snapshots]. ### Bereits aufbereitete Shapefiles herunterladen von Geofabrik: Siehe [[OSM#OSM_zu_Shapefiles_konvertieren]]
+
## solche die in Mirrors mit Snaphsots nach Kontinent und Land geordnet angeboten werden. Siehe [http://wiki.openstreetmap.org/index.php/Planet.osm Planet.osm Snapshots].  
 +
## Bereits aufbereitete Shapefiles herunterladen von Geofabrik: Siehe [[OSM#OSM_zu_Shapefiles_konvertieren]]
 
## Der gesamte OSM-Datensatz kann ebenfalls über [http://wiki.openstreetmap.org/index.php/Planet.osm Planet.osm Snapshots] heruntergeladen werden.
 
## Der gesamte OSM-Datensatz kann ebenfalls über [http://wiki.openstreetmap.org/index.php/Planet.osm Planet.osm Snapshots] heruntergeladen werden.
  
Zeile 47: Zeile 46:
  
 
'''Tipp 1:''' Das '''Overpass-API''' ist ein schnelles und aktuelles API für den  
 
'''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 [http://harrywood.co.uk/maps/uixapi/xapi.html XAPI URL Builder]  
+
Online-Zugriff/Export von OSM-Daten (ganzer Planet); siehe dazu [http://overpass-turbo.eu Overpass Turbo] und die [http://wiki.openstreetmap.org/wiki/DE:Overpass_API Overpass API-Doku. mit Verweis auf Server].
und die [http://wiki.openstreetmap.org/wiki/DE:Overpass_API Overpass API-Doku.].
+
 
 +
'''Tipp 2:''' siehe dazu [[XAPI]] mit demden [http://harrywood.co.uk/maps/uixapi/xapi.html XAPI URL Builder].
  
'''Tipp 2:''' Es gibt eine '''OSM2WEB-Instanz''' [https://bitbucket.org/metrico/osm2web] auf http://www.gis-hosting.lu/examples/de/ (ganzer Planet).  
+
'''Tipp 3:''' Es gibt eine '''OSM2WEB-Instanz''' [https://bitbucket.org/metrico/osm2web] auf http://www.gis-hosting.lu/examples/de/ (ganzer Planet).  
 
Hier ein Beispiel mit folgenden 'Parametern' (z.T. als URL-Subdirectories):  
 
Hier ein Beispiel mit folgenden 'Parametern' (z.T. als URL-Subdirectories):  
* Geometrie = points
+
* Geometrie = points (es gint noch lines und polygons)
 
* Exportformat = GeoJSON
 
* Exportformat = GeoJSON
 
* bbox = (Region Zürichsee min/max im selben SRID wie der SRID-Parameter,  
 
* 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)
 
* SRID = 4326 (d.h WGS84, Default SRID/CRS ist EPSG 3857/9009l3)
 
 
   Beispielaufruf: <tt><nowiki>http://www.gis-hosting.lu/osm2web/export/points/amenity/hospital.geojson?bbox=8.420,47.072,9.088,47.431&srid=4326</nowiki></tt> ([http://www.gis-hosting.lu/osm2web/export/points/amenity/hospital.geojson?bbox=8.420,47.072,9.088,47.431&srid=4326 *])
 
   Beispielaufruf: <tt><nowiki>http://www.gis-hosting.lu/osm2web/export/points/amenity/hospital.geojson?bbox=8.420,47.072,9.088,47.431&srid=4326</nowiki></tt> ([http://www.gis-hosting.lu/osm2web/export/points/amenity/hospital.geojson?bbox=8.420,47.072,9.088,47.431&srid=4326 *])
 +
Soll auch für Webapplikationen geeignet sein, ist aber auf eine einzige key=value-Bedingung beschränkt, ie z.B. <code>http://www.gis-hosting.lu/osm2web/export/points/cuisine/pizza.geojson?bbox=8.420,47.072,9.088,47.431&srid=4326</code> (vgl. [http://lists.openstreetmap.org/pipermail/talk-lu/2012-December/000099.html] und die Tipps unten).
  
'''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.
+
'''Tipp 4:''' 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.
  
== OpenStreetMap-Daten in ein GIS-Format konvertieren ==
+
== OSM-Daten (lokal) in ein GIS-Format konvertieren ==
  
 
Die meisten der folgenden Konverter werden im [http://svn.openstreetmap.org/ SVN-Repository] des OSM-Projekts verwaltet:
 
Die meisten der folgenden Konverter werden im [http://svn.openstreetmap.org/ SVN-Repository] des OSM-Projekts verwaltet:
Zeile 68: Zeile 68:
 
* Osm2Csv - Converts an OSM planet file to files nodes.csv, ways.csv and waytags.csv (und dann...?).
 
* Osm2Csv - Converts an OSM planet file to files nodes.csv, ways.csv and waytags.csv (und dann...?).
 
* Osmxapi (siehe unten).
 
* Osmxapi (siehe unten).
 +
 +
Weitere:
 
* Ein OSM-zu-GML-Skript (XSLT), das dann weiter z.B. nach [[Shapefile]] verarbeitet werden kann, z.B. mit [[OGR]] und [[GeoConverter]]: Siehe [http://wiki.openstreetmap.org/index.php/Converting_OSM_to_GML]
 
* Ein OSM-zu-GML-Skript (XSLT), das dann weiter z.B. nach [[Shapefile]] verarbeitet werden kann, z.B. mit [[OGR]] und [[GeoConverter]]: Siehe [http://wiki.openstreetmap.org/index.php/Converting_OSM_to_GML]
 
* [http://wiki.openstreetmap.org/index.php/Planet.osm Osm2Csv] - Converts an OSM planet file to files nodes.csv (id,lat,lon,timestamp,taglist) and ways.csv (id,timestamp,taglist) and waytags.csv (way-id,key,value). It does not use more memory if planet.osm is larger. It uses Java and the MinXML parser.
 
* [http://wiki.openstreetmap.org/index.php/Planet.osm Osm2Csv] - Converts an OSM planet file to files nodes.csv (id,lat,lon,timestamp,taglist) and ways.csv (id,timestamp,taglist) and waytags.csv (way-id,key,value). It does not use more memory if planet.osm is larger. It uses Java and the MinXML parser.
Zeile 73: Zeile 75:
 
* FME
 
* FME
  
== OpenStreetMap-Daten direkt als GIS-Formate herunterladen ==
+
== OSM-Daten direkt als GIS-Format herunterladen ==
  
 
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 [http://wiki.openstreetmap.org/wiki/Downloading_data 'Downloading Data'] im offiziellen OSM Wiki.
 
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 [http://wiki.openstreetmap.org/wiki/Downloading_data '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#OSM-Daten_exportieren|HowTo OpenStreetMap-Seite]].
+
Es gibt inzwischen immer mehr Werkzeuge, mit denen man OSM-Daten selektieren (mind. räumlich) und als GIS-taugliches Format exportieren kann.  
 +
 
 +
Direktes Exportieren mittels Webdienste 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).
 +
* [http://www.openstreetmap.re/osm2gis/ 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.)
 +
* [https://bitbucket.org/metrico/osm2web OSM2WEB (Repository)] - Python-basierter RESTfull Webservice mit einer Datenbankstruktur analog [[EOSMDBOne]] (osm2pgsql, PostGIS), der GeoJSON und KML zurückliefern kann. Siehe oben.
  
 
Nachfolgend ein Beispiel '''"Rollstuhlparkplätze der Schweiz"''':  
 
Nachfolgend ein Beispiel '''"Rollstuhlparkplätze der Schweiz"''':  
Zeile 86: Zeile 93:
 
* Siehe dazu die [http://wiki.openstreetmap.org/wiki/DE:Tag:amenity%3Dparking OSM-Wiki-Seite].
 
* Siehe dazu die [http://wiki.openstreetmap.org/wiki/DE:Tag:amenity%3Dparking OSM-Wiki-Seite].
  
=== Variante A PostGIS-Terminal ===
+
=== Variante PostGIS-Terminal (nur WKT und Schweiz) ===
 
1. Aufrufen von http://labs.geometa.info/postgisterminal, dann Copy&Paste folgender SQL-Anfrage in das Query-Fenster:
 
1. Aufrufen von http://labs.geometa.info/postgisterminal, dann Copy&Paste folgender SQL-Anfrage in das Query-Fenster:
 
   SELECT ST_AsText(way) geom,
 
   SELECT ST_AsText(way) geom,
Zeile 99: Zeile 106:
 
Daten der Schweiz (Stand Vorgestern). Kennt Punkte (POIs), Linien und Flächen; POI-Tabelle enthält sowohl Punkte wie auch Flächen. Kennt kein Export und kann höchstens GeoJSON. Mehr zum [[PostGIS_Terminal#Help]].
 
Daten der Schweiz (Stand Vorgestern). Kennt Punkte (POIs), Linien und Flächen; POI-Tabelle enthält sowohl Punkte wie auch Flächen. Kennt kein Export und kann höchstens GeoJSON. Mehr zum [[PostGIS_Terminal#Help]].
  
=== Variante OpenPOIMap ===
+
=== Variante OpenPOIMap (nur Schweiz) ===
 
# OpenPOIMap aufrufen: http://bit.ly/11OP5Mf
 
# OpenPOIMap aufrufen: http://bit.ly/11OP5Mf
 
# Dann Download z.B. als KML oder SQLite/Spatialite.
 
# Dann Download z.B. als KML oder SQLite/Spatialite.
Zeile 105: Zeile 112:
 
Daten der Schweiz (Stand vorgestern); nur Nodes/POIs. Mehr zu [[OpenPOIMap]].
 
Daten der Schweiz (Stand vorgestern); nur Nodes/POIs. Mehr zu [[OpenPOIMap]].
  
=== Variante Overpass Turbo (Daten ganze Welt, mit BBox) ===
+
=== Variante Overpass Turbo (nur im Browser und BBox) ===
 +
# Query (Permalink): http://bit.ly/WCd6RK
 
# Interaktive Karte: http://bit.ly/X8pcmK
 
# Interaktive Karte: http://bit.ly/X8pcmK
 
# OpenLayers-Karte: http://bit.ly/XRN6kD  
 
# OpenLayers-Karte: http://bit.ly/XRN6kD  
# Query (Permalink): http://bit.ly/WCd6RK
+
# Download als GeoJSON und als Bild.
# Download als OSM/XML, GeoJSON und als Bild.
 
  
Schweiz ist nur als BBox abgegrenzt, gitb also mehr Daten zurück als gewünscht. Gewöhnungsbedürftige Query-Syntax. Hier mehr zu [[Overpass]].
+
Schweiz ist nur als BBox abgegrenzt, gibt also mehr Daten zurück als gewünscht; JSON ist grössenmässig beschränkt (Browserkapazität) nur in Overpass Turbo verfügbar (per Copy&Paste). Etwas gewöhnungsbedürftige Query-Syntax. Hier mehr zu [[Overpass]].
  
 
== POI-Daten nutzen mit OpenPOIMap ==
 
== POI-Daten nutzen mit OpenPOIMap ==
Zeile 146: Zeile 153:
 
* ArcGIS: tbd.
 
* ArcGIS: tbd.
  
== POI-Daten erfassen/editieren ==  
+
== Upload nach OSM ==
mit Potlatch (Browser):
 
* (Alternative für Fortgeschrittene: [[JOSM]])
 
* siehe [[OpenStreetMap]]
 
 
 
Mit ArcGIS: tbd.
 
  
Mit [[QGIS]]: OSM-Plugin.
+
* Sog. Imports unterstehen strengen Bedingungen
 +
* Software-Libraries:
 +
** Python wrapper for the OSM API [http://wiki.openstreetmap.org/wiki/Osmapi osmapi] ([https://github.com/metaodi/osmapi github]) 
 +
** "[[OGR]]-to-OSM" - Erweiterung von OGR (OSM Import) für den OSM Export: [https://github.com/pnorman/ogr2osm ogr2osm]
  
 
[[Kategorie:HowTo]]
 
[[Kategorie:HowTo]]

Version vom 9. Oktober 2017, 20:04 Uhr

 *** OUTDATED ***

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 Nutzer sind u.a. technische Sachbearbeiter CAD-Operateure, Raumplaner, Landschaftsplaner, Naturschützer oder Förster.

Überblick

Folgendes ist wichtig für das Verständnis von OpenStreetMap-Daten:

  • Das Datenschema ist nur lose vorgegeben; dafür gibt es die sog. Tags.
  • Die Geometrie besteht aus einem topol. Netzwerk mit Nodes und Way (keine eigentlichen Areas/Polygone):
    • Linien (Ways) verweisen auuf Nodes (haben selber also keine Koordinaten).
    • Flächen in OSM sind entweder geschlossene Ways (mit entsprechendem Tag, z.B. natural=water oder building=yes) oder sog. "Multipolygone", d.h. Relationen zu Ways (Testcases for converting OpenStreetMap data into GIS world formats: [1])

Es gibt folgende Möglichkeiten aus Sicht GIS um OSM-Daten zu kommen:

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

Vgl. dazu auch einzelne Beispiele unten.

OSM-Rohdaten herunterladen

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.
    2. Bereits aufbereitete Shapefiles herunterladen von Geofabrik: Siehe OSM#OSM_zu_Shapefiles_konvertieren
    3. 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 Overpass Turbo und die Overpass API-Doku. mit Verweis auf Server.

Tipp 2: siehe dazu XAPI mit demden XAPI URL Builder.

Tipp 3: 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 (es gint noch lines und polygons)
  • 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 (*)

Soll auch für Webapplikationen geeignet sein, ist aber auf eine einzige key=value-Bedingung beschränkt, ie z.B. http://www.gis-hosting.lu/osm2web/export/points/cuisine/pizza.geojson?bbox=8.420,47.072,9.088,47.431&srid=4326 (vgl. [3] und die Tipps unten).

Tipp 4: 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.

OSM-Daten (lokal) in ein GIS-Format konvertieren

Die meisten der folgenden Konverter werden im SVN-Repository des OSM-Projekts verwaltet:

  • osm2pgsql - Ein OSM-Daten to PostgreSQL/PostGIS-DB Converter und Loader. Siehe OSM-Technisches.
  • Osmosis - Importiert OSM planet files (OSM, MySQL, PostgreSQL). Siehe OSM-Technisches.
  • Osm2Csv - Converts an OSM planet file to files nodes.csv, ways.csv and waytags.csv (und dann...?).
  • Osmxapi (siehe unten).

Weitere:

  • Ein OSM-zu-GML-Skript (XSLT), das dann weiter z.B. nach Shapefile verarbeitet werden kann, z.B. mit OGR und GeoConverter: Siehe [4]
  • Osm2Csv - Converts an OSM planet file to files nodes.csv (id,lat,lon,timestamp,taglist) and ways.csv (id,timestamp,taglist) and waytags.csv (way-id,key,value). It does not use more memory if planet.osm is larger. It uses Java and the MinXML parser.
  • SQLite/SpatiaLite mit Hilfe der SpatiaLite-Tools 'spatialite_osm_map' und QGIS
  • FME

OSM-Daten direkt als GIS-Format herunterladen

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.

Direktes Exportieren mittels Webdienste 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).
  • 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 und KML zurückliefern kann. Siehe oben.

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 PostGIS-Terminal (nur WKT und 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.

Daten der Schweiz (Stand Vorgestern). Kennt Punkte (POIs), Linien und Flächen; POI-Tabelle enthält sowohl Punkte wie auch Flächen. Kennt kein Export und kann höchstens GeoJSON. Mehr zum PostGIS_Terminal#Help.

Variante OpenPOIMap (nur Schweiz)

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

Daten der Schweiz (Stand vorgestern); nur Nodes/POIs. Mehr zu OpenPOIMap.

Variante Overpass Turbo (nur im Browser und BBox)

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

Schweiz ist nur als BBox abgegrenzt, gibt also mehr Daten zurück als gewünscht; JSON ist grössenmässig beschränkt (Browserkapazität) nur in Overpass Turbo verfügbar (per Copy&Paste). Etwas gewöhnungsbedürftige Query-Syntax. Hier mehr zu Overpass.

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.

Upload nach OSM

  • Sog. Imports unterstehen strengen Bedingungen
  • Software-Libraries:
    • Python wrapper for the OSM API osmapi (github)
    • "OGR-to-OSM" - Erweiterung von OGR (OSM Import) für den OSM Export: ogr2osm