Konwertuj pliki kształtu do GeoJSON?

19

Próbuję przekonwertować pliki Shapefiles ze strony internetowej Senatu w Teksasie do pliku GeoJSON do użytku z interfejsem API Map Google. Używam QGIS w celu ułatwienia, ale nie mogę uzyskać prawidłowej projekcji / współrzędnych. Do tej pory wypróbowałem Google Mercator (EPSG: 900913) i WGS 84 (EPSG: 4326) bez powodzenia. Używam OpenLayers do sprawdzania wyników i wciąż umieszcza Teksas w pobliżu Zatoki Gwinejskiej (0 lat, 0 lng).

użytkownik 28781
źródło

Odpowiedzi:

23

Załadowanie pliku shapefile bezpośrednio do QGIS nie stanowi problemu.

Dane są w EPSG: 3081, lepiej zostaw to w ten sposób. Interfejs API Google oczekuje dłuższych wartości, więc docelowym CRS powinien być EPSG: 4326.

Wystarczy kliknąć warstwę prawym przyciskiem myszy -> Zapisz jako ..., aby wybrać typ pliku GeoJSON, inną nazwę pliku i EPSG: 4326 jako nowy CRS. Możesz dodać wynik do kanwy, aby zobaczyć, że są wyrównane ( On-the-fly-reprojectionwybrane).

AndreJ
źródło
jakikolwiek sposób „zapisać jako” z wieloma warstwami?
chrismarx
Nie, każdy plik wymaga innej nazwy pliku docelowego. Możesz użyć ogr2ogr w wierszu poleceń do przetwarzania wsadowego.
AndreJ
Wydaje się, że być może obsługa przetwarzania wsadowego, która obsługuje takie rzeczy, jak rozsądne ustawienia domyślne automatycznego nazywania plików, może być wykorzystana do wysłania plików wynikowych do folderu
chrismarx
6

Oto narzędzie do konwersji pliku shapefile na geojson za pośrednictwem przeglądarki internetowej bez kodu po stronie serwera i obsługującego kodowanie w języku innym niż angielski, wystarczy przesłać plik zip i ustawić kodowanie dla poprawnego tekstu.

https://github.com/gipong/shp2geojson.js

Jeśli korzystasz z tej biblioteki wraz z Google Map api v3, możesz pominąć pole kodu EPSG, ponieważ archiwum ZIP (PlanS172.zip) pobrane ze strony internetowej Senat stanu Teksas zawiera plik .prj.

loadshp({
    url: '/shp/PlanS172.zip', // path or your upload file
    encoding: 'big5' // default utf-8
}, function(geojson) {
    // geojson returned
});

wprowadź opis zdjęcia tutaj

Gipong
źródło
5

Za pomocą wiersza poleceń:

ogr2ogr -f GeoJSON -t_srs crs:84 output.geojson input.shp

Myślę, że tego właśnie używa klient sieci z tej odpowiedzi .

Martin Thoma
źródło
Właśnie przetestowane. Zachowuje się znacznie lepiej niż QGIS, jeśli chodzi o zużycie pamięci RAM!
Ikar Pohorský
2

To powinno ci pomóc, jeśli potrzebujesz tylko kilku plików kształtów

http://ogre.adc4gis.com/

Brett Cullen
źródło
to całkiem miłe, miałem właśnie wysłać link z przykładem
ogr2ogr
-2

GeoJSON oparty jest na JavaScript Object Notation. W tym poście możesz zapoznać się z różnymi metodami konwersji plików kształtów online, offline lub za pomocą interfejsu API, z którego możesz skorzystać. Sprawdź ten post, aby przekonwertować pliki kształtów na GeoJSON pliki pliki do użycia w mapie Google.

Różne sposoby konwersji Shapefile na GeoJSON - Online lub Offline lub API

Himanshu Patel
źródło
2
Zalecane są linki do zasobów zewnętrznych, ale dodaj kontekst wokół linku, aby inni użytkownicy mieli pojęcie, co to jest i dlaczego. Zawsze podawaj najistotniejszą część ważnego linku, na wypadek gdyby strona docelowa była nieosiągalna lub została trwale wyłączona.
ArMoraer