Delinear área de datos TIN (3D Analyst)

Resumen

Redefine el área de datos, o la zona de interpolación, de una red irregular de triángulos (TIN) con base en la longitud de la arista del triángulo.

Ilustración

Ilustración de Delinear áreas de datos TIN

Uso

  • Esta herramienta no elimina ningún dato de origen. Modifica el TIN de entrada reclasificando sus bordes de modo que se incluyan o se excluyan de la zona de interpolación. Si desea conservar una versión sin modificar del TIN que se va a procesar, puede crear un duplicado del dataset utilizando la herramienta Copiar TIN antes de ejecutar esta herramienta.

  • Todos los bordes del triángulo se evalúan antes de comenzar la clasificación de la longitud de la arista. Esto deshace cualquier clasificación de área de datos existente de manera eficaz. Si el resultado obtenido de una ejecución es poco satisfactorio, puede ejecutar de nuevo el TIN resultante sin tener que obtener los datos originales.

  • Las longitudes extremas de la arista producidas por las características cóncavas en las mediciones de origen del TIN se pueden quitar del área de datos válida del TIN mediante de esta herramienta. Los triángulos que tienen un borde superior a la Longitud máxima de arista se enmascararán como áreas NoData.

    Nota:

    El valor de la Longitud máxima de arista se determina mejor a partir del espaciado promedio de los nodos del TIN dentro de las áreas que se consideran zonas de datos válidas. Proporcione un valor que sea mayor que el espaciado promedio. El uso más exitoso de esta herramienta está basado en el conocimiento de los datos utilizados para crear el TIN.

  • El Método determina qué triángulos se evalúan.

    Nota:

    Utilice Aristas de perímetro (method = "PERIMETER_ONLY" en Python) si las partes de los datos cóncavos están relegadas a los extremos externos del TIN.

Sintaxis

arcpy.3d.DelineateTinDataArea(in_tin, max_edge_length, {method})
ParámetroExplicaciónTipo de datos
in_tin

El dataset de TIN que se va a procesar.

TIN Layer
max_edge_length

La distancia bidimensional que define la longitud máxima de la arista del triángulo de un TIN en el área de datos del TIN. Los triángulos con una o más aristas que superen este valor se considerarán fuera de la zona de interpolación de la TIN y no se representarán en mapas ni se utilizarán en el análisis de superficies.

Double
method
(Opcional)

Aristas del TIN que se evaluarán al delinear el área de datos del TIN.

  • PERIMETER_ONLYItera a través de los triángulos desde la extensión externa del TIN hacia adentro y se detendrá cuando la iteración actual de las aristas de los triángulos limítrofes no supere la Longitud máxima de arista. Esta es la opción predeterminada.
  • ALLClasifica el conjunto entero de triángulos de TIN por longitud de arista.
String

Salida derivada

NombreExplicaciónTipo de datos
derived_out_tin

El TIN actualizado.

Capa TIN

Muestra de código

Ejemplo 1 de DelineateTinDataArea (ventana de Python)

En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.

arcpy.env.workspace = "C:/data"
arcpy.DelineateTinDataArea_3d("elevation", 10, "PERIMETER_ONLY")
Ejemplo 2 de DelineateTinDataArea (script independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.

'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of 
             LAS files with irregularly clustered points. It is intended for 
             use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy

# Set local variables
inLas = arcpy.GetParameterAsText(0)  # input LAS file
ptSpacing = arcpy.GetParameterAsText(1)  # LAS point spacing
classCode = arcpy.GetParameterAsText(2)  # List of integers
returnValue = arcpy.GetParameterAsText(3)  # List of strings
outTin = arcpy.GetParameterAsText(4)  # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5)  # Polygon boundary file

try:
    # Execute LASToMultipoint
    lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
    arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code, 
                             "ANY_RETURNS", "", sr, inFormat, zfactor)
    # Execute CreateTin
    arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
                       .format(lasMP), "Delaunay")
    # Execute CopyTin
    arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
    # Execute DelineateTinDataArea
    maxEdge = ptSpacing * 4
    arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
    # Execute TinDomain
    arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
        
except arcpy.ExecuteError:
    print(arcpy.GetMessages())
except Exception as err:
    print(err)

Información de licenciamiento

  • Basic: Requiere 3D Analyst
  • Standard: Requiere 3D Analyst
  • Advanced: Requiere 3D Analyst

Temas relacionados