Dominio del TIN (3D Analyst)

Resumen

Crea una clase de entidad de línea o polígono que representa la zona de interpolación de un dataset de red irregular de triángulos (TIN).

Ilustración

Figura de Dominio del TIN
Dominio del TIN

Uso

  • Esta herramienta se puede utilizar para generar una envoltura convexa (el polígono de delimitación mínimo) alrededor de un conjunto de puntos. Si no se utiliza ningún polígono de recorte o de borrado para definir el TIN, el dominio es equivalente a la envoltura convexa.

  • La geometría de salida se coloca en un registro de entidad y puede ser una geometría única o multiparte, según la naturaleza de la zona de interpolación. Por ejemplo, si la zona de interpolación está compuesta por islas o contiene orificios, la geometría resultante será multiparte.

    Nota:

    Los polígonos 3D solo contienen valores de elevación a lo largo del perímetro de las entidades, ya que las partes interiores del polígono no incluirán ningún vértice. Cuando se dibujan en 3D con un relleno de área, los vértices limítrofes se conectan arbitrariamente en triángulos para su representación. A menos que el polígono sea plano, ya sea con pendiente u horizontal, es poco probable que el relleno represente en forma precisa la superficie interior. Por esta razón, se recomienda dibujar polígonos 3D no planares sin simbología de relleno.

Parámetros

EtiquetaExplicaciónTipo de datos
TIN de entrada

El dataset TIN que se procesará.

TIN Layer
Clase de entidad de salida

La clase de entidad que generará.

Feature Class
Tipo de clase de entidad de salida

La geometría de la clase de entidad de salida.

  • LINELa salida será una clase de entidad de línea habilitada en z.
  • POLYGONLa salida será una clase de entidad poligonal habilitada en z.
String

arcpy.ddd.TinDomain(in_tin, out_feature_class, out_geometry_type)
NombreExplicaciónTipo de datos
in_tin

El dataset TIN que se procesará.

TIN Layer
out_feature_class

La clase de entidad que generará.

Feature Class
out_geometry_type

La geometría de la clase de entidad de salida.

  • LINELa salida será una clase de entidad de línea habilitada en z.
  • POLYGONLa salida será una clase de entidad poligonal habilitada en z.
String

Muestra de código

Ejemplo 1 de TinDomain (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.ddd.TinDomain('tin', 'tin_domain.shp', out_geometry_type='POLYGON')
Ejemplo 2 de TinDomain (secuencia de comandos independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos 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)

Temas relacionados