Ich möchte eine Polygon-Feature-Class mit mehreren unregelmäßigen Polygonen verwenden und Arc parallele Linien innerhalb jedes Polygons zeichnen lassen. Im Idealfall wäre es für Arc schön, den Winkel der längsten Seite des Polygons herauszufinden und parallele Linien zu dieser Seite zu zeichnen, aber um es einfach zu halten, denke ich, wenn ich nur einen Winkel für alle parallelen Linien eingeben könnte, das wäre einfacher.
Linienwinkel, Breite zwischen Linien, Min / Max-Länge und Pufferbreite von den Seiten der Polygone sind meine Grundkriterien.
Bild angehängt, wenn das hilft.
arcgis-desktop
arcpy
Tx_Dan
quelle
quelle
Antworten:
Wie @cndnflyr erwähnt, kann dies in Python geschrieben werden.
Benutzeroberfläche des Skript-Tools:
Beispielausgabe:
quelle
Dies könnte mit Python geschehen, aber es würde einige Zeit dauern, es zu schreiben.
Ich denke, der schnellste Weg, es ohne Python zu implementieren, besteht darin, eine SHP-Vorlagendatei dieser parallelen Linien zu haben. Haben Sie ein paar, wenn Sie unterschiedliche Breiten benötigen, und verwenden Sie einfach die entsprechende für dieses Polygon. Stellen Sie sicher, dass die Vorlagenlinien genügend Fläche abdecken, um das größte Polygon abzudecken, auf das Sie stoßen.
Die Schritte 3 bis 7 können modelliert werden, ohne dass Code geschrieben werden muss.
Der gleiche Prozess könnte zum Codieren des Prozesses verwendet werden, aber anstatt Vorlagenzeilen zu haben, könnte der Code die Linien im richtigen Winkel, im Abstand voneinander usw. zeichnen. Ich habe dies eine Weile nicht getan, aber ich denke a Python-Bibliothek wie Shapely würde helfen. Stellen Sie einfach sicher, dass es einen größeren Bereich als das Polygon abdeckt, und verwenden Sie die Werkzeuge, um automatisch in Polylinien zu konvertieren, zu puffern, zu löschen, die Linien auszuwählen, die sich nicht im Polygon befinden, und sie zu löschen.
quelle