[EDIT: solusi untuk ini adalah hanya menggunakan OGR untuk membaca shapefile. Lihat contoh geografi.]
Dalam bentuk ESRI, tidak ada perbedaan antara Poligon dan MultiPoligon. Lebih jauh lagi, tidak ada perbedaan eksplisit antara lubang interior dan cincin eksterior (selain "kidal" dari poligon tertentu).
Jadi setelah membaca sebuah shapefile, saya memiliki daftar urutan koordinat yang menggambarkan cincin, tetapi tanpa proses yang lebih intensif, saya tidak dapat membedakan cincin mana yang merupakan cincin eksterior, lubang interior, atau poligon tambahan.
Tampaknya untuk rupawan 's Polygon dan MultiPolygon konstruktor, harus ada perbedaan yang jelas antara eksterior dan cincin interior, jadi bagaimana saya harus pindah dari daftar yang tidak jelas dari cincin untuk set memerintahkan poligon terpisah, dengan interior jelas ditunjuk dan cincin eksterior ?
Untuk meringkas: jika saya memiliki daftar cincin poligon, tetapi saya tidak tahu cincin mana yang lubang di bagian dalam atau merupakan poligon yang terpisah, bagaimana sebaiknya saya mengurutkannya menjadi poligon yang terpisah dengan lubang bagian dalam yang ditunjuk?
Saya mencari solusi algoritmik sederhana yang dapat saya terapkan dalam python, dapat digunakan untuk memproses ratusan poligon dalam ~ satu menit atau kurang, dan saya melakukan ini untuk melakukan sejumlah besar persimpangan.