Triangulación del TIN (3D Analyst)
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
Uso
La pendiente y los cálculos de orientación se basan en el plano del triángulo. La pendiente no se puede calcular correctamente si la unidad lineal del sistema de coordenadas del TIN utiliza medidas angulares, como grados decimales.
Las unidades lineales XY y Z deben estar en la misma unidad de medida para que los cálculos de sombreado y de la pendiente proporcionen resultados precisos. Si las unidades difieren pero el TIN tiene sus sistemas de coordenadas verticales y horizontales definidos, un factor Z apropiado se determina automáticamente. De lo contrario, el parámetro del Factor Z se puede utilizar para definir explícitamente el factor de conversión que se aplicará en los valores de elevación.
Los valores de orientación se expresan en grados y asumen que Norte es 0°. Los valores aumentan a la derecha y se registran en el campo Orientación. Un valor de orientación de -1 se asigna para cualquier triángulo plano en el TIN.
La pendiente se puede devolver en grados o porcentaje, y el nombre de campo en el que están registrados los valores depende de la selección realizada en el parámetro Unidades de pendiente:
- PORCENTAJE: los valores de la pendiente se almacenarán en un campo denominado Slope_Pct.
- GRADOS: los valores de la pendiente se almacenarán en un campo denominado Slope_Deg.
Los valores de sombreado reflejan el relieve localizado producido desde una fuente de luz que asume el acimut y el ángulo vertical especificado en el parámetro de sombreado. Se asume que el 0° es el Norte para el acimut y el valor de brillo se expresa de 0 a 255, donde, cuanto menor es el número, más oscura es la sombra.
El parámetro Campo de valor de etiqueta solo estará activo si el TIN tiene valores de etiqueta que se definieron explícitamente.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_tin |
The input TIN. | TIN Layer |
out_feature_class |
The output feature class. | Feature Class |
units (Opcional) |
The units of measure to be used in calculating slope.
| String |
z_factor (Opcional) |
The factor by which elevation values will be multiplied. This is typically used to convert Z linear units that match those of the XY linear units. The default is 1, which leaves elevation values unchanged. | 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
The following sample demonstrates the use of this tool in the Python window:
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")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** 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)