Как вы конвертируете OSM XML в геойсон?


17

Я хочу взять XML-вывод запроса Xapi и отобразить его с помощью листовки или полипов. Как я могу это сделать? Есть ли простой способ конвертировать XML в геойсон


Спасибо за ваше предложение. Я пробовал так же, как вы, ребята, предложили, но, к сожалению, преобразование не удалось со следующей ошибкой !!! <Я> Может кто-нибудь, пожалуйста, предложить? Заранее спасибо за ваше время .... </ i> C: \ Program Files \ FWTools2.4.7 \ bin> ogr2ogr -f GeoJSON D: \ New.geojson D: \ z.pbf <B> СБОЙ: невозможно открыть источник данных `z.pbf 'со следующими драйверами. <br> -> Шейп-файл ESRI <br> -> Файл MapInfo <br> -> UK .NTF <br> -> SDTS <br> -> TIGER <br> -> S57 <br> -> DGN <br> - > VRT <br> -> REC <br> -> Память <br> -> BNA <br> -> CSV <br> -> NAS <br> -> GML <br> -> GPX <br> -> KML <br> -> GeoJSON <br> ->

Похоже, это новый вопрос, а не ответ. Если это так, опубликуйте его как новый вопрос.
Мартин

Ответы:


7

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."

Кредит П.Арунможи

https://gist.github.com/1396990


10

Версия gdal для разработчиков (по состоянию на март 2013 года) имеет поддержку чтения OSM как для простого XML, так и для формата PBF.

Таким образом, вы можете конвертировать ваш файл OSM с:

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


8

Вы можете конвертировать 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

6

osmtogeojson - это еще один конвертер OSM-GeoJSON, который имеет несколько преимуществ по сравнению с этим (OSM2GEO) или osm-and-geojson:

  1. может использоваться как инструмент командной строки, а также как библиотека javascript (browser и nodejs).
  2. правильная поддержка мультиполигонов
  3. сложное обнаружение полигонов
  4. стабильный (может справиться с неполными данными OSM)
  5. хорошо проверено
  6. Быстрее

Библиотека уже используется на geojson.io , а также overpass-turbo.eu .


Не поддерживает исторические данные (.osh.pbf)
Макс фон Хиппель

Я знаю, что этот комментарий опаздывает ... этот инструмент потрясающий (кажется, что он всегда работает), но он МЕДЛЕННЫЙ. В настоящее время мы оцениваем альтернативы osmtogeojson, потому что даже преобразование выходного сигнала ~ 100 МБ на достаточно мощном компьютере занимает около 40 секунд. Мы смотрим, может ли GDAL стать альтернативой по соображениям скорости. Если скорость не имеет значения, я рекомендую эту библиотеку.
Томми

0

OpenStreetMap плагин для Leaflet является еще одним способом сделать это. Таким образом, вы можете использовать ваш запрос Xapi непосредственно в своем коде. Хотя это имеет смысл только для небольших наборов данных, так как запрос занимает некоторое время.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.