HowTo OpenStreetMap: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
K (OSM-Daten exportieren)
K (OSM-Daten exportieren)
Zeile 82: Zeile 82:
  
 
Es gibt folgende OpenStreetMap-Export-Möglichkeiten inkl. Webservices:
 
Es gibt folgende OpenStreetMap-Export-Möglichkeiten inkl. Webservices:
* Reines OSM-Format (RAW XML), d.h. in OSM-Datenstruktur:
+
* Rohdaten-Format von OSM (RAW OSM-XML), d.h. in OSM-Datenstruktur:
 
** XAPI-basierte Webservices: Siehe v.a. den [http://harrywood.co.uk/maps/uixapi/xapi.html 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).  
 
** XAPI-basierte Webservices: Siehe v.a. den [http://harrywood.co.uk/maps/uixapi/xapi.html 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).
 
** Die Startseite von [[OpenStreetMap]] hat eine Export-Funktion im OSM/XML-Format (reiner Download).
 
** Mit der[[JOSM]]-Desktopapplikation gibt es einen Export nach OSM/XML.
 
** Mit der[[JOSM]]-Desktopapplikation gibt es einen Export nach OSM/XML.
 
** [http://openstreetmapdata.com/ OpenStreetMapData.com] - Speziell geeignet für die Extraktion für Länder-, Gewässer- und Küsten-Grenzen der Welt.
 
** [http://openstreetmapdata.com/ OpenStreetMapData.com] - Speziell geeignet für die Extraktion für Länder-, Gewässer- und Küsten-Grenzen der Welt.
* in verschiedenen GIS-Formaten, wie z.B. Spatialite, Shapefile, GeoJSON, KML etc.:  
+
* Exportieren in verschiedene GIS-Formate, wie z.B. Spatialite, Shapefile, GeoJSON, KML etc.:  
** [[OpenPOIMap]] - Webapplikation mit Preview, Download direk in verschiedenen GIS-Formate, und als [[WFS]]-Webservice (zurzeit auf Daten der Schweiz beschränkt).
 
 
** [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.)
 
** [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.)
 +
** [[Overpass API]] (insbesondere Overpass Turbo) - selektiver Download von Daten aus der Hauptdatenbank von OSM (GeoJSON und Rohdaten)
 +
** [[OpenPOIMap]] - Webapplikation mit Preview, Download von Punktdaten direkt in verschiedene GIS-Formate, auch als [[WFS]]-Webservice (zurzeit auf Daten der Schweiz beschränkt).
 
** [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).
 
** [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).
  

Version vom 8. Februar 2013, 00:45 Uhr

Siehe auch: OpenStreetMap, OSM-Format.


Einführungen in OpenStreetMap

Eine gute Einführung in OpenStreetMap bietet OpenStreetMap in drei Minuten.

Externe Links/Quellen:

Bücher:

Kartenelemente/Map Features

Eigentlich geht es um Geodaten-Objekte (features), die mittels sog. Renderer (z.B. Mapnik, Osmarender, Kosmos und Merkaartor) dargestellt werden (aber 'Kartenelemente' ist verständlicher).

Online-Suche nach Kartenelementen

  1. TagFinder von OpenPOIMap (deutsch<=>englisch) (Schweiz)
  2. Suche mit Taginfo (.de) (weltweit, englisch) oder mit Taginfo (.ch) (Schweiz)
  3. Browser-Suche mit der Wiki-Suche von OpenStreetMap (mehrsprachig)
  4. Suche Nominatim/Special Phrases/DE (deutsch=>englisch)
  5. Browsen in der OSM-Tag-Liste (POI-Kategorien) mit dem PostGIS-Terminal

Tipps: Über die Erfassungshilfen in den OSM-Editoren (Potlatch2, JOSM); dann erst: Google-Suche.

Listen/Kataloge

Listen/Kataloge von wichtigen 'Kartenelementen' in OSM:

Statistiken:

Von Hand zusammengstellte Hilfsdokumente:

Styles und Rules verschiedener Renderer

Eine Liste mit den berücksichtigten 'Kartenelementen' ist nur von wenigen Renderern verfügbar.

Die Renderer und ihre "Map Style Sheets" (Darstellungsmodelle):

OSM-Daten für GPS aufbereiten

Erzeugen von Garmin Maps:

  • Aus OSM-Daten MP files erzeugen,
  • Mit cgpsmapper zu Garmin Maps (.img?) compilieren.
  • und dann mit sendmap(?) hochladen?

Siehe auch GPS.

OSM-Daten für GIS aufbereiten

Hier geht es um das Umwandeln von OSM-Daten in ein GIS-Dateiformat, das Importieren in eine (Geo-)Datenbank oder das direkte Laden der Daten in eine Web- oder Desktopapplikation mittels Webservices. OSM-Daten können - wie Geodaten generell - schnell umfangreich werden, so dass sich eine Verarbeitung auf dem lokalen Computer empfiehlt.

Arbeitsablauf

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.

OSM-Daten exportieren

Es gibt folgende OpenStreetMap-Export-Möglichkeiten inkl. Webservices:

  • 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.
  • Exportieren in verschiedene GIS-Formate, wie z.B. Spatialite, Shapefile, GeoJSON, KML etc.:
    • 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.)
    • Overpass API (insbesondere Overpass Turbo) - selektiver Download von Daten aus der Hauptdatenbank von OSM (GeoJSON und Rohdaten)
    • OpenPOIMap - Webapplikation mit Preview, Download von Punktdaten direkt in verschiedene GIS-Formate, auch als WFS-Webservice (zurzeit auf Daten der Schweiz beschränkt).
    • 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).

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.

OSM-fähige Desktop-Konverter

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).
  • Ein OSM-zu-GML-Skript (XSLT), das dann weiter z.B. nach Shapefile verarbeitet werden kann, z.B. mit OGR und GeoConverter: Siehe [3]
  • 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.
  • Angeblich auch FME(?)

Flächen in OSM

  • Flächen in OSM sind entweder
    • Geschlossene Ways mit entsprechendem Tag, z.B. natural=water
    • Sog. "Multipolygone", d.h. Relationen zu Ways
  • Testcases for converting OpenStreetMap data into GIS world formats: [4]

OSM-Daten erfassen

Zusammenstellung:

Weblinks:

Schritt 0. GPS-Tracks sammeln und hochladen

Mittels GPS gesammelte Wegepunkte sind gemäss der OSM-Philosophie Bestandteil der Hintergrundkarte und fliessen nicht direkt in die Karte ein. Als Hintergrundkarten-Material kommen verschiedene Quellen in Frage (vgl. Tipp oben). Es ist daher nicht zwingend notwendig, dass vorgängig Wegepunkte mit GPS gesammelt werden. Nachfolgend die zwei Geräte, bzw. Software, die ich verwende:

Ein neueres, Mobile zusammen mit einer günstigen Bluetooth Maus (z.B. GlobalSat BT-338) sowie Logging/Tracking-Software, wie z.B. GpsTrack (Open Source): Weitere Mobile Tracking-Software siehe hier.

Die GPX-Tracks müssen einen Zeitstempel ("") haben. KML/KMZ kann man z.B. mit dem Online-Tool 'GPSies' nach GPX-Tracks konvertieren.

Navis/Mobiles mit empfohlener Software:

  • Navigationsgeräte:
    • Garmin: eTrex Vista C; das nächst grössere Modell 'GPS 60' sei auch nicht schlecht), Colorado => fest eingebaute SW
    • Siehe
  • Smartphones:
    • Android => siehe OSM Wiki z.B. 'MyTracks'
    • iPhone (Apple iOS) => siehe OSM Wiki z.B. Motion GPSX (3 USD), ev. OSMTrack (1 USD)

Schritt 1. Editieren mit JOSM vorbereiten

  • JOSM downloaden und installieren, inkl. JOSM-Plugins (WMS plugin und Yahoo WMS plugin).
  • Bei OSM anmelden
  • auf wiki.openstreetmap.org einen geografischen Ausschnitt wählen (eine Stadt/Gemeinde) und Link kopieren (vgl. http://wiki.openstreetmap.org/index.php/JOSM)
  • Link in JOSM pasten (Download) und für diesen bestehende OSM-Daten downloaden.
  • Als Hintergrund kann man evtl. auch einen alten Stadtplan nehmen (Copyright beachten!), diesen mit dem Rectifier georeferenzieren und als Quelle direkt in JOSM einbinden (Menu WMS > Rectified Image).

Schritt 2. Editieren mit JOSM

Es gibt in den OSM-Daten ein generelles Feld "Layer". Das hat nichts mit dem Layer vom WMS zu tun! Damit wird gesteuert, welche Objekte in der Realität oben und unten liegen. 0 ist der Normalzustand und der Standard-Wert, wenn nichts angegeben ist (z.B. Kreuzung zweier Straßen, Beschränkter Bahnübergang), Wertebereich ist -5 bis 5. Wenn eine Straße über einen Bach geht, dann bekommt dies Stück Straße: bridge=yes, layer=1. Wenn ein Radweg unter einer Hauptstraße getunnelt ist: tunnel=yes, layer=-1. Sie sollten dann auch so gerendert werden. D.h. der niedrigste (OSM-) Layer zuerst und der höchste kommt oben drauf.

Schritt 3. Daten aus JOSM hochladen und auf OSM darstellen

  • Nach dem Hochladen der editierten Daten mit JOSM kann es eine Woche gehen, bis die Daten als Karte sichtbar sind und auch dann offenbar nur, wenn man hineinzoomt, z.B. wie hier auf Stadt Rapperswil.
  • Das Rendern auf den Servern kann beschleunigt werden: Siehe dazu die OpenStreetMap - Tipps und Tricks.

OSM-Daten analysieren

Einzelne Key-Values zählen:

 $ wget -O- http://download.geofabrik.de/osm/europe/switzerland.osm.bz2%7Cbzcat%7Cgrep 'k="amenity" v="telephone"'|wc -l
 $ curl http://download.geofabrik.de/osm/europe/switzerland.osm.bz2%7Cbzcat%7Cgrep 'k="amenity" v="telephone"'|wc -l

Routenplanung

Routing-fähige OSM-Daten müssen bestimmte Bedingungen einhalten, damit die Routenplaner (bzw. deren Algorithmen) die Daten verwenden können.

Infos/Diskussion:

Allgemeine Regeln fürs Routing:

  • Nodes:
    • 'name'=...
    • 'ref'=ID für Fahranweisungen(?)
  • Ways:
    • Netzwerk-Topologie einhalten: Ways an Kreuzungen führen zu gemeinsamen Knoten; Ways, die über Knoten führen unterbrechen
    • Geschwindigkeiten angeben: ...?
  • Relations:
    • Abbiegevorschriften angeben: ...?

Keys, die in OpenRouteService.org verwendet werden (Stand Mitte Juli 2008):

  • Fahrzeug-Routing:
    • 'highway' mit value = motorway, motorway_link, trunk, trunk_link, primary, primary_link, secondary, tertiary, unclassified, residential
    • 'service/access'=yes und living_street
    • 'motorcar'=yes/no
    • 'oneway'
    • 'junction'
  • Fussgänger-Routing:
    • 'highway' mit value = alle Fahrzeuge highway values (ohne motorway/-link), track, service, bridleway, cycleway, footway, pedestrian und steps
    • foot=yes/no
  • Fahrrad-Routing:
    • 'highway' mit value = alle Fahrzeuge highway values (ohne motorway/-link), track, service, bridleway, cycleway, pedestrian und footway
    • 'bicycle'=yes/no
    • 'tracktype=...?' (in Arbeit)