Fangen (Bearbeitung)

Lizenzstufe:BasicStandardAdvanced

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.

Bild

Abbildung: Fangen
Fangbeispiele

Verwendung

Syntax

Snap_edit (in_features, snap_environment)
ParameterErläuterungDatentyp
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:

  • Features: Features, von denen die Stützpunkte der Eingabe-Features gefangen werden. Diese Eingabe-Features können Punkte, Multipoints, Linien oder Polygone sein.
  • Type (Typ): Der Typ des Feature-Teils, von dem die Stützpunkte des Eingabe-Features gefangen werden können (END | VERTEX | EDGE).
  • Distance (Entfernung): Die Entfernung, innerhalb der die Stützpunkte der Eingabe-Features vom nächsten Stützpunkt, der Kante oder dem Endpunkt gefangen werden.

Typoptionen der Fangumgebung:

  • ENDEingabe-Feature-Stützpunkte werden an Feature-Enden gefangen.
  • VERTEXEingabe-Feature-Stützpunkte werden an Feature-Stützpunkten gefangen.
  • EDGEEingabe-Feature-Stützpunkte werden an Feature-Kanten gefangen.
HinweisHinweis:

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

Fangen – Beispiel (Python-Fenster)

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"]])
Fangen – Beispiel (eigenständiges Skript)

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])

Umgebung

Verwandte Themen

Lizenzierungsinformationen

ArcGIS for Desktop Basic: Nein
ArcGIS for Desktop Standard: Ja
ArcGIS for Desktop Advanced: Ja
9/11/2013