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

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


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


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 .


Właśnie przetestowane. Zachowuje się znacznie lepiej niż QGIS, jeśli chodzi o zużycie pamięci RAM!
— Ikar Pohorský


-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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.