Я хочу взяти вихід XML запиту Xapi і відобразити його за допомогою листівки або полімап. Як я можу це зробити? Чи є простий спосіб перетворити XML в geojson
Я хочу взяти вихід XML запиту Xapi і відобразити його за допомогою листівки або полімап. Як я можу це зробити? Чи є простий спосіб перетворити XML в geojson
Відповіді:
OSM2GEO - конвертер JS для перетворення OSM в 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."
Кредит П.Арунможі
Розроблена (як березень 2013) версія gdal читає підтримку OSM , як для простого формату XML, так і для PBF.
Отже, ви можете конвертувати файл OSM за допомогою:
ogr2ogr -f GeoJSON myfile.geojson myfile.osm.pbf
Ви можете конвертувати OSM XML в GeoJson за допомогою ogr2ogr. Для перетворення в GeoJSON без отримання наступної помилки:
ERROR 6: GeoJSON driver doesn't support creating more than one layer
Ви можете використовувати одну з наступних команд або всі їх:
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
osmtogeojson - це ще один перетворювач OSM-в-GeoJSON, який має кілька переваг порівняно з цим (OSM2GEO) або osm-and-geojson:
Бібліотека вже використовується на geojson.io , а також overpass-turbo.eu .
Ще один спосіб зробити плагін OpenStreetMap для Leaflet . Таким чином ви можете використовувати свій запит Xapi безпосередньо у своєму коді. Хоча це має сенс лише для невеликих наборів даних, оскільки запит потребує певного часу.
Використовувати osmtogeojson, як написано в цьому посібнику :
osmtogeojson Pittsburgh.xml > Pittsburgh.geojson