Coba tambahkan -nlt geometry
ke skrip ogr Anda:
ogr2ogr -skipfailures -f "ESRI Shapefile" myshape.shp mygeojson.geojson -nlt geometry
Saya mengalami masalah yang Anda jelaskan menggunakan ogr2ogr untuk menerjemahkan kumpulan data yang berisi fitur singlepart dan multipart di lapisan yang sama; misalnya, POINT dan MULTIPOINT, LINE AND MULTILINE, dan POLYGON dan MULTIPOLYGON.
Secara default, OGR ingin Anda mematuhi konvensi dan hanya menggunakan satu tipe fitur per dataset. Jika Anda melanggar aturan, OGR akan melempar kesalahan umum dan merekomendasikan -skipfailures
benderanya. Ini bisa menyesatkan jika masalah sebenarnya adalah geometri campuran / cocok di lapisan yang sama.
Karena ESRI shapefile memungkinkan fitur tunggal / multi bagian dalam lapisan yang sama, Anda perlu menyadari bahwa OGR dapat membuang kesalahan ini bahkan jika Anda memiliki geometri yang valid. Dalam skenario itu Anda memiliki dua opsi: 1) Konversi fitur multi-bagian ke singlepart (yang dapat dilakukan melalui -explodecollections
flag), atau 2) menggunakan -nlt
flag dan tentukan GEOMETRY
sebagai opsi. The -nlt GEOMETRY
pilihan memungkinkan Anda untuk menggabungkan campuran jenis fitur di lapisan yang sama. Tentu saja, sebagai akibatnya, OGR tidak akan tidak akan melindungi praktik terbaik.
Jika file GeoJSON Anda "mulai hidup" sebagai bentuk ESRI, mungkin Anda memiliki fitur POINT dan MULTIPOINT yang terkandung dalam dataset tersebut, sehingga Anda mungkin menghadapi masalah ini bahkan dengan poin yang valid.
Perilaku yang dimaksud dalam pemahaman saya adalah bahwa jika ditemukan fitur yang tidak valid, itu akan dilewati dan konversi akan dilanjutkan dengan fitur yang valid berikutnya daripada berhenti.
Tampaknya Anda melakukan semuanya dengan benar, jadi saya tidak tahu apa yang salah! Sudahkah Anda mencoba format yang berbeda hanya untuk melihat apakah itu berfungsi?
sumber