Saya mencari alat atau algoritme untuk mendeteksi poligon cekung dan membaginya menjadi poligon cembung. Seperti dijelaskan dalam gambar, poligon biru dipecah menjadi poligon A dan B
Saya menggunakan Arcpy di bawah Arcgis 10.1
arcpy
arcgis-10.1
arcgis-desktop
algorithm
geogeek
sumber
sumber
Jawaban:
berikut adalah beberapa langkah untuk mengidentifikasi simpul dari bagian cekung:
dengan parcel: geometri pembatas minimum (lambung) -> parcelHull
dengan parcel: FeatureVerticesToPoint -> parcelPoints
dengan parcelHull: FeatureVerticesToPoint -> parcelHullPoints
dengan parcelPoint dan parcelHullPoint: symmetrical Diff -> concavePoints
berdasarkan titik-titik tersebut, Anda dapat menggambar bissectrice untuk memotong poligon Anda (jarak bantalan ke garis), pilih tepi segitiga Voronoï yang memotong titik Anda tetapi tidak berbagi segmen dengan batas parsel Anda (pilih berdasarkan lokasi setelah membagi segitiga) garis pada titik), pilih titik pada situs yang berlawanan dan buat garis (titik ke garis), pilih titik terdekat di tepi berlawanan dan buat garis (titik ke garis) ...
Pada akhirnya, gunakan garis pilihan Anda dan paket asli dengan "fitur untuk poligon" untuk membagi poligon.
sumber