Jak przekonwertować OSM XML na geojson?

17

Chcę pobrać dane wyjściowe XML zapytania Xapi i wyświetlić je za pomocą ulotki lub polimap. Jak mogę to zrobić? Czy istnieje prosty sposób na konwersję XML do geojson

null_radix
źródło
Dzięki za Twoją sugestię. Próbowałem w ten sam sposób, co zaproponowaliście, ale niestety konwersja nie powiodła się z następującym błędem !!! <i> Czy ktoś może zasugerować? Z góry dziękuję za czas .... </i> C: \ Program Files \ FWTools2.4.7 \ bin> ogr2ogr -f GeoJSON D: \ New.geojson D: \ z.pbf <B> AWARIA: Nie można otworzyć źródło danych `z.pbf 'z następującymi sterownikami. <br> -> Plik kształtu ESRI <br> -> Plik MapInfo <br> -> UK .NTF <br> -> SDTS <br> -> TIGER <br> -> S57 <br> -> DGN <br> - > VRT <br> -> REC <br> -> Pamięć <br> -> BNA <br> -> CSV <br> -> NAS <br> -> GML <br> -> GPX <br> -> KML <br> -> GeoJSON <br> ->
To wydaje się być nowym pytaniem, a nie odpowiedzią. W takim przypadku opublikuj je jako nowe pytanie.
Martin

Odpowiedzi:

7

OSM2GEO - konwerter JS do konwersji OSM na 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."

Podziękowania dla P.Arunmozhi

https://gist.github.com/1396990

Mapperz
źródło
10

Wersja deweloperska (marzec 2013) gdal ma odczyt obsługi OSM , zarówno dla zwykłego formatu XML, jak i PBF.

Aby przekonwertować plik OSM za pomocą:

ogr2ogr -f GeoJSON mój_plik.geojson mój_plik.osm.pbf

procrastinatio
źródło
8

Możesz przekonwertować OSM XML na GeoJson za pomocą ogr2ogr. Aby przekonwertować na GeoJSON bez otrzymania następującego błędu:

ERROR 6: GeoJSON driver doesn't support creating more than one layer

Możesz użyć jednego z następujących poleceń lub wszystkich:

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
ksnabb
źródło
6

osmtogeojson to kolejny konwerter OSM-na-GeoJSON, który ma kilka zalet w porównaniu z tym (OSM2GEO) lub osm-and-geojson:

  1. może być używany jako narzędzie wiersza poleceń, a także biblioteka javascript (przeglądarki i nodejs).
  2. odpowiednie wsparcie dla wielu wielokątów
  3. zaawansowane wykrywanie wielokątów
  4. stabilny (radzi sobie z niekompletnymi danymi OSM)
  5. dobrze przetestowane
  6. szybciej

Biblioteka jest już używana w geojson.io oraz overpass-turbo.eu .

neogeomat
źródło
Nie obsługuje danych historycznych (.osh.pbf)
Max von Hippel,
Wiem, że ten komentarz się spóźnia. To narzędzie jest niesamowite (zawsze wydaje się działać), ale jest POWOLNE. Obecnie oceniamy alternatywy dla osmtogeojson, ponieważ nawet konwersja wyjścia o wartości około 100 MB Overpass zajmuje około 40 sekund na dość wydajnej maszynie. Szukamy, czy GDAL może być alternatywą ze względu na szybkość. Jeśli prędkość nie jest problemem, polecam tę bibliotekę.
Tommy
0

Wtyczka OpenStreetMap dla Ulotki to kolejny sposób na to. W ten sposób możesz użyć zapytania Xapi bezpośrednio w kodzie. Chociaż ma to sens tylko w przypadku małych zestawów danych, ponieważ żądanie zajmuje trochę czasu.

ustroetz
źródło
0

Użyj osmtogeojson, jak napisano w tym przewodniku :

osmtogeojson Pittsburgh.xml > Pittsburgh.geojson
Francesco Mantovani
źródło