Wie konvertiert man OSM XML nach Geojson?


17

Ich möchte die XML-Ausgabe einer Xapi-Abfrage mithilfe von Broschüren oder Polymaps anzeigen. Wie kann ich das machen? Gibt es eine einfache Möglichkeit, XML in Geojson zu konvertieren?


Danke für Ihren Vorschlag. Ich habe es genauso versucht, wie ihr es vorgeschlagen habt, aber leider ist die Konvertierung mit folgendem Fehler fehlgeschlagen !!! <I> Kann jemand bitte vorschlagen? Vielen Dank im Voraus für Ihre Zeit. </ I> C: \ Programme \ FWTools2.4.7 \ bin> ogr2ogr -f GeoJSON D: \ New.geojson D: \ z.pbf <B> FEHLER: Kann nicht geöffnet werden Datenquelle `z.pbf 'mit folgenden Treibern. <br> -> ESRI-Shapefile-Dateien -> MapInfo-Datei-Dateien -> UK .NTF-Dateien -> SDTS-Dateien -> TIGER-Dateien -> S57-Dateien -> DGN-Dateien - > VRT-Dateien -> REC-Dateien -> Speicher-Dateien -> BNA-Dateien -> CSV-Dateien -> NAS-Dateien -> GML-Dateien -> GPX-Dateien -> KML <br> -> GeoJSON <br> ->

Dies scheint eher eine neue Frage als eine Antwort zu sein. Wenn dies der Fall ist, posten Sie es als neue Frage.
Martin

Antworten:


7

OSM2GEO - Ein JS Converter zum Konvertieren von OSM nach GeoJSON

* OSM2GEO - OSM to GeoJSON converter
* OSM to GeoJSON converter takes in a .osm XML file as input and produces
* corresponding GeoJSON object.
*
* AUTHOR: P.Arunmozhi <>
* DATE : 26 / Nov / 2011
* LICENSE : WTFPL - Do What The F##% You Want To Public License
* LICENSE URL: http://sam.zoy.org/wtfpl/
*
* DEPENDENCY: OSM2GEO entirely depends on jQuery for the XML parsing and
* DOM traversing. Make sure you include <script src="somewhere/jquery.js">
* </script> before you include osm2geo.js
*
* USAGE: This script contains a single function -> geojson osm2geo(osmXML)
* It takes in a .osm (xml) as parameter and returns the corresponding
* GeoJson object."

Gutschrift an P.Arunmozhi

https://gist.github.com/1396990


10

Die Entwicklungsversion (ab März 2013) von gdal unterstützt OSM sowohl für einfaches XML- als auch für PBF-Format.

So können Sie Ihre OSM-Datei konvertieren mit:

ogr2ogr -f GeoJSON myfile.geojson myfile.osm.pbf


8

Sie können OSM XML mit ogr2ogr in GeoJson konvertieren. So konvertieren Sie nach GeoJSON, ohne den folgenden Fehler zu erhalten:

ERROR 6: GeoJSON driver doesn't support creating more than one layer

Sie können einen der folgenden oder alle der folgenden Befehle verwenden:

ogr2ogr -f GeoJSON points.json data.osm.pbf points
ogr2ogr -f GeoJSON lines.json data.osm.pbf lines
ogr2ogr -f GeoJSON multilinestrings.json data.osm.pbf multilinestrings
ogr2ogr -f GeoJSON multipolygons.json data.osm.pbf multipolygons
ogr2ogr -f GeoJSON other_relations.json data.osm.pbf other_relations

6

osmtogeojson ist ein weiterer OSM-zu-GeoJSON-Konverter, der im Vergleich zu diesem (OSM2GEO) oder Osm-and-Geojson einige Vorteile bietet:

  1. kann sowohl als Kommandozeilen-Tool als auch als Javascript-Bibliothek (Browser und NodeJS) verwendet werden.
  2. richtige Multipolygon-Unterstützung
  3. ausgefeilte Polygonerkennung
  4. stabil (kann mit unvollständigen OSM-Daten umgehen)
  5. gut getestet
  6. schneller

Die Bibliothek ist bereits im Einsatz auf geojson.io sowie overpass-turbo.eu .


Unterstützt keine historischen Daten (.osh.pbf)
Max von Hippel

Ich weiß, dass dieser Kommentar zu spät kommt. Dieses Tool ist erstaunlich (es scheint immer zu funktionieren), aber es ist LANGSAM. Derzeit prüfen wir Alternativen zu osmtogeojson, da selbst die Konvertierung einer ~ 100 MB Übersteuerungsausgabe auf einem relativ leistungsfähigen Computer etwa 40 Sekunden dauert. Wir sind gespannt, ob GDAL aus Geschwindigkeitsgründen eine Alternative sein kann. Wenn die Geschwindigkeit keine Rolle spielt, empfehle ich diese Bibliothek.
Tommy

0

OpenStreetMap-Plugin für Leaflet ist eine andere Möglichkeit, dies zu tun. Auf diese Weise können Sie Ihre Xapi-Abfrage direkt in Ihrem Code verwenden. Dies ist jedoch nur für kleine Datenmengen sinnvoll, da die Anforderung eine Weile dauert.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.