Bei der Betrachtung Buffering mit physikalischer Barriere mit ArcGIS for Desktop? Mir fiel auf, dass ich nicht sicher bin, wie man Geoverarbeitungswerkzeuge in ArcGIS verwenden soll, um ein Polygon mit einer Linie programmgesteuert zu teilen.
Manuell würden Sie das Werkzeug "Polygone ausschneiden" oder das Werkzeug "Polygone teilen" in der Topologie-Symbolleiste verwenden . Wie würden Sie dieselbe Aufgabe mit den Skriptwerkzeugen "Modelbuilder" oder "Python Groprocessing" ausführen?
Auf Anhieb denke ich an alle Werkzeuge in der Analyse-Toobox wie Union, Identity usw., aber das sind alles Polygon-Polygon-Werkzeuge, NICHT Polygon-Linien-Werkzeuge. Sogar das Werkzeug Teilen ist Polygon-Polygon.
Irgendwelche Ideen?
arcpy
arcgis-10.0
RyanKDalton
quelle
quelle
aPolygon.Split (aPolyLine)
:-).Antworten:
Mit ET Geowizard können Sie auf den Code für das Werkzeug Polygone mit Polylinien teilen zugreifen:
Hier ist der Link zum Skript .
Alternativ können Sie dazu ArcObjects verwenden:
Polygon-Snippet ausschneiden
Sie können auch die hier beschriebene einseitige Puffermethode verwenden .
quelle
Im Nachhinein habe ich mein eigenes ModelBuilder-Tool erstellt. Ich hatte diese Frage vergessen und meine Lösung auf eine andere ähnliche Frage gestellt . Der Vollständigkeit halber ist dies ein Repost der Antwort:
quelle
Wenn Sie ArcGIS verlassen möchten, verwenden Sie geom.splitpolysbylines .
Persönlich habe ich es noch nie in einem Programm verwendet, aber ich denke, Sie können mit Python auf diese Commondline zugreifen. Weitere Informationen finden Sie in der Hilfe.
quelle
Wenn Sie keine Probleme mit hoher Genauigkeit haben, puffern Sie die Linie mit dem Mindestabstand für z. B. (0,002 sollte meiner Meinung nach besser sein als die Genauigkeit Ihrer Feature-Class), und wenden dann ein Löschwerkzeug auf das Polygon durch die gepufferte Linie an.
quelle
Der Arcpy-Code wurde aktualisiert, um Polygone in horizontaler oder vertikaler Richtung mithilfe von Prozentwerten zu teilen
quelle