Resumen
Desplaza puntos o vértices para que coincidan exactamente con los vértices, bordes o extremos de otras entidades. Se puede especificar reglas de alineación para controlar si los vértices de entrada se alinean al vértice, borde o extremo más cercano dentro de una distancia especificada.
Ilustración
Uso
El parámetro Alinear entorno permite alinear los vértices de las entidades de entrada con los vértices, bordes y extremos de varias capas o clases de entidad. Cuando se dan varias reglas de alineación, se les asigna prioridades de arriba a abajo en el cuadro de diálogo de la herramienta o de izquierda a derecha en scripts.
Los vértices de las entidades de entrada se alinean al vértice, borde o extremo más cercano dentro de la distancia especificada.
En el parámetro Alinear entorno, es posible designar varias reglas de alineación utilizando la misma capa o clase de entidad con otro tipo de alineación.
Si se usa como entrada una capa o clase de entidad con una selección, solo se alinearán los vértices de las entidades seleccionadas.
Cuando se alinean entidades de una clase de entidad con entidades de la misma clase de entidad, la entidad que tenga el Id. de objeto o de entidad más bajo se alineará normalmente con la entidad con el Id. de objeto más alto (campo OBJECTID o campo FID en el caso de los shapefiles). Por ejemplo, si los puntos con valores de campo OBJECTID de 1 y 2 se encuentran dentro de la distancia de alineación, el punto con un valor de campo OBJECTID de 1 se alineará con la ubicación del punto con un valor de campo OBJECTID de 2 (y no al revés).
Sintaxis
arcpy.edit.Snap(in_features, snap_environment)
Parámetro | Explicación | Tipo de datos |
in_features | Las entidades de entrada cuyos vértices se van a alinear a los vértices, bordes o extremos de otras entidades. Las entidades de entrada pueden ser puntos, multipuntos, líneas o polígonos. | Feature Layer |
snap_environment [[Features, Type, Distance],...] | Las clases de entidad o capas de entidades que contienen las entidades con las que se desea alinear. Los componentes del entorno de alineación son los siguientes:
Los tipos de alineación disponibles son los siguientes:
| Value Table |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_feature_class | Las entidades de entrada actualizadas. | Feature Class |
Muestra de código
Ejemplo 1 de Alinear (ventana de Python)
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función 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"]])
Ejemplo 2 de Alinear (script independiente)
Alinear los límites de las regiones climáticas a los límites de la capa de vegetación para asegurarse de que el límite común es coincidente.
# 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])
Entornos
Información de licenciamiento
- Basic: No
- Standard: Sí
- Advanced: Sí