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 d’une classe d’entités dans 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 dans l’entité ayant l’identifiant d’objet supérieur (champ OBJECTID ou champ FID pour les shapefiles). Si, par exemple, les points dont la valeur de champ OBJECTID est égale à 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).
Attention :
Cet outil modifie les données en entrée. Pour plus d’informations et connaître les stratégies permettant d’empêcher les modifications de données indésirables, reportez-vous à la rubrique Outils qui modifient ou mettent à jour les données en entrée.
Remarque :
Cet outil sert notamment à rectifier les différences entre les limites partagées ou communes de deux jeux de données, par alignement des sommets d'une limite sur les sommets, tronçons ou extrémités de l'autre. Si les entités en entrée ne comportent pas suffisamment de sommets pour s'aligner sur la courbure exacte de l'autre limite, vous pouvez leur ajouter des sommets à l'aide de l'outil Densifier afin de permettre un niveau de détail supérieur.
Syntaxe
arcpy.edit.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 :
Remarque :Dans le paramètre Environnement de capture, si aucune unité n'est entrée avec la valeur Distance (par exemple 10 au lieu de 10 mètres), l'unité linéaire ou angulaire du système de coordonnées de l'entité en entrée est utilisé par défaut. Si les entités en entrée disposent d'un système de coordonnées projetées, l'unité linéaire est utilisée. | 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
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"]])
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
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?