Linie kürzen (Bearbeitung)
Zusammenfassung
Entfernt Teile einer Linie, die eine angegebene Entfernung weit über einen Linienschnittpunkt (Dangle) hinausragen. Alle Linien, die nicht an beiden Endpunkten eine andere Linie berührt, können abgeschnitten werden. Es wird jedoch nur der Teil der Linie entfernt, der um die angegebene Entfernung über den Schnittpunkt hinausragt.
Das Werkzeug ist für die Qualitätskontrolle vorgesehen, z. B. zum Bereinigen von Topologiefehlern in Features, die digitalisiert wurden, ohne dass ordnungsgemäße Fangumgebungen eingerichtet wurden.
Abbildung
Verwendung
Jede Linie, die nicht an beiden Endpunkten eine andere Linie berührt, kann abgeschnitten werden. Es gibt zwei Typen von Linien, die diese Bedingung erfüllen:
- Ein Linien-Dangle. Ein Dangle ist der Teil einer Linie, der zwischen dem Berührungs- oder Schnittpunkt mit einer anderen Linie und ihrem Endpunkt liegt. Dies ist also das Ende der Linie, die keine andere Linie berührt oder an einer anderen Linie endet.
- Ein freistehendes oder eigenständiges Feature. Diese Art von Feature berührt keine anderen Linien und schneidet keine anderen Linien. Sie müssen zum Löschen dieser Features die Option Kurze Features löschen verwenden.
-
Wenn keine Dangle-Länge angegeben wird, werden alle betroffenen Linien (Liniensegmente, die nicht an beiden Endpunkten eine andere Linie berühren) unabhängig von ihrer Länge bis zum letzten Schnittpunkt abgeschnitten.
-
Wenn die Option Kurze Features löschen verwendet wird, werden alle freistehenden oder eigenständigen Features gelöscht, deren Gesamtlänge kleiner oder gleich der angegebenen Dangle-Länge ist. Wenn diese Option nicht verwendet wird, werden nur Dangle-Liniensegmente abgeschnitten.
-
Falls ein Feature-Layer oder eine Feature-Class mit einer Selektion als Eingabe verwendet wird, werden nur die ausgewählten Features abgeschnitten. Alle Features innerhalb des Layers oder der Feature-Class werden verwendet, um zu ermitteln, ob ein Dangle vorliegt und gelöscht werden muss. Es werden jedoch nur die ausgewählten Features geändert.
-
Dieses Werkzeug ändert keine Feature-Attribute, mit Ausnahme der verwalteten Geometriefelder (Länge) in einer Personal-, File- oder ArcSDE-Geodatabase-Feature-Class.
Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge ohne Ausgabe.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die Linien-Eingabe-Features, die abgeschnitten werden sollen. | Feature Layer |
dangle_length (optional) |
Liniensegmente, die kürzer als die angegebene Dangle-Länge sind und nicht an beiden Endpunkten eine andere Linie berühren (Dangles), werden abgeschnitten. Wenn keine Dangle-Länge angegeben wird, werden alle betroffenen Linien (Liniensegmente, die nicht an beiden Endpunkten eine andere Linie berühren) unabhängig von ihrer Länge bis zum letzten Schnittpunkt abgeschnitten. | Linear Unit |
delete_shorts (optional) |
Steuert, ob Liniensegmente gelöscht werden, die kürzer als die Dangle-Länge und freistehend sind.
| Boolean |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie das Werkzeug "Linie kürzen" verwenden.
import arcpy arcpy.env.workspace = "C:/data" arcpy.TrimLine_edit("majorrds.shp", "15 Feet", "DELETE_SHORT")
Bereinigen von Straßenmittelachsen, die digitalisiert wurden, ohne dass ordnungsgemäße Fangumgebungen eingerichtet wurden.
# Name: ExtendLine.py # Description: Clean up street centerlines that were digitized without # having set proper snapping environments # Author: ESRI # import system modules import arcpy from arcpy import env # Set environment settings env.workspace = "C:/data" # Make backup copy of streets feature class, since modification with # the Editing tools below is permanent streets = "majorrds.shp" streetsBackup = "C:/output/Output.gdb/streetsBackup" arcpy.CopyFeatures_management(streets, streetsBackup) # Trim street lines to clean up dangles arcpy.TrimLine_edit(streets, "10 Feet", "KEEP_SHORT") # Extend street lines to clean up dangles arcpy.ExtendLine_edit(streets, "15 Feet", "EXTENSION")