Fangen (Bearbeitung)
Zusammenfassung
Verschiebt Punkte oder Stützpunkte so, dass diese mit den Stützpunkten, Kanten oder Endpunkten anderer Features genau lagegleich sind. Sie können Fangregeln angeben, um zu steuern, ob Eingabestützpunkte innerhalb einer angegebenen Entfernung am nächsten Stützpunkt, an einer Kante oder an einem Endpunkt gefangen werden.
Abbildung
Verwendung
-
Mit dem Parameter Fangumgebung können die Stützpunkte der Eingabe-Features von den Stützpunkten, Kanten und Endpunkten mehrerer Layer oder Feature-Classes gefangen werden. Wenn mehrere Fangregeln angegeben werden, werden dafür die folgenden Prioritäten verwendet: von oben nach unten im Werkzeugdialogfeld oder von links nach rechts bei der Skripterstellung.
-
Die Stützpunkte der Eingabe-Features werden innerhalb der angegebenen Entfernung am nächsten Stützpunkt, der Kante oder dem Endpunkt gefangen.
-
Im Parameter Fangumgebung können mehrere Fangregeln festgelegt werden, indem der gleiche Layer oder die gleiche Feature-Class mit einem anderen Typ (END | VERTEX | EDGE) verwendet wird.
-
Wenn ein Layer oder eine Feature-Class mit einer Selektion als Eingabe verwendet wird, werden nur die Stützpunkte der ausgewählten Features gefangen.
-
Wenn Features in einer Feature-Class von Features in der gleichen Feature-Class gefangen werden, wird das Feature mit der niedrigeren Objekt- oder Feature-ID normalerweise vom Feature mit der höheren Objekt-ID gefangen. Liegen die Punkte OBJECTID 1 und OBJECTID 2 beispielsweise innerhalb der Fangentfernung, wird der Punkt mit OBJECTID 1 von der Position des Punkts mit OBJECTID 2 (und nicht umgekehrt) gefangen. Verwenden Sie das Werkzeug "Sortieren", um Features neu anzuordnen, damit dieses Fangverhalten gesteuert werden kann.
-
Wenn das Werkzeug in ArcMap verwendet wird, wird die Fangumgebung der Anwendung standardmäßig auf den Parameter Fangumgebung gesetzt, wo diese bei Bedarf geändert werden kann.
Mit diesem Werkzeug werden die Eingabedaten geändert. Weitere Informationen und Strategien zur Vermeidung unerwünschter Datenänderungen finden Sie unter Werkzeuge ohne Ausgabe.
Ein Anwendungsfall für dieses Werkzeug ist das Beheben der Unterschiede von gemeinsamen oder allgemeinen Grenzen zwischen zwei Datasets, indem die Stützpunkte einer Grenze von den Stützpunkten, Kanten oder Endpunkten der anderen Grenze gefangen werden. Falls die Eingabe-Features nicht über die gleiche Anzahl an Stützpunkten verfügen, um die genaue Krümmung der anderen Grenze nachzubilden, können den Eingabe-Features mit dem Werkzeug Verdichten Stützpunkte hinzugefügt werden. Auf diese Weise kann eine höhere Detaillierungsebene erreicht werden.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die Eingabe-Features, deren Stützpunkte von den Stützpunkten, Kanten oder Endpunkten anderer Features gefangen werden. Die Eingabe-Features können Punkte, Multipoints, Linien oder Polygone sein. | Feature Layer |
snap_environment [[Features, Type, Distance],...] |
Komponenten der Fangumgebung:
Typoptionen der Fangumgebung:
Hinweis: Wenn im Parameter "Fangumgebung" zusammen mit der Entfernung keine Einheit angegeben wird (also "10" anstatt "10 Metern"), wird standardmäßig die lineare Einheit oder Winkeleinheit aus dem Koordinatensystem des Eingabe-Features verwendet. Wenn die Eingabe-Features über ein projiziertes Koordinatensystem verfügen, wird die lineare Einheit verwendet. | Value Table |
Codebeispiel
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie das Werkzeug "Fangen" verwenden.
import arcpy arcpy.env.workspace = "C:/data" arcpy.Snap_edit("climate.shp", [["Habitat_Analysis.gdb/vegtype", "VERTEX", "30 Feet"], ["Habitat_Analysis.gdb/vegtype", "EDGE", "20 Feet"]])
Klimazonengrenze wird von Vegetations-Layer-Grenze gefangen, um sicherzustellen, dass die gemeinsame Grenze lagegleich ist.
# 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 from arcpy import env # Set environment settings 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])