Resumen
Generaliza entidades de línea 3D para reducir el número total de vértices a la vez que se aproxima la forma original en horizontal y vertical dentro de una tolerancia especificada.
Uso
Plantéese utilizar esta herramienta para crear una representación simplificada de líneas 3D densamente muestreadas para optimizar el rendimiento de dibujo a escalas de visualización más pequeñas. Las líneas originales y los derivados simplificados resultantes pueden tener un rango de escala visible aplicado para garantizar que se dibuje la entidad más apropiada para una escala determinada.
Plantéese utilizar esta herramienta para crear líneas de corte simplificadas que puedan agregarse a los niveles de pirámide superiores de un dataset de terreno para optimizar el rendimiento de dibujo. Agregue las líneas de corte al mismo grupo para garantizar que no se impongan en los mismos niveles de pirámide.
Las líneas compuestas por múltiples entidades con extremos coincidentes no se simplifican entre las entidades. Plantéese usar la herramienta Eliminar división de línea para fusionar estas líneas y simplificar dentro de varias entidades conectadas.
Esta herramienta utiliza el algoritmo de Douglas-Peucker para retener puntos críticos que conservan mejor la forma de la línea original. El algoritmo comienza por conectar los extremos de una línea con una línea de tendencia y elimina los vértices que se encuentren dentro de la tolerancia especificada. Si hay algún punto que rebase la tolerancia, se utilizará el punto que se encuentre más lejos de la línea de tendencia inicial para crear dos líneas de tendencia, una desde el vértice inicial de la línea y otra desde el vértice final. El resto de vértices se evalúan con estas nuevas líneas de tendencia para eliminar los puntos que queden dentro de la distancia de tolerancia. Si quedan más puntos fuera de la tolerancia, las líneas de tendencia se subdividen con la misma fórmula hasta que se generen las líneas de tendencia que capturan todos los vértices de origen dentro de la tolerancia especificada.
Sintaxis
arcpy.3d.Simplify3DLine(in_features, out_feature_class, tolerance)
Parámetro | Explicación | Tipo de datos |
in_features | Entidades de línea que se simplificarán. | Feature Layer |
out_feature_class | Las entidades de línea de salida simplificadas. | Feature Class |
tolerance | El umbral de distancia 3D desde las líneas de entrada donde debe permanecer la salida simplificada. | Linear Unit |
Muestra de código
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.Simplify3DLine('rivers.shp', 'simplified_rivers.shp', '2 Meters')
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst