Resumen
Desplaza puntos o vértices para que coincidan exactamente con los vértices, bordes o puntos finales 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 la manera siguiente: de arriba a abajo en el diálogo de la herramienta o de izquierda a derecha en las secuencias de comandos.
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 un tipo diferente (END | VERTEX | EDGE).
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).
Precaución:
Esta herramienta modifica los datos de entrada. Consulte Herramientas que modifican o actualizan los datos de entrada para obtener más información y estrategias para evitar cambios de datos no deseados.
Nota:
Un caso de uso para esta herramienta es la rectificación de diferencias en límites compartidos o comunes entre dos dataset alineando los vértices de un límite a los vértices, bordes o extremos del otro. Si las entidades de entrada no tienen los vértices suficientes para coincidir con la curvatura precisa del otro límite, pueden agregarse vértices a las entidades de entrada con la herramienta Densificar para permitir un nivel agregado de detalle.
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],...] | Introduzca las clases de entidad o las capas de entidades que contienen las entidades con las que desea alinear. Componentes del entorno de alineación:
Opciones de tipo de entorno de alineación:
Nota:En el parámetro Alinear entorno, si no se introduce ninguna unidad en Distancia (es decir, 10 en lugar de 10 metros), se usará como predeterminada la unidad lineal o angular del sistema de coordenadas de la entidad de entrada. Si las entidades de entrada tienen un sistema de coordenadas proyectadas, se utilizará su unidad lineal. | Value Table |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_feature_class | Las entidades de entrada actualizadas. | Clase de entidad |
Muestra de código
El siguiente script de la ventana de Python muestra cómo utilizar la herramienta 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"]])
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í