Kesalahan geometri saat mengimpor data dari file ESRI, geodatabase ke PostGIS

8

Ketika saya menjalankan perintah berikut untuk mengimpor oleh data dari ESRI fgdb ke postgis ...

ogr2ogr -f "PostgreSQL" -a_srs "EPSG:28355" -t_srs "EPSG:3857" PG:"dbname=tp_test user=postgres port=54321 password=xxxxxxx host=localhost" -overwrite P:\2012\183_TownPlanning_Symbology\Working\QueryLayer\TP_Query_Final_28355.gdb

...Saya mendapat...!

Peringatan 1: organizPolygons () menerima geometri yang tidak terduga. Baik poligon dengan cincin interior, atau poligon dengan kurang dari 4 poin, atau geometri non-Poligon. Kembalikan argumen sebagai koleksi. Peringatan 1: Geometri poligon tidak dapat diterjemahkan ke Geometri Sederhana. Semua poly gon akan terkandung dalam multipolygon.

Saya telah memeriksa geometri di ESRI dan melaporkan tidak ada kesalahan. Saya menjalankan multipart ke singlepart untuk melihat apakah ini menyelesaikan masalah tetapi ini crash arcmap 10.1 seperti yang dibubarkan. Itu berjalan semacam tanpa masalah dan Anda dapat membuka dataset.

Saya berhasil mengimpor dataset sebelumnya tetapi kemudian harus menjalankan alat ESRI Dice untuk membagi poligon besar menjadi tidak lebih dari 15.000 simpul sehingga proses lebih cepat. masukkan deskripsi gambar di sini

Saya baru mengenal postgis.

Apakah ada cara untuk memperbaiki masalah di gdb baru atau untuk membagi poligon menjadi postgis itu sendiri?

GeorgeC
sumber

Jawaban:

2

Jika data Anda sudah ada di PostGIS, coba jalankan:

select * from table where ST_NPoints(the_geom) < 4

Ini akan mengembalikan semua baris yang menyebabkan peringatan, yaitu, itu akan membantu Anda melacak kesalahan data di PostGIS.

simplexio
sumber
Saya hanya memiliki dataset di postgis dari SEBELUM menjalankan Dice. Jika saya akan menggunakan dataset postgis yang ada, saya membutuhkan alat yang mirip dengan Dice untuk membagi setiap poligon menjadi <15.000 simpul.
GeorgeC
Anda dapat mencoba jika kesalahan berasal dari data tersebut oleh runnis isValid () dan ST_NPoints () ke data
simplexio