Résumé
Déplace des points ou sommets pour coïncider exactement avec les sommets, tronçons ou extrémités d'autres entités. Des règles d'alignement peuvent être spécifiées afin de contrôler si les sommets en entrée sont alignés sur le sommet, l'extrémité ou le tronçon le plus proche, à l'intérieur d'un rayon spécifié.
Illustration
Utilisation
Le paramètre Environnement d'alignement permet l'alignement des sommets des entités en entrée sur les sommets, les tronçons et les extrémités de plusieurs couches ou classes d'entités. Si plusieurs règles de capture sont fournies, elles sont classées de haut en bas dans la boîte de dialogue de l'outil ou de gauche à droite dans les scripts.
Les sommets des entités en entrée sont alignés sur le sommet, l'extrémité ou le tronçon le plus proche, à l'intérieur du rayon spécifié.
Dans le paramètre Environnement de capture, plusieurs règles de capture peuvent être désignées à l'aide d'une même couche ou classe d'entités avec un type de capture différent.
Si une couche ou classe d'entités avec une sélection est utilisée en entrée, seuls les sommets des entités sélectionnées sont alignés.
Lors de la capture d'entités figurant dans une classe d'entités sur des entités de la même classe d'entités, l'entité possédant l'identifiant d'objet ou d'entité inférieur est habituellement capturée sur l'entité possédant l'identifiant d'objet supérieur (champ OBJECTID ou FID pour les shapefiles). Si, par exemple, les points dont les valeurs des champs OBJECTID sont égales à 1 et 2 figurent à l’intérieur du rayon de capture, le point dont la valeur de champ OBJECTID est égale à 1 sera capturé sur l’emplacement du point dont la valeur de champ OBJECTID est égale à 2 (et pas l’inverse).
Syntaxe
arcpy.edit.Snap(in_features, snap_environment)
Paramètre | Explication | Type de données |
in_features | Entités en entrée avec les sommets qui seront capturés sur les sommets, tronçons ou extrémités d'autres entités. Elles peuvent être de type point, multi-points, ligne ou polygone. | Feature Layer |
snap_environment [[Features, Type, Distance],...] | Classes ou couches d'entités contenant les entités sur lesquelles la capture doit être effectuée. Les composants de l'environnement de capture sont les suivants :
Types de capture disponibles :
| Value Table |
Sortie dérivée
Nom | Explication | Type de données |
out_feature_class | Entités en entrée mises à jour. | Feature Class |
Exemple de code
Exemple 1 d’utilisation de l’outil Snap (fenêtre Python)
Le script ci-dessous pour la fenêtre Python illustre l’utilisation de la fonction Snap.
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"]])
Exemple 2 d’utilisation de l’outil Snap (script autonome)
Capturez les limites des zones climatiques sur la limite de la couche de végétation afin de garantir que la limite commune coïncide.
# 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
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])
Environnements
Informations de licence
- Basic: Non
- Standard: Oui
- Advanced: Oui