Resumen
Agrega vértices en las entidades de línea o polígono. También reemplaza los segmentos de curva (Bézier, arcos circulares y arcos elípticos) por los segmentos de línea.
Ilustración
Uso
Los segmentos de línea recta se densifican mediante el parámetro Distancia. Los segmentos curvos se simplifican mediante la densificación mediante los parámetros Distancia, Ángulo de desviación máximo o Desviación de desplazamiento máximo.
La densificación se realiza segmento a segmento.
Únicamente se puede seleccionar un método de densificación cada vez que se ejecuta Densificar.
La Referencia espacial de los datos es muy importante para el resultado generado por esta herramienta. Los datos se deben densificar en un sistema de coordenadas apropiado para mantener la forma correcta de las entidades.
Para cada vértice de la entidad original, incluso el punto de inicio y de final, habrá un vértice coincidente en la entidad resultante.
Al densificar mediante Desviación de desplazamiento máximo, si la geometría de entrada contiene arcos circulares, se aplicará un límite superior en el desplazamiento igual al del ángulo entre dos segmentos de línea consecutivos en la salida, no se pueden superar los diez grados. Este ángulo se puede superar si densifica mediante el Ángulo de desviación máximo.
Sintaxis
arcpy.edit.Densify(in_features, {densification_method}, {distance}, {max_deviation}, {max_angle})
Parámetro | Explicación | Tipo de datos |
in_features | La clase de entidad de línea o polígono a densificar. | Feature Layer |
densification_method (Opcional) | El método seleccionado para tratar la densificación de entidades.
| String |
distance (Opcional) | La distancia lineal máxima entre vértices. Esta distancia siempre se aplicará a los segmentos de línea y a las curvas simplificadas. El valor predeterminado es una función de la tolerancia xy de los datos. | Linear unit |
max_deviation (Opcional) | La distancia máxima a la que puede estar el segmento de salida desde la original. Este parámetro sólo afecta las curvas. El valor predeterminado es una función de la tolerancia xy de los datos. | Linear unit |
max_angle (Opcional) | El ángulo máximo al que puede estar la geometría de salida desde la geometría de entrada. El rango válido es de 0 a 90. El valor predeterminado es 10. Este parámetro solo afecta a las curvas. | Double |
Muestra de código
Ejemplo 1 de Densificar (ventana de Python)
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función Densificar en el modo inmediato.
import arcpy
arcpy.Densify_edit("C:/data.gdb/lines", "ANGLE","", "", "0.75")
Ejemplo 2 de Densificar (secuencia de comandos independiente)
La siguiente secuencia de comandos independiente muestra la función Densificar como parte de un flujo de trabajo que también utiliza la herramienta Ajustar.
# 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
#
climateBackup = "backups/climate.shp"
arcpy.CopyFeatures_management('climate.shp', 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.shp', "DISTANCE", "10 Feet")
# Snap climate regions feature class to vegetation layer vertices and edge
# first, snap climate region vertices to the nearest vegetation vertex within 30 Feet
# second, snap climate region vertices to the nearest vegetation edge within 20 Feet
#
snapEnv1 = ["Habitat_Analysis.gdb/vegtype", "VERTEX", "30 Feet"]
snapEnv2 = ["Habitat_Analysis.gdb/vegtype", "EDGE", "20 Feet"]
arcpy.Snap_edit('climate.shp', [snapEnv1, snapEnv2])
Entornos
Información de licenciamiento
- Basic: No
- Standard: Sí
- Advanced: Sí