Comment convertir OSM XML en geojson?


17

Je veux prendre la sortie XML d'une requête Xapi et l'afficher à l'aide d'un dépliant ou de polymaps. Comment puis je faire ça? Existe-t-il un moyen facile de convertir XML en geojson


Merci pour votre suggestion. J'ai essayé de la même manière que vous avez proposé, mais malheureusement la conversion a échoué avec l'erreur suivante !!! <i> Quelqu'un peut-il suggérer? Merci d'avance pour votre temps .... </i> C: \ Program Files \ FWTools2.4.7 \ bin> ogr2ogr -f GeoJSON D: \ New.geojson D: \ z.pbf <B> ÉCHEC: impossible d'ouvrir source de données `z.pbf 'avec les pilotes suivants. <br> -> ESRI Shapefile <br> -> Fichier MapInfo <br> -> UK .NTF <br> -> SDTS <br> -> TIGER <br> -> S57 <br> -> DGN <br> - > VRT <br> -> REC <br> -> Mémoire <br> -> BNA <br> -> CSV <br> -> NAS <br> -> GML <br> -> GPX <br> -> KML <br> -> GeoJSON <br> ->

Cela semble être une nouvelle question plutôt qu'une réponse. Si tel est le cas, postez-le comme une nouvelle question.
Martin

Réponses:


7

OSM2GEO - Un convertisseur JS pour convertir OSM en 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édit à P.Arunmozhi

https://gist.github.com/1396990


10

La version de développement (mars 2013) de gdal prend en charge la lecture d' OSM , à la fois pour le format XML et PBF.

Vous pouvez donc convertir votre fichier OSM avec:

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


8

Vous pouvez convertir OSM XML en GeoJson avec ogr2ogr. Pour convertir en GeoJSON sans obtenir l'erreur suivante:

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

Vous pouvez utiliser l'une des commandes suivantes ou toutes:

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 est encore un autre convertisseur OSM-to-GeoJSON, qui présente quelques avantages par rapport à celui-ci (OSM2GEO) ou osm-and-geojson:

  1. peut être utilisé comme outil de ligne de commande ainsi que comme bibliothèque javascript (navigateur et nodejs).
  2. bon support multipolygone
  3. détection sophistiquée des polygones
  4. stable (peut faire face à des données OSM incomplètes)
  5. bien testé
  6. plus rapide

La bibliothèque est déjà utilisé sur geojson.io ainsi que overpass-turbo.eu .


Ne prend pas en charge les données historiques (.osh.pbf)
Max von Hippel

Je sais que ce commentaire arrive tard .. cet outil est incroyable (il semble toujours fonctionner) mais il est LENT. Nous évaluons actuellement des alternatives à osmtogeojson car même la conversion d'une sortie Overpass de ~ 100 Mo prend environ 40 secondes sur une machine raisonnablement puissante. Nous cherchons à voir si GDAL peut être une alternative pour des raisons de vitesse. Si la vitesse n'est pas un problème, je recommande cette bibliothèque.
Tommy

0

Le plugin OpenStreetMap pour Leaflet est une autre façon de le faire. De cette façon, vous pouvez utiliser votre requête Xapi directement dans votre code. Cela n'a de sens que pour un petit ensemble de données, car la demande prend un certain temps.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.