Konversi Shapefile ke GeoJSON?

19

Saya mencoba mengonversi Shapefile dari situs web Distrik Senat Negara Bagian Texas menjadi file GeoJSON untuk digunakan dengan Google Maps API. Saya menggunakan QGIS untuk memfasilitasi tetapi saya tidak bisa mendapatkan proyeksi / koordinat dengan benar. Sejauh ini saya sudah mencoba Google Mercator (EPSG: 900913) dan WGS 84 (EPSG: 4326) tanpa hasil. Saya menggunakan OpenLayers untuk memverifikasi hasil dan terus menempatkan Texas di dekat Teluk Guinea (0 lat, 0 lng).

pengguna28781
sumber

Jawaban:

23

Tidak masalah untuk memuat shapefile yang dapat diunduh langsung ke QGIS.

Data dalam EPSG: 3081, Anda lebih baik membiarkannya begitu. Google API mengharapkan nilai latlong, jadi target CRS harus EPSG: 4326.

Klik kanan pada layer -> Save As ... untuk memilih jenis file GeoJSON, nama file yang berbeda, dan EPSG: 4326 sebagai CRS baru. Anda dapat menambahkan hasilnya ke kanvas untuk melihat bahwa mereka sejajar ( On-the-fly-reprojectiondipilih).

AndreJ
sumber
cara apa pun untuk "menyimpan sebagai" dengan banyak lapisan?
chrismarx
Tidak, setiap file memerlukan nama file tujuan yang berbeda. Anda dapat menggunakan ogr2ogr pada baris perintah untuk pemrosesan batch.
AndreJ
Sepertinya mungkin dukungan pemrosesan batch, yang mendukung hal-hal seperti default yang masuk akal untuk penamaan file otomatis dapat digunakan untuk hanya mengirim file yang dihasilkan ke folder
chrismarx
6

Berikut adalah alat konversi untuk shapefile ke geojson melalui browser web tanpa kode sisi server dan mendukung penyandian non-Inggris, hanya perlu mengunggah file zip dan mengatur penyandian untuk teks dengan benar.

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

Jika Anda menggunakan pustaka ini dengan Google Map api v3, Anda dapat melewati bidang kode EPSG karena unduhan arsip ZIP (PlanS172.zip) dari situs web State of Texas Senate District yang berisi file .prj.

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

masukkan deskripsi gambar di sini

Gipong
sumber
5

Melalui baris perintah:

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

Saya kira inilah yang digunakan klien web dari jawaban ini .

Martin Thoma
sumber
Baru diuji. Berperilaku lebih baik daripada QGIS dalam hal konsumsi RAM!
Ikar Pohorsky
2

Ini akan membantu Anda jika Anda hanya perlu melakukan beberapa shapefile

http://ogre.adc4gis.com/

Brett Cullen
sumber
itu cukup bagus, saya akan mengirim tautan dengan contoh
ogr2ogr
-2

GeoJSON didasarkan pada Notasi Objek JavaScript. Di sini, di pos ini Anda dapat menjelajahi berbagai metode untuk mengonversi shapefile online, atau offline atau dengan bantuan API yang dapat Anda manfaatkan. Jadi, periksa pos ini untuk mengonversi shapefile menjadi file GeoJSON untuk digunakan di peta google.

Berbagai cara untuk mengubah Shapefile ke GeoJSON - Online atau Offline atau API

Himanshu Patel
sumber
2
Tautan ke sumber daya eksternal dianjurkan, tetapi tolong tambahkan konteks di sekitar tautan sehingga sesama pengguna Anda akan mengetahui apa itu dan mengapa ada di sana. Selalu kutip bagian yang paling relevan dari tautan penting, jika situs target tidak dapat dijangkau atau offline secara permanen.
ArMoraer