Triangulación del TIN (3D Analyst)

Nivel de licencia:BasicStandardAdvanced

Resumen

Exporta caras de triángulo de un dataset de red de triángulos irregular (TIN) a una clase de entidad de polígono y proporciona la pendiente, el aspecto y atributos opcionales de sombreado y valor de etiqueta para cada triángulo.

Ilustración

TIN Triangle illustration

Uso

Sintaxis

TinTriangle_3d (in_tin, out_feature_class, {units}, {z_factor}, {hillshade}, {tag_field})
ParámetroExplicaciónTipo de datos
in_tin

El TIN de entrada.

TIN Layer
out_feature_class

La clase de entidad de salida.

Feature Class
units
(Opcional)

Las unidades de medida que se utilizarán para el cálculo de la pendiente.

  • PERCENTLa pendiente se expresa como un valor de porcentaje. Esta es la opción predeterminada.
  • DEGREELa pendiente se expresa como el ángulo de inclinación desde un plano horizontal.
String
z_factor
(Opcional)

El factor por el que se multiplicarán los valores Z. Esto se utiliza generalmente para convertir las unidades lineales Z para que coincidan con las unidades lineales XY. El valor predeterminado es 1, que no altera los valores de elevación.

Double
hillshade
HILLSHADE <azimuth>, <angle>
(Opcional)

Especifica los ángulo acimut y de altitud del origen de luz al aplicar un efecto de sombreado para la salida de la capa de entidades. Acimut puede variar de 0 a 360 grados, considerando que la altitud puede variar de 0 a 90. Un acimut de 45 grados y la altitud de 30 grados se ingresará como "HILLSHADE 45, 30".

String
tag_field
(Opcional)

El nombre de campo en la entidad de salida que almacenará el valor de etiqueta del triángulo. Este parámetro está vacío por defecto, lo que resultará en valores de etiqueta no escritos en la salida.

String

Ejemplo de código

Ejemplo 1 de TinTriangle (ventana de Python)

El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:

import arcpy
from arcpy import env

arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.TinTriangle_3d("tin", "tin_triangle.shp", "DEGREE", 1,"HILLSHADE 310,45", "tag")
Ejemplo 2 de TinTriangle (secuencia de comandos independiente)

El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:

'''****************************************************************************
Name: TinTriangle Example
Description: This script demonstrates how to use the 
             TinTriangle tool to extract triangles from each TIN in the 
             target workspace.
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback

try:
    arcpy.CheckOutExtension("3D")
    # Set environment settings
    env.workspace = "C:/data" # the target workspace
    # Create list of TINs
    TINList = arcpy.ListDatasets("*", "Tin")
    # Verify the presence of TINs in the list
    if TINList:
        for dataset in TINList:
            # Set Local Variables
            TINList = arcpy.ListDatasets("*", "Tin")
            slopeUnits = "PERCENT"
            zfactor = 1
            hillshade = "HILLSHADE 300, 45" # defines hillshade azimuth & angle
            tagField = "Tag"
            Output = dataset + "_triangles.shp" # name of the output file
            #Execute TinTriangle
            arcpy.ddd.TinTriangle(dataset, Output, slopeUnits, zfactor,
                                  hillshade, tagField)
            print "Finished."
    else:
        print "There are no TIN(s) in the " + env.workspace + " directory."
    arcpy.CheckInExtension("3D")
except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

Entornos

Temas relacionados

Información sobre licencias

ArcGIS for Desktop Basic: Requiere 3D Analyst
ArcGIS for Desktop Standard: Requiere 3D Analyst
ArcGIS for Desktop Advanced: Requiere 3D Analyst
5/9/2014