Resumen
Agrega vértices en las entidades de línea o polígono. También sustituye 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 con los parámetros Distancia, Ángulo máximo de desviación o Desviación máxima de desplazamiento.
La densificación se realiza segmento a segmento.
Solo 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. Densifique los datos en un sistema de coordenadas apropiado para mantener la forma correcta de las entidades.
Para cada vértice de la entidad original, incluidos los puntos de inicio y final, habrá un vértice coincidente en la entidad resultante.
El parámetro Recuento máximo de vértices controla en número máximo de vértices de cada segmento de salida densificado. Si una operación de densificación requiere un valor mayor, los segmentos se ajustarán para garantizar que no se supere este recuento de vértices (+/- 1). Si se introduce un valor que no es válido (0 o inferior), no se aplicará ningún límite a los segmentos lineales y la herramienta adoptará el valor 12000 para los segmentos curvos de manera predeterminada.
El ajuste del parámetro Recuento máximo de vértices hará que se utilice el valor establecido en el recuento máximo de vértices de los segmentos lineales y curvos.
Nota:
Cuanto más alto sea el valor utilizado, más posibilidades existirán de que una entidad aumente mucho. Las entidades excesivamente grandes pueden producir un impacto negativo en el rendimiento. Si se utiliza un valor extremadamente pequeño, la entidad de salida puede degenerar y dar lugar a una geometría nula. Los valores extremadamente pequeños también pueden provocar la creación de entidades que generan resultados inesperados en análisis posteriores.Al densificar mediante Desviación máxima de desplazamiento, si la geometría de entrada contiene arcos circulares, se aplicará un límite superior en el desplazamiento de manera que el ángulo entre dos segmentos de línea consecutivos en la salida no supera los diez grados. Este ángulo se puede superar si densifica mediante Ángulo máximo de desviación.
Precaución:
Esta herramienta modifica los datos de entrada. Consulte Herramientas que no crean datasets de salida para obtener más información y estrategias para evitar cambios de datos no deseados.
Sintaxis
Densify(in_features, {densification_method}, {distance}, {max_deviation}, {max_angle}, {max_vertex_per_segment})
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) | Especifica el método de densificación de entidades que se va a utilizar.
| 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 X,Y de los datos. | Linear Unit |
max_deviation (Opcional) | La distancia máxima a la que 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 X,Y 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 0 a 90. El valor predeterminado es 10. Este parámetro sólo afecta las curvas. | Double |
max_vertex_per_segment (Opcional) | Recuento máximo de vértices permitido por segmento. Si no se introduce ningún valor o se introduce un valor no válido (0 o menos), no existirá límite de vértices para los segmentos lineales y los segmentos curvos tendrán un valor predeterminado de 12000. | Long |
Salida derivada
Nombre | Explicación | Tipo de datos |
out_feature_class | Las entidades de entrada densificadas. | Clase de entidad |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función Densify en modo inmediato.
import arcpy
arcpy.Densify_edit("C:/data.gdb/lines", "ANGLE", "", "", "0.75")
El siguiente script independiente muestra la función Densify como parte de un flujo de trabajo que también utiliza la herramienta de edición Snap.
# 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í