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. También es posible seleccionar un subconjunto de datos LIDAR por los códigos de clasificación, indicadores de clasificación y valores de retoro aplicando los filtros de punto LAS que desee mediante una capa de dataset LAS. Los filtros se pueden definir mediante el cuadro de diálogo de propiedades de la capa en la herramienta Crear capa de dataset LAS.
-
La capa de dataset LAS también se puede utilizar para controlar la aplicación de las funciones de restricción de superficie a las que un dataset LAS puede hacer referencia.
Considere la posibilidad de utilizar un tipo de simplificación de Tamaño de ventana (thinning_type = "WINDOW_SIZE" en Python) cuando necesite un control más predecible de cómo se simplifican los puntos LAS en la generación del TIN de salida.
Sintaxis
LasDatasetToTin_3d (in_las_dataset, out_tin, {thinning_type}, {thinning_method}, {thinning_value}, {max_nodes}, {z_factor})
Parámetro | Explicación | Tipo de datos |
in_las_dataset | El dataset LAS que se va a procesar. | LAS Dataset Layer |
out_tin | EL dataset de TIN que se va a generar. | TIN |
thinning_type (Opcional) | Especifica la técnica utilizada para seleccionar el subconjunto de puntos de datos LAS que se exportaría a TIN.
| String |
thinning_method (Opcional) | Especifica la técnica utilizada para reducir los puntos de datos LAS, lo que influye en la interpretación del Valor de simplificación. Las opciones disponibles dependen del Tipo de simplificación seleccionado.
Especifica la técnica utilizada para reducir los puntos de datos LAS, lo que influye en la interpretación del thinning_value. Las opciones disponibles dependen del thinning_type seleccionado.
| String |
thinning_value (Opcional) | Si thinning_type = "WINDOW_SIZE" este valor representa el área de muestreo por el que el dataset LAS se dividirá. Si thinning_type = "RANDOM" y thinning_method = "PERCENT", este valor representa el porcentaje de puntos del dataset LAS que se exportará al TIN. Si thinning_type = "RANDOM" y thinning_method = "NODE_COUNT", este valor representa el número total de puntos LAS que pueden exportarse al TIN. | Double |
max_nodes (Opcional) | La cantidad máxima de nodos permitida en el 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
Ejemplo 1 de LASDatasetToTin (ventana de Python)
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de 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)
Ejemplo 2 de LASDatasetToTin (secuencia de comandos independiente)
En el siguiente ejemplo se 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)
Entornos
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