Densificar (Edición)
Resumen
Inserta vértices en las entidades de línea o polígono. También sustituye los segmentos de curva (bézier, arcos circulares, arcos elípticos) por los segmentos de línea densificados.
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.
-
Todos los segmentos de las entidades de salida tendrán vértices en las entidades de entrada originales. Los puntos de inicio y fin para cada segmento siempre se aplican y permanecerán iguales.
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.
Esta herramienta modifica los datos de entrada. Vea Herramientas sin salidas para ver más información y estrategias para evitar cambios de datos no deseados.
Sintaxis
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. | Linear unit |
max_deviation (Opcional) |
La distancia máxima a la que puede estar la geometría de salida desde la geometría de entrada. Este parámetro trata específicamente de la simplificación de curvas. El valor predeterminado es el valor utilizado para convertir Clases de entidad en Shapefiles. | Linear unit |
max_angle (Opcional) |
El ángulo máximo al que puede estar la geometría de salida desde la geometría de entrada. Este parámetro trata específicamente de la simplificación de curvas. El ángulo de entrada puede estar entre 0 y 90 grados. El valor predeterminado es el valor utilizado para convertir Clases de entidad en Shapefiles. | Double |
Ejemplo de código
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/data.gdb/lines", "ANGLE","", "", "0.75")
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 # Author: ESRI # 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])