Dataset LAS a TIN (3D Analyst)
Resumen
Exporta una red irregular de triángulos (TIN) desde un dataset LAS.
Ilustración
Uso
Cuando un dataset LAS se especifica como entrada, todos los puntos de datos en los archivos LAS a los que hace referencia se procesarán.
La capa de dataset de LAS se pueden utilizar para filtrar los puntos LAS por código de clase o valores de devolución. La capa se puede crear utilizando la herramienta Crear capa de dataset LAS o bien, cargando el dataset LAS en ArcMap o ArcScene y especificando los códigos de clase y valores de devolución deseados mediante el cuadro de diálogo de propiedades de capa.
-
Las opciones MINIMUM, MAXIMUM y AVERAGE de selección de puntos utiliza un área de tamaño de la ventana calculado automáticamente que está diseñada para producir un dataset TIN cuyo número de nodos se puede manejar adecuadamente por medio del sistema.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_las_dataset |
El dataset de LAS de entrada. | LAS Dataset Layer |
out_tin |
El dataset de TIN de salida. | TIN |
thinning_type (Opcional) |
El tipo de simplificación utilizado para reducir los puntos de datos LAS guardados como los nodos en la TIN resultante.
| String |
thinning_method (Opcional) |
El método de simplificación define la técnica específica utilizada para reducir los puntos de datos LAS y afecta la forma en que se interpreta el Valor de simplificación. Las opciones disponibles dependen del Tipo de simplificación seleccionada. Para RANDOM:
Para WINDOW_SIZE:
| String |
thinning_value (Opcional) |
El valor asociado con el Tipo de simplificación y Método de simplificación seleccionados. Para métodos de simplificación disponibles con el método de selección de puntos RANDOM:
En cualquier método de simplificación WINDOW_SIZE , el valor representa el área en la que se divide la extensión del dataset LAS para el muestreo de puntos de datos. | Double |
max_nodes (Opcional) |
La cantidad máxima de nodos permitida en la TIN de salida. El valor predeterminado es 5 millones. | Double |
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 |
Ejemplo de código
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.LasDatasetToTin_3d('se_baltimore.lasd', 'se_bmore', 'RANDOM', 15, 3.28)
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''**********************************************************************
Name: LAS Dataset to TIN Example
Description: Create a TIN using bare earth lidar measurements. This
script is designed for use as a script tool.
**********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set Local Variables
lasD = arcpy.GetParameterAsText(0)
inLas = arcpy.GetParameterAsText(1) #input las files
surfCons = arcpy.GetParameterAsText(2) #input surface constraints
sr = arcpy.GetParameter(3) #spatial reference of las dataset
outTin = arcpy.GetParameterAsText(4)
thinningType = arcpy.GetParameterAsText(5)
thinningMethod = arcpy.GetParameterAsText(6)
thinningValue = arcpy.GetParameter(7)
zFactor = arcpy.GetParameter(8)
try:
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, 'RECURSION', surfCons, sr)
lasLyr = arcpy.CreateUniqueName('lasdToTin', 'in_memory')
classCode = 2
returnValue = 'LAST'
# Execute MakeLasDatasetLayer
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Define extent of the area of interest
env.extent(1426057, 606477, 1449836, 623246)
# Execute LasDatasetToTin
arcpy.ddd.LasDatasetToTin(lasLyr, outTin, thinningType,
thinningMethod, thinningValue, zFactor)
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)