Densificar (Edición)

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

La curva se densifica en segmentos lineales por Desplazamiento, Distancia o Ángulo.
La curva se densifica en segmentos lineales por Desplazamiento, Distancia o Ángulo.

Uso

    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.

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

Sintaxis

Densify(in_features, {densification_method}, {distance}, {max_deviation}, {max_angle}, {max_vertex_per_segment})
ParámetroExplicaciónTipo 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.

  • DISTANCEEl valor del parámetro distance se aplicará a curvas, igual que a líneas rectas. Esta es la opción predeterminada.
  • OFFSETEl valor del parámetro max_deviation se aplicará a curvas.
  • ANGLEEl valor del parámetro max_angle se aplicará a curvas.
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

NombreExplicaciónTipo de datos
out_feature_class

Las entidades de entrada densificadas.

Clase de entidad

Muestra de código

Ejemplo 1 de Densificar (ventana de Python)

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")
Ejemplo 2 de Densificar (secuencia de comandos independiente)

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

Información de licenciamiento

  • Basic: No
  • Standard: Sí
  • Advanced: Sí

Temas relacionados