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.