¿Cómo convertir OSM XML a geojson?


17

Quiero tomar la salida XML de una consulta Xapi y mostrarla usando un folleto o polymaps. ¿Cómo puedo hacer eso? ¿Hay una manera fácil de convertir XML a geojson


Gracias por tu sugerencia. He intentado de la misma manera que ustedes lo han propuesto, pero desafortunadamente la conversión falló con el siguiente error. <i> ¿Alguien puede sugerir? Gracias de antemano por su tiempo ... </i> C: \ Archivos de programa \ FWTools2.4.7 \ bin> ogr2ogr -f GeoJSON D: \ New.geojson D: \ z.pbf <B> FALLO: No se puede abrir fuente de datos `z.pbf 'con los siguientes controladores. <br> -> ESRI Shapefile <br> -> Archivo MapInfo <br> -> UK .NTF <br> -> SDTS <br> -> TIGER <br> -> S57 <br> -> DGN <br> - > VRT <br> -> REC <br> -> Memoria <br> -> BNA <br> -> CSV <br> -> NAS <br> -> GML <br> -> GPX <br> -> KML <br> -> GeoJSON <br> ->

Esto parece ser una nueva pregunta en lugar de una respuesta. Si ese es el caso, publíquelo como una nueva pregunta.
Martin

Respuestas:


7

OSM2GEO - Un convertidor JS para convertir OSM a 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."

Crédito a P.Arunmozhi

https://gist.github.com/1396990


10

La versión de desarrollo (desde marzo de 2013) de gdal tiene soporte de lectura para OSM , tanto para formato XML como PBF.

Para que pueda convertir su archivo OSM con:

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


8

Puede convertir OSM XML a GeoJson con ogr2ogr. Para convertir a GeoJSON sin obtener el siguiente error:

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

Puede usar uno de los siguientes comandos o todos ellos:

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 es otro convertidor de OSM a GeoJSON, que tiene algunos beneficios en comparación con este (OSM2GEO) u osm-y-geojson:

  1. se puede usar como herramienta de línea de comandos, así como una biblioteca javascript (navegador y nodejs).
  2. soporte multipolígono adecuado
  3. detección sofisticada de polígonos
  4. estable (puede hacer frente a datos OSM incompletos)
  5. bien probado
  6. Más rápido

La biblioteca ya está en uso en geojson.io , así como en overpass-turbo.eu .


No admite datos históricos (.osh.pbf)
Max von Hippel

Sé que este comentario llega tarde ... esta herramienta es increíble (siempre parece funcionar) pero es LENTA. Actualmente estamos evaluando alternativas al osmtogeojson porque incluso la conversión de una salida de paso superior de ~ 100 MB lleva unos 40 segundos en una máquina razonablemente potente. Estamos buscando ver si GDAL puede ser una alternativa por razones de velocidad. Si la velocidad no es una preocupación, recomiendo esta biblioteca.
Tommy


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.