Mengonversi GeoJSON ke Shapefile menggunakan ogr2ogr?

24

Saya memiliki file GeoJson yang ingin saya konversikan ke ESRI Shapefile menggunakan ogr2ogr di FWTools.

Saya mencoba menggunakan

ogr2ogr -F "ESRI Shapefile" filename.shp geojsonfile.json OGRGeoJSON

Saya mendapat hasil

GALAT 6: Tidak dapat membuat bidang tipe StringList pada lapisan shapefile. GALAT 1: Berusaha menulis geometri non-poligon (POINT) untuk mengetikkan shapefile. GALAT 1: Menghentikan terjemahan sebelum waktunya setelah terjemahan gagal dari layer OGRGeoJSON

Masukan GeoJSON yang kami berikan adalah dalam format geojson standar.

konten geojson seperti {untuk berbagi saya hanya mengambil bagian dari array fitur}

{"id":1223,
"properties":{"name":"3","level":2},
"map_version":11,"type":"FeatureCollection","x_id":1234,"obj_type":"LevelGeometry",
"features":[

{
"my_area":[131.40093253528894,33.58879853190332,6.515867411008615,3.490549810987222,-0.6237271428108215],
"id":1984791,
"location":{"type":"Point","coordinates":[131.4009325,33.5887985]},
"properties":{"display_name":"xyz"},
"type":"Feature",
"geometry":{"type":"Polygon","coordinates":[[[131.4009508,33.5888314],[131.4008895,33.5887946],[131.4009148,33.5887653],[131.4009761,33.5888020],[131.4009508,33.5888314]]]},
"obj_type":"Geometry"
}

]
}
sidd.k
sumber
2
Selamat datang di forum SE.GIS. Lihat pertanyaan serupa gis.stackexchange.com/questions/13762/…
Sunil
Terima kasih telah menyambut :) Saya telah melalui tautan itu sebelum memposting. Saya tidak ingin menggunakan FME, ingin melakukannya menggunakan FWTools untuk linux. Saya telah mengonversi wkt menjadi shapefile sebelumnya yang cukup memuaskan, tetapi sekarang saya memiliki data yang sama dalam format geoJSON dan bukan wkt. dan perlu memiliki file shp, sementara saya coba lakukan saya mendapatkan kesalahan;
sidd.k
Saya memberikan suara untuk tetap terbuka, karena pertanyaan yang ditautkan tidak menjawab pertanyaan ini.
Devdatta Tengshe
Konversi data pengujian Anda berfungsi dengan baik untuk saya dengan versi ogr2ogr 1.9.2 dan 1.10. Shapefile dengan 1 poligon dibuat tanpa kesalahan. "FWTools for linux" Anda mungkin terlalu lama. Apa yang ogr2ogr --versiondikatakan?
Hermann
1
Switch --version belum ada dalam versi ogr2ogr yang didistribusikan dengan FWTools 2.0.6 Saya juga menduga itu belum mendukung GeoJSON. 2.0.6 benar-benar tua (~ 2006), adakah alasan mengapa Anda tidak dapat menggunakan GDAL versi modern?
DavidF

Jawaban:

28

Anda harus memaksa tipe geometri SHP (karena tipe geometri GeoJSON Geometry Collection tidak didukung dalam SHPs) dan gunakan -skipfailuresopsi:

ogr2ogr -nlt POINT -skipfailures points.shp geojsonfile.json OGRGeoJSON    
ogr2ogr -nlt LINESTRING -skipfailures linestrings.shp geojsonfile.json OGRGeoJSON
ogr2ogr -nlt POLYGON -skipfailures polygons.shp geojsonfile.json OGRGeoJSON

(Diuji dengan GDAL 1.10.0, dirilis 2013/04/24)

Antonio Falciano
sumber
2
Untuk mendapatkan hasil maksimal dari Geojson, saya akan menyarankan untuk menjalankan yang sama untuk poin juga (dan garis, jika Anda punya di Geojson). Dengan begitu Anda mendapatkan dua atau tiga shapefile dari satu Geojson.
AndreJ
@AndreJoost Saya setuju dengan Anda, ini hanya sebuah contoh. Saya memperbarui jawabannya dengan mempertimbangkan saran Anda. Terima kasih.
Antonio Falciano
2
bukan solusi, tapi saya beruntung menggunakan alat online yang dibuat dengan ogr2ogr: ogre.adc4gis.com
JasonBK