Zusammenfassung
Fügt Stützpunkte entlang von Linien- oder Polygon-Features hinzu und ersetzt Kurvensegmente (Bézier, Kreisbögen und elliptische Kreisbögen) durch Liniensegmente.
Abbildung
Verwendung
Gerade Liniensegmente werden mit dem Parameter Abstand verdichtet. Die Stützpunkte werden mit einem Intervall hinzugefügt, das die angegebene Entfernung nicht überschreitet. 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 generierte Ergebnis wichtig. Verdichten Sie die Daten in einem entsprechenden Koordinatensystem, um die richtige Form der Features beizubehalten.
Für jeden Stützpunkt des ursprünglichen Features, einschließlich der Ausgangs- und Endpunkte, gibt es einen lagegleichen Stützpunkt im resultierenden Feature.
Der Parameter Maximale Anzahl von Stützpunkten steuert die maximale Anzahl der Stützpunkte in den einzelnen verdichteten Ausgabesegmenten. Wenn für einen Verdichtungsvorgang mehr erforderlich sind als dieser Wert angibt, werden die Segmente angepasst, um sicherzustellen, dass die Anzahl der Stützpunkte (+/- 1) nicht überschritten wird. Wenn ein ungültiger Wert eingegeben wird (0 oder weniger), gibt es kein Limit für lineare Segmente, und das Werkzeug ist standardmäßig auf 12.000 Kurvensegmente eingestellt.
Die Einstellung Maximale Anzahl von Stützpunkten bewirkt, dass der festgelegte Wert für die maximale Anzahl von Stützpunkten sowohl für lineare als auch für Kurvensegmente verwendet wird.
Hinweis:
Je größer der verwendete Wert ist, desto größer ist die Wahrscheinlichkeit, dass ein Feature sehr groß wird. Übermäßig große Features können die Performance negativ beeinflussen. Wenn ein extrem kleiner Wert verwendet wird, kann das Ausgabe-Feature degeneriert werden, was zu einer NULL-Geometrie führt. Extrem kleine Werte können auch zur Erstellung von Features führen, die in nachfolgenden Analysen unerwartete Ergebnisse liefern.Wenn die Eingabegeometrie beim Verdichten unter Verwendung des Parameters Maximale Abweichung bei Versatz Kreisbögen enthält, wird eine Obergrenze für den Versatz durchgesetzt, so dass der Winkel zwischen zwei aufeinanderfolgenden Liniensegmenten in der Ausgabe 10 Grad nicht überschreitet. Dieser Winkel kann überschritten werden, wenn Sie unter Verwendung des Parameters Maximaler Ablenkungswinkel verdichten.
Vorsicht:
Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge, die Eingabedaten ändern oder aktualisieren.
Syntax
arcpy.edit.Densify(in_features, {densification_method}, {distance}, {max_deviation}, {max_angle}, {max_vertex_per_segment})
Parameter | Erklärung | Datentyp |
in_features | Die Polygon- oder Line-Feature-Class, die verdichtet werden soll. | Feature Layer |
densification_method (optional) | Gibt die zu verwendende Methode für die Feature-Verdichtung an.
| String |
distance (optional) | Die maximale Entfernung zwischen Stützpunkten. Dieser Abstand wird immer auf Liniensegmente und zum Vereinfachen von Kurven angewendet. Der Standardwert ist eine Funktion der XY-Toleranz der Daten. Mit genau diesem Intervall können entlang der Linie keine neuen Stützpunkte eingefügt werden; stattdessen werden sie innerhalb dieser Entfernung vom vorherigen Stützpunkt aus gemessen eingefügt. Es gibt keine Möglichkeit, die sicherstellt, dass ein Stützpunkt genau im angegebenen Intervall entlang des Liniensegments eingefügt wird. | Linear Unit |
max_deviation (optional) | Der maximale Abstand des Ausgabesegments vom Original. Dieser Parameter wirkt sich nur auf Kurven aus. Der Standardwert ist eine Funktion der XY-Toleranz der Daten. | Linear Unit |
max_angle (optional) | Der maximale Winkel zwischen Ausgabegeometrie und Eingabegeometrie. Der gültige Bereich liegt zwischen 0 und 90. Der Standardwert ist 10. Dieser Parameter wirkt sich nur auf Kurven aus. | Double |
max_vertex_per_segment (optional) | Die maximal zulässige Anzahl von Stützpunkten pro Segment. Wenn kein Wert oder ein ungültiger Wert (0 oder weniger) eingegeben wird, gibt es für lineare Segmente kein Stützpunktlimit, und Kurvensegmente haben einen Standardwert von 12.000. | Long |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_feature_class | Die verdichteten Eingabe-Features. | Feature-Class |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion Densify im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.Densify_edit("C:/data.gdb/lines", "ANGLE", "", "", 0.75)
Das eigenständige Skript unten zeigt die Funktion Densify als Teil eines Workflows, bei dem auch das Editierwerkzeug Snap verwendet wird.
# Name: Snap.py
# Description: Snap climate regions boundary to vegetation layer
# boundary to ensure common boundary is coincident
# 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.
climateBackup = "backups/climate.shp"
arcpy.CopyFeatures_management('climate.shp', 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.shp', "DISTANCE", "10 Feet")
# Snap climate regions feature class to vegetation layer vertices and
# edge. First, snap climate region vertices to the nearest vegetation
# vertex within 30 Feet. Second, snap climate region vertices to the
# nearest vegetation edge within 20 Feet.
snapEnv1 = ["Habitat_Analysis.gdb/vegtype", "VERTEX", "30 Feet"]
snapEnv2 = ["Habitat_Analysis.gdb/vegtype", "EDGE", "20 Feet"]
arcpy.Snap_edit('climate.shp', [snapEnv1, snapEnv2])
Umgebungen
Lizenzinformationen
- Basic: Nein
- Standard: Ja
- Advanced: Ja