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. Lorsque plusieurs règles d'alignement existent, elles sont classées selon l'ordre de priorité suivant : 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 d'alignement, plusieurs règles d'alignement peuvent être désignées à l'aide d'une même couche ou classe d'entités avec un type différent (END | VERTEX | EDGE).
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é ayant l’identifiant d’objet ou d’entité inférieur est habituellement capturée sur l’entité ayant l’identifiant d’objet supérieur (champ OBJECTID ou champ FID pour les shapefiles). Par exemple, si les points OBJECTID=1 et OBJECTID=2 figurent à l’intérieur du rayon de capture, le point avec OBJECTID=1 est capturé sur l’emplacement du point avec OBJECTID=2 (et pas l’inverse).
Syntaxe
Snap(in_features, snap_environment)
Paramètre | Explication | Type de données |
in_features | Entités en entrée dont les sommets sont aligné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],...] | Entrez les classes ou couches d'entités contenant les entités sur lesquelles vous voulez effectuer la capture. Composants de l'environnement d'alignement :
Options du type d’environnement de capture :
| Value Table |
Sortie dérivée
Nom | Explication | Type de données |
out_feature_class | Entités en entrée mises à jour. | Classe d’entités |
Exemple de code
Exemple 1 d’utilisation de l’outil Snap (fenêtre Python)
Le script de fenêtre Python ci-dessous illustre l'utilisation de l'outil 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)
Alignement des limites des zones climatiques sur la limite de la couche de végétation afin de garantir que la limite commune est coïncidente.
# 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