Capturer (Mise à jour)

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

Illustration de l'outil Snap (Capturer)
Cas de capture

Utilisation

    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.

  • 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).

  • 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ètreExplicationType 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 :

  • Entités : entités sur lesquelles les sommets des entités en entrée sont capturées. Ces entités peuvent être de type point, multi-points, ligne ou polygone.
  • Type : type de partie d'entité sur laquelle les sommets des entités en entrée peuvent être capturés (END | VERTEX | EDGE).
  • Distance : rayon à l'intérieur duquel les sommets des entités en entrée sont capturés sur le sommet, l'extrémité ou le tronçon le plus proche.

Options du type d’environnement de capture :

  • END : les sommets des entités en entrée sont capturés sur les extrémités des entités.
  • VERTEX : les sommets des entités en entrée sont capturés sur les sommets des entités.
  • EDGE : les sommets des entités en entrée sont capturés sur les tronçons des entités.
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

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

Informations de licence

  • Basic: Non
  • Standard: Oui
  • Advanced: Oui

Rubriques connexes