Ich suche ein Werkzeug oder einen Algorithmus, um konkave Polygone zu erkennen und in konvexe Polygone aufzuteilen. Wie im Bild erklärt, wird das blaue Polygon in A- und B-Polygone aufgeteilt
Ich verwende Arcpy unter Arcgis 10.1
arcpy
arcgis-10.1
arcgis-desktop
algorithm
Geogeek
quelle
quelle
Antworten:
Hier sind ein paar Schritte, um die Eckpunkte von den konkaven Teilen zu identifizieren:
mit Paket: minimale Begrenzungsgeometrie (Rumpf) -> parcelHull
mit Paket: FeatureVerticesToPoint -> parcelPoints
mit parcelHull: FeatureVerticesToPoint -> parcelHullPoints
mit parcelPoint und parcelHullPoint: symmetrisches Diff -> concavePoints
Basierend auf diesen Punkten können Sie entweder die Bissectrice zeichnen, um Ihr Polygon zu schneiden (Peilungsabstand zur Linie), die Kanten des Voronoï-Dreiecks auswählen, die Ihren Punkt schneiden, aber kein Segment mit Ihrer Flurstücksgrenze teilen (Auswahl nach Position nach Aufteilen des Dreiecks Linien an Eckpunkten), wählen Sie den Eckpunkt auf der gegenüberliegenden Seite und machen Sie eine Linie (Punkte zu Linie), wählen Sie den nächsten Punkt auf der gegenüberliegenden Kante und machen Sie eine Linie (Punkte zu Linie) ...
Verwenden Sie am Ende Ihre bevorzugten Linien und die ursprünglichen Flurstücke mit "Feature to Polygon", um die Polygone zu teilen.
quelle