Verdichten (Bearbeitung)
Zusammenfassung
Fügt Stützpunkte entlang von Linien-Features oder in Polygon-Features ein. Ersetzt außerdem Kurvensegmente (Bézierkurven, Kreisbogen, Ellipsen) durch verdichtete Liniensegmente.
Abbildung
Verwendung
-
Gerade Liniensegmente werden mit dem Parameter Abstand verdichtet. Kurvensegmente werden mithilfe der Verdichtung vereinfacht, indem einer der Parameter Abstand, Maximaler Ablenkungswinkel oder Maximale Abweichung bei Versatz verwendet wird.
Die Verdichtung wird von Segment zu Segment durchgeführt.
Bei jeder Ausführung von "Verdichten" kann nur eine Verdichtungsmethode ausgewählt werden.
-
Der Raumbezug der Daten ist für das von diesem Werkzeug gelieferte Ergebnis sehr wichtig. Daten sollten in einem entsprechenden Koordinatensystem verdichtet werden, um die richtige Form der Features beizubehalten.
-
Alle Segmente der Ausgabe-Features verfügen über Stützpunkte, die auf den ursprünglichen Eingabe-Features liegen. Die Start- und Endpunkte der einzelnen Segmente werden immer beachtet und bleiben gleich.
Wenn die Eingabegeometrie beim Verdichten mit Maximale Abweichung bei Versatz Kreisbögen enthält, wird eine Obergrenze für den Versatz durchgesetzt. Der Winkel zwischen zwei aufeinanderfolgenden Liniensegmenten kann in der Ausgabe dann zehn Grad nicht überschreiten. Dieser Winkel kann überschritten werden, wenn Sie mit der Option Maximaler Ablenkungswinkel verdichten.
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 Polygon- oder Line-Feature-Class, die verdichtet werden soll. | Feature Layer |
densification_method (optional) |
Die Methode, die für die Feature-Verdichtung ausgewählt wurde.
| String |
distance (optional) |
Der maximale lineare Abstand zwischen Stützpunkten. Dieser Abstand wird immer auf Liniensegmente und zum Vereinfachen von Kurven angewendet. Der Standardwert ist eine Funktion der Toleranz. | Linear unit |
max_deviation (optional) |
Der maximale Abstand der Ausgabegeometrie von der Eingabegeometrie. Dieser Parameter wird speziell für die Vereinfachung von Kurven verwendet. Der Standardwert ist der Wert, der zum Konvertieren von Feature-Classes in Shapefiles verwendet wird. | Linear unit |
max_angle (optional) |
Der maximale Winkel zwischen Ausgabegeometrie und Eingabegeometrie. Dieser Parameter wird speziell für die Vereinfachung von Kurven verwendet. Der Eingabewinkel kann zwischen 0 und 90 Grad liegen. Der Standardwert ist der Wert, der zum Konvertieren von Feature-Classes in Shapefiles verwendet wird. | Double |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion "Densify" im unmittelbaren Modus verwenden.
import arcpy arcpy.Densify_edit("C:/data/data.gdb/lines", "ANGLE","", "", "0.75")
Das eigenständige Skript unten zeigt die Funktion "Densify" als Teil eines Workflows, bei dem auch das Editierwerkzeug "Fangen" verwendet wird.
# Name: Snap.py # Description: Snap climate regions boundary to vegetation layer # boundary to ensure common boundary is coincident # Author: ESRI # import system modules import arcpy # Set environment settings arcpy.env.workspace = "C:/data" # Make backup copy of climate regions feature class, # since modification with the Editing tools below is permanent climate = "climate.shp" climateBackup = "C:/output/Output.gdb/climateBackup" arcpy.CopyFeatures_management(climate, climateBackup) # Densify climate regions feature class to make sure there are enough #vertices to match detail of vegetation layer when layers are snapped arcpy.Densify_edit(climate, "DISTANCE", "10 Feet") # Snap climate regions feature class to vegetation layer vertices and edge veg = "Habitat_Analysis.gdb/vegtype" # first, snap climate region vertices to the nearest vegetation layer vertex within 30 Feet snapEnv1 = [veg, "VERTEX", "30 Feet"] # second, snap climate region vertices to the nearest vegetation layer edge within 20 Feet snapEnv2 = [veg, "EDGE", "20 Feet"] arcpy.Snap_edit(climate, [snapEnv1, snapEnv2])