Resumen
Crea un dataset de red irregular de triángulos (TIN) mediante un subconjunto de nodos de un TIN de origen.
Ilustración
Uso
Esta herramienta resulta útil para simplificar datos sobremuestreados, lo que, a su vez, mejora la experiencia de dibujo. Se proporcionan las siguientes opciones de simplificación:
- Tolerancia Z: el TIN resultante mantendrá la exactitud vertical de su TIN de origen dentro del valor de tolerancia Z especificado, que siempre está expresado en la unidad Z nativa del TIN de origen. La desviación de cualquier nodo del TIN de origen, cuando se compara con el valor interpolado del TIN de salida, no superará la tolerancia Z.
Nota:
Este método también admite la aplicación de un límite de nodo opcional, que hará que la herramienta detenga el procesamiento si el valor de tolerancia Z causa que el TIN resultante exceda la cantidad máxima de nodos. Si esto ocurre, se producirá el TIN, pero se devolverá una advertencia.
- Conteo: reduce la cantidad de nodos en el TIN de salida al valor especificado, que supuestamente es menor que el conteo de nodos del TIN de origen. Por lo general, se seleccionan nodos para mantener la extensión y las características de la superficie del TIN de origen.
- Tolerancia Z: el TIN resultante mantendrá la exactitud vertical de su TIN de origen dentro del valor de tolerancia Z especificado, que siempre está expresado en la unidad Z nativa del TIN de origen. La desviación de cualquier nodo del TIN de origen, cuando se compara con el valor interpolado del TIN de salida, no superará la tolerancia Z.
Si la opción Copiar las líneas de corte está seleccionada, las líneas de corte en el TIN de origen se almacenan en la salida sin ninguna generalización. Los nodos que aportan las líneas de corte no se toman en consideración en ningún límite máximo de conteo de nodos.
El límite de datos del TIN resultante se aplicará como bordes de las líneas de corte independientemente de si se usó la opción para copiar líneas de corte o si el límite de datos del TIN de entrada se aplica con aristas de línea de corte. Esto puede aumentar el tamaño del TIN de salida y opera independientemente de cualquier límite máximo de conteo de nodos especificado.
Sintaxis
arcpy.3d.DecimateTinNodes(in_tin, out_tin, method, {copy_breaklines}, {z_tolerance_value}, {max_node_value})
Parámetro | Explicación | Tipo de datos |
in_tin | El dataset de TIN que se va a procesar. | TIN Layer |
out_tin | EL dataset de TIN que se va a generar. | TIN |
method | Especifica el método de simplificación que se empleará para seleccionar un subconjunto de nodos del TIN de entrada.
| String |
copy_breaklines (Opcional) | Indica si las líneas de corte del TIN de entrada se copian a la salida.
| Boolean |
z_tolerance_value (Opcional) | La desviación máxima respecto del valor Z de la TIN de origen que se permitirá en la TIN de salida, que, de forma predeterminada, es la menor de las dos siguientes: una décima parte del rango Z o el número 10. | Double |
max_node_value (Opcional) | La cantidad máxima de nodos que se pueden almacenar en la TIN de salida, que adopta como valor predeterminado la cantidad total de nodos en la TIN de origen menos 1. Si se utiliza el método de tolerancia z, la herramienta detendrá el procesamiento si el valor de tolerancia Z causa que la TIN resultante exceda la cantidad máxima de nodos. | Long |
Muestra de código
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
arcpy.env.workspace = "C:/data"
arcpy.DecimateTinNodes_3d("tin", "tin_simple", "COUNT 5000" "BREAKLINES")
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
'''****************************************************************************
Name: DecimateTinNodes Example
Description: This script demonstrates how to use the
DecimateTinNodes tool.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set Local Variables
inTin = "elevation"
method = "COUNT 5000"
copyBrk = "BREAKLINES"
# Ensure output name is unique
outTin = arcpy.CreateUniqueName("simple_elev")
#Execute DecimateTinNodes
arcpy.DecimateTinNodes_3d(inTin, outTin, method, copyBrk)
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst