Resumen
Exporta una red irregular de triángulos (TIN) desde un dataset LAS.
Ilustración
Uso
-
Es posible hacer que la capa del dataset LAS limite los puntos LAS a mostrar y procesar seleccionando cualquier combinación de códigos de clasificación, marcadores de clasificación y valores de retorno en la configuración del filtro de la capa. Los filtros se pueden definir en el cuadro de diálogo Propiedades de capa o con 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. Las restricciones se aplican cuando el dataset LAS se muestra o procesa como una superficie triangulada.
Mientras que la cantidad total de puntos que puede admitir un TIN puede superar los 15 millones de puntos, se recomienda limitar los dataset de TIN a no más de 5 millones de puntos, para así garantizar un rendimiento ágil al visualizar y analizar los datos. Es posible reducir el recuento de nodos TIN mediante métodos de simplificación de puntos y controlando la extensión de procesamiento de salida.
Sintaxis
arcpy.ddd.LasDatasetToTin(in_las_dataset, out_tin, {thinning_type}, {thinning_method}, {thinning_value}, {max_nodes}, {z_factor}, {clip_to_extent})
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 a utilizar para seleccionar un subconjunto de puntos de datos LAS que se exportarán a TIN.
| String |
thinning_method (Opcional) | Especifica la técnica que se usará para reducir los puntos de datos LAS, lo cual influye en la interpretación del Valor de simplificación. Las opciones disponibles dependen del Tipo de simplificación seleccionado.
Especifica la técnica que se usará para reducir los puntos de datos LAS, lo cual 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 al área de muestro por el que se dividirá el dataset LAS. Si thinning_type="RANDOM" y thinning_method="PERCENT", este valor representa al porcentaje de puntos del dataset LAS que se exportarán al TIN. Si thinning_type="RANDOM" y thinning_method="NODE_COUNT", el 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. Este parámetro está deshabilitado si la referencia espacial de la superficie de entrada tiene un datum Z con una unidad lineal especificada. | Double |
clip_to_extent (Opcional) | Especifica si la TIN que resulta se recortará contra la extensión de análisis. Solo tiene efecto si la extensión de análisis es un subconjunto del dataset LAS de entrada.
| Boolean |
Muestra 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 un script 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 de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst