OSM-Technisches
Diese Seite enthält technische Aspekte zum OSM-Projekt. Die Einstiegsseite zu OpenStreetMap befindet sich hier.
Siehe auch:
- OpenStreetMap - Einstiegsseite ins Projekt mit weiteren Weblinks
- HowTo OpenStreetMap - 'Alles' über das Erfassen, Editieren und Darstellen von OpenStreetMap-Daten
- GeoConverter
Die OSM-'Tool Chain'
Rechts in der Grafik ein Überblick über die Software, die zur Herstellung der Daten und der Karte auf der OSM-Startseite verwendet werden.
Verfügbarkeit der OSM-Webapplikationen und -Webservices: OSM-Plattform-Status
Routing
Einfaches Indoor-Routing (2D) geht mit OSM-Daten bereits (vgl. OpenRouteSerivce.org).
Links: [1]
Constraints/Checks:
- Wege im Gebäude vorhanden und mit dem Straßennetz außerhalb des Gebäudes verbunden?
- Für '3D' sind die Tags noch etwas experimentell
- nicht verbundene Ways
- auf die Digitalisierungsrichtung bei Oneways und zb Roundabouts achten?
- richtige Schreibweisen der Highway-Values
- "richtige"/genormte Schreibweise bei Straßennamen: "Str." vs. "Strasse" vs. "Straße" ....
- "tote" Ways -> Ways ohne Nodes
- Ways mit ein und derselben Node
3D Buildings
- Simple 3D Buildings Tagging Schema (S3DB): http://wiki.openstreetmap.org/wiki/Simple_3D_Buildings
- Demo: http://rbuch703.de/osmsv/?lat=47.22069461&lng=8.81504774&yaw=20.5&pitch=-28.9&height=272.25
Indoor
- Simple Indoor Tagging Schema: https://wiki.openstreetmap.org/wiki/Simple_Indoor_Tagging
Technische Dokumentation zum OSM-Dateiformat
OSM/XML besteht aus Knoten (Nodes), Kanten-Listen (Ways, früher: Segments) und Relations.
- http://wiki.openstreetmap.org/index.php/Develop - Übersicht und Einführung für Entwickler.
- http://wiki.openstreetmap.org/index.php/REST - Beschreibung des APIs.
- Planet.osm-Repository.
- OpenStreetMap - Die freie Weltkarte nutzen, Buch von Frederic Ramm und Jochen Topf, 29.95 Euros. ISBN is 978-3-86541-262-1.
- OSM-Karten in Garmin-Geräte (GPS) verwenden: [2], [3]
Import/Export der OSM-Daten
FAQ
- How to get the OSM data?
- If the size of the bounding box isn't too large osmxapi is great. osmxapi will return data from its own database, it's a web-based app; you don't need to download a planet file. If you want a large area or many areas, then switch to osmosis. Osmosis is a local application working on your own data file you need to download a planet file before.
- How to get reliable bbox coordinates?
- Use http://www.informationfreeway.org/ Google Earth is probably the simplest, possibly Google Maps.
- Why are osm_id columns (generated from osm2pgsql) just almost but not completely unique?
- Because a single feature in an OSM source file can translate into multiple "features" in the database. Parking areas which create nodes is the obvious one, but there are others like route-relations.
Notizen
- OpenStreetMap#Osmxapi - schreibt/exportiert nach XML direkt vom Webserver.
- OpenStreetMap#Osmosis - liest lokal oder übers Web (OSM REST API) und schreibt/exportiert nach XML, MySQL und PostgreSQL ink. diffs.
Möglichkeiten:
- Converting OSM to GML - mit XSLT. Kann dann z.B. mit OGR weiterverarbeitet werden
- utils auf SVN (Tool-Sammlung) z.B. mit osm2cvs (Perl) und osm2kml (cpp)
- Shapefile upload script
- Open Street Maps in ArcGIS laden (ArcScript mit Python)
- OSM Export for Ruby
Outdated:
- OSM in Google Earth (kml), XSLT-Skript (leider noch mit 0.4 API).
Mobiles:
- Converting OSM to Garmin IMG by using mkgmap
- Mit Shustrik's .map file creation tool für MGMaps aufbereiten.
OSM zu Shapefiles konvertieren
Man beachte, dass es bedingt durch das Datenmodell von OSM keine einzig richtige Konversion gibt.
Ein Versuch eines Datenmodells, das topografischen Karten nahe kommt, wird hier diskutiert:
- Mailingliste http://lists.geofabrik.de/listinfo/osm-gis
- Erste Ergebnisse lassen sich direkt ab Geofabrik.de herunterladen, diese sind wie folgt strukturiert: buildings, natural, points, railways, roads, waterways.
Ansonsten kann man vorsichtigerweise bei Nodes/Ways/Relations bleiben. Für kleinere Ausschnitte:
- Export-Tab auf openstreetmap.org => .osm lokal speichern.
- .osm zu GML konvertieren mit XSTL-Skript (Converting, verwendet xalan). Achtung: Das XSLT muss noch verbessert werden ('Closed Ways' fehlen).
- GML zu Shapefiles konvertieren mit OGR-Tools oder GeoConverter.
Für grössere Datenmengen:
- Export nach .osm mit Planetfiles (siehe oben)
- Import in PostgreSQL mit osm2pgsql
OSM in ArcGIS 9.x
Siehe Hinweise zur Nutzung von OSM in ArcGIS 9.x.
Programming Resources
Tutorials:
- uMap - Tool: OpenSchoolMaps > "uMap der Karteneditor". Example: "Electromobility Charging Stations".
- OpenSchoolMaps > Unterrichtsmaterialien > "OpenStreetMap-Daten beziehen und mit QGIS 3 nutzen (für Fortgeschrittene)" (Keywords: Overpass, QGIS QuickOSM-Plugin, OSM-Daten-Download).
Webapps and Tools:
- Overpass - an OpenStreetMap query API with Web app ("Turbo"): Overpass API
- Process OSM (history) data e.g. with command line osmium tool.
Web Mapping Clients:
- >> OpenStreetMap für Webkarten <<
- >> Leaflet Mapping Librariy in Javascript <<
- Webmapping_Clients
OSM History:
- Overpass with attic history data.
- OSM History country extracts can be downloaded from (Geofabrik)[4] using OSM account as login.
- ohsome History API: Covers only Germany.
- GrapQL API to OSM Database based on postgraphile/PostGIS (https://github.com/singingwolfboy/graphile-build-postgis ) or https://github.com/hasura/graphql-engine connected to EOSMDBOne.
Overpass
An OpenStreetMap query API with Web app ("Turbo"): See Overpass.
osm2pgsql
Einer der beliebtesten "OSM-Daten zu PostgreSQL/PostGIS-DB" Converter und Loader.
Siehe Osm2pgsql.
Osmium-tool
Ein OSM-Daten Import- und Export-Tool (inkl. diffs). Liest/schreibt Dateien und Datenbanken (PostGIS).
Homepage: https://osmcode.org/osmium-tool/
Osmosis
Ein OSM-Daten Import- und Export-Tool (inkl. diffs). Liest/schreibt Dateien und Datenbanken (PostGIS). Homepage: Osmosis.
>> Das Osmium-tool (siehe oben) ist neuer und schneller als Osmosis. Ausserdem ist Osmosis nicht zu verwechseln mit dem QA-Tool Osmose <<
Beispiel-Aufrufe
Entity Report: Erzeugt report-entity.txt
> java -jar osmosis.jar --read-xml switzerland.osm --report-entity
report-entity.txt:
********** User Report ********** USER NAME NODES WAYS RELNS anonymous 432095 41866 84 fundriver 248 43 1 gummibaerli 596 8 0 ...
Integrity Report: Erzeugt report-integrity.txt (falls es Probleme gibt)
> java -Xmx1024m -jar osmosis.jar --read-xml switzerland.osm --report-integrity EnableDateParsing=no
Howto mit PostgreSQL
How to load an 0.6 OSM file into PostgreSQL (from J. Zobel on OSM-Dev mailing list; loaded Germany in about 6 hours):
- Download PostgreSQL schema from Brett Henderson: http://gweb.bretth.com/apidb06-pgsql-latest.sql
- Split the script into 2 parts at the COPY statements.
- Run the first part to create the schema without indexes and foreign keys.
- Run (the following is an example, adapt the parameters)
bin/osmosis --read-xml-0.6 file=~/Desktop/download/germany.osm.bz2 --write-apidb-0.6 host=localhost database=osm1 user=osm password=**** populateCurrentTables=yes validateSchemaVersion=no
- When osmosis started to copy into the current_* tables, things slow down (nearly no disk writes, lots of reads). So add primary keys on nodes, node_tags, ways, way_nodes and way_tags and copying ran run fast
- Run the second part of the schema script creating the missing indexes and FKs.
Eigener OSM-Server installieren
Tile-Service als auch XML API.
Siehe The Rails Port vom OSM-Wiki.
OSM-Daten auf eigenem Server darstellen ('rendern')
TIPP: Mit OpenStreetMap-in-a-Box.
- Als bereits gerenderte Rasterdatei über http://tah.openstreetmap.org
- Via PostGIS (osm2pgsql) im UMN Mapserver:
- mapnik config file (UMN Mapserver Mapfile?) is in SVN...?
- http://wiki.openstreetmap.org/index.php/Displaying_OSM_Shapefiles_In_Mapserver
- http://wiki.openstreetmap.org/index.php/Mapserver
- Via PostGIS im GeoServer
- Mapnik oder Osmarender lokal installieren...
- Mapnik-Rules: Siehe [5] (Jochen Topf's XSLT)
- SVG direkt erzeugen...?
- Windows (im DOS-Fenster): % msxsl.exe osm-map-features-z15.xml -pi -o map.svg
- wobei die Input-Datei data.osm heissen muss und '...-z15' dem Zoom-Level 15 entspricht (aus 12..17).
- Bezug XML/XSLT: osmarender-frontend auf svn.openstreetmap.org
- Bezug msxsl.exe: Siehe Microsoft Homepage.
- Windows (im DOS-Fenster): % msxsl.exe osm-map-features-z15.xml -pi -o map.svg