Як конвертувати OSM XML в geojson?


17

Я хочу взяти вихід XML запиту Xapi і відобразити його за допомогою листівки або полімап. Як я можу це зробити? Чи є простий спосіб перетворити XML в geojson


Дякуємо за вашу пропозицію. Я спробував так само, як ви запропонували, хлопці, але, на жаль, перетворення не вдалося із наступною помилкою !!! <i> Чи може хто-небудь, будь ласка, запропонувати? Заздалегідь дякуємо за ваш час .... </i> C: \ Програмні файли \ FWTools2.4.7 \ bin> ogr2ogr -f GeoJSON D: \ New.geojson D: \ z.pbf <B> ЗВАННЯ: неможливо відкрити джерело даних `z.pbf 'із наступними драйверами. <br> -> Шаблон файлу ESRI - -> Файл MapInfo - -> UK .NTF <br> -> SDTS <br> -> TIGER - -> 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 для перетворення 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

Розроблена (як березень 2013) версія gdal читає підтримку 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 (браузер та 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.