Я хочу взять XML-вывод запроса Xapi и отобразить его с помощью листовки или полипов. Как я могу это сделать? Есть ли простой способ конвертировать XML в геойсон
Я хочу взять XML-вывод запроса Xapi и отобразить его с помощью листовки или полипов. Как я могу это сделать? Есть ли простой способ конвертировать XML в геойсон
Ответы:
OSM2GEO - JS Converter для преобразования 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."
Кредит П.Арунможи
Версия gdal для разработчиков (по состоянию на март 2013 года) имеет поддержку чтения 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