Eu quero pegar a saída XML de uma consulta Xapi e exibi-la usando o folheto ou polímaps. Como eu posso fazer isso? Existe uma maneira fácil de converter XML em geojson
Eu quero pegar a saída XML de uma consulta Xapi e exibi-la usando o folheto ou polímaps. Como eu posso fazer isso? Existe uma maneira fácil de converter XML em geojson
Respostas:
OSM2GEO - Um conversor de JS para converter OSM para 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 para P.Arunmozhi
A versão de desenvolvimento (em março de 2013) do gdal possui suporte de leitura para OSM , tanto no formato XML quanto no PBF.
Para que você possa converter seu arquivo OSM com:
ogr2ogr -f GeoJSON myfile.geojson myfile.osm.pbf
Você pode converter XML do OSM em GeoJson com ogr2ogr. Para converter para GeoJSON sem obter o seguinte erro:
ERROR 6: GeoJSON driver doesn't support creating more than one layer
Você pode usar um dos seguintes comandos ou todos eles:
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
o osmtogeojson é outro conversor OSM para GeoJSON, que possui alguns benefícios quando comparado a este (OSM2GEO) ou osm-and-geojson:
A biblioteca já está em uso no geojson.io e também no overpass-turbo.eu .
O plugin OpenStreetMap para Leaflet é outra maneira de fazer isso. Dessa forma, você pode usar sua consulta Xapi diretamente no seu código. Embora faça sentido apenas para um pequeno conjunto de dados, já que a solicitação demora um pouco.
Use osmtogeojson como está escrito neste guia :
osmtogeojson Pittsburgh.xml > Pittsburgh.geojson