Crear TIN (3D Analyst)

Resumen

Crea un dataset de red irregular de triángulos (TIN).

Uso

  • Evite crear un TIN utilizando un sistema de coordenadas geométricas, dado que la regla de triangulación de Delaunay no se puede aplicar de forma efectiva cuando las unidades de XY se expresan en coordenadas esféricas.

  • El tipo de entidad de superficie define la manera en que las entidades de entrada influirán en la definición de la superficie triangulada.

    • Las entidades de punto se pueden especificar como puntos de masa, que proporcionan nodos de datos cuyos valores z se utilizan en la triangulación de la superficie.
    • Las entidades de línea se pueden especificar como puntos de masa y líneas de corte, que representan ubicaciones a lo largo de una superficie con discontinuidades lineales en pendiente, tales como líneas de cresta, líneas de costa, bordes de pavimento, huellas de edificios, etc.
    • Las entidades poligonales también se pueden especificar como puntos de masa y líneas de corte, junto con entidades de recorte que definen el área de datos, reemplazan a entidades que definen regiones con valores z constantes (p. ej., masas de agua) y borran entidades que indican áreas interiores en las que los datos no existen.
  • La cantidad máxima de nodos admitidos por un TIN depende principalmente de los recursos de memoria contigua y libre que hay disponibles en el equipo. Plantéese limitar la cantidad total de nodos a una cifra inferior a los 6 millones a fin de mantener activo el rendimiento de visualización y la facilidad de uso general. Las superficies trianguladas más grandes se manejan mejor utilizando un dataset de terreno de varias resoluciones.

  • Defina la configuración del entorno Versión predeterminada de almacenamiento de TIN a PRE_10.0 si la TIN que se va a crear se va a utilizar en versiones de ArcGIS Desktop anteriores a la 10.0.

Parámetros

EtiquetaExplicaciónTipo de datos
TIN de salida

EL dataset de TIN que se va a generar.

TIN
Sistema de coordenadas
(Opcional)

La referencia espacial del TIN de salida debe establecerse como un sistema de coordinadas proyectadas. Los sistemas de coordenadas geográficas no se recomiendan porque la triangulación de Delaunay no puede garantizarse cuando las coordenadas XY se expresan en unidades angulares, lo que podría afectar negativamente a la exactitud de los cálculos basados en distancias, como pendiente, volumen y línea de visión.

Coordinate System
Clase de entidad de entrada
(Opcional)

Las entidades de entrada y las propiedades relacionadas que van a influir en la definición de la TIN.

  • Entidades de entrada: las entidades con la geometría que se importará a la TIN.
  • Campo altura: origen de la elevación de las entidades de entrada. Se puede utilizar cualquier campo numérico de la tabla de atributos de la entidad de entrada, junto con Shape.Z para los valores Z de las entidades 3D y Shape.M para los valores M almacenados con la geometría. Si se elige la palabra clave <None> la elevación de la entidad se interpolará desde la superficie circundante.
  • Tipo: se definirá el rol de la entidad que da forma a la superficie de la TIN. Consulte los consejos de uso de la herramienta para obtener más información sobre los tipos de entidades de superficie.
  • Campo de etiqueta: se asignará un atributo numérico a los elementos de datos de la TIN utilizando los valores obtenidos de un campo de tipo entero de la tabla de atributos de la entidad de entrada.
Value Table
Restringida de Delaunay
(Opcional)

Especifica la técnica de triangulación utilizada a lo largo de las líneas de corte de la TIN.

  • Desactivado: TIN utilizará la triangulación conforme de Delaunay, que puede densificar cada segmento de las líneas de corte para producir varios bordes de triángulo. Esta es la opción predeterminada.
  • Activado: TIN hará uso de la triangulación de Delaunay con límites, la cual va a agregar cada segmento como un único borde. Las normas de la triangulación de Delaunay se respetan en todas partes excepto a lo largo de las líneas de corte, que no se densificarán.
Boolean

arcpy.ddd.CreateTin(out_tin, {spatial_reference}, {in_features}, {constrained_delaunay})
NombreExplicaciónTipo de datos
out_tin

EL dataset de TIN que se va a generar.

TIN
spatial_reference
(Opcional)

La referencia espacial del TIN de salida debe establecerse como un sistema de coordinadas proyectadas. Los sistemas de coordenadas geográficas no se recomiendan porque la triangulación de Delaunay no puede garantizarse cuando las coordenadas XY se expresan en unidades angulares, lo que podría afectar negativamente a la exactitud de los cálculos basados en distancias, como pendiente, volumen y línea de visión.

Coordinate System
in_features
[[in_features, height_field, SF_type, tag_value],...]
(Opcional)

Las entidades de entrada y las propiedades relacionadas que van a influir en la definición de la TIN.

  • in_features: la entidad con la geometría que se importará a la TIN.
  • height_field: origen de la elevación de las entidades de entrada. Se puede especificar cualquier campo numérico de la tabla de atributos de la entidad de entrada, junto con Shape.Z para los valores Z de las entidades 3D y Shape.M para los valores M almacenados con la geometría. Si se elige la palabra clave <None> la elevación de la entidad se interpolará desde la superficie circundante.
  • sf_type: se definirá el rol de la entidad de entrada para definir la superficie de la TIN. Las opciones válidas dependen de la geometría de las entidades de entrada. Las entidades de punto y multipunto se pueden definir como Mass_Points, que aportan valores de elevación que se almacenan como nodos de datos de la TIN. Las entidades de línea se pueden designar como Mass_Points o líneas de corte especificando Hard_Line o Soft_Line. Las entidades poligonales pueden representar el límite de interpolación especificando Hard_Clip o Soft_Clip, partes interiores sin datos seleccionando Hard_Erase o Soft_Erase, o bien áreas de altura constante especificando Hard_Replace o Soft_Replace. Además, los polígonos también se pueden utilizar para asignar valores de atributos enteros especificando Hardvalue_Fill o Softvalue_Fill.
  • tag_field: un atributo numérico se derivará de un campo de tipo entero de la tabla de atributos de la entidad de entrada cuyos valores se pueden utilizar para asignar una forma de atribución básica a los elementos de datos de la TIN. Al especificar <None> no se asignará ningún valor de etiqueta.
Value Table
constrained_delaunay
(Opcional)

Especifica la técnica de triangulación utilizada a lo largo de las líneas de corte de la TIN.

  • DELAUNAYTIN utilizará la triangulación conforme de Delaunay, que puede densificar cada segmento de las líneas de corte para producir varios bordes de triángulo. Esta es la opción predeterminada.
  • CONSTRAINED_DELAUNAYTIN hará uso de la triangulación de Delaunay con límites, la cual va a agregar cada segmento como un único borde. Las normas de la triangulación de Delaunay se respetan en todas partes excepto a lo largo de las líneas de corte, que no se densificarán.
Boolean

Muestra de código

Ejemplo 1 de CreateTin (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.CreateTin_3d("NewTIN", "NAD 1983 StatePlane California II FIPS 0402 (Feet).prj", 
                   "points.shp Shape.Z masspoints", "constrained_delaunay")
Ejemplo 2 de CreateTin (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)

Temas relacionados