LAS a multipunto (3D Analyst)
Resumen
Crea entidades multipunto que utilizan uno o más archivos LIDAR.
Ilustración
Uso
-
Las versiones del archivo LAS compatibles son 1.0, 1.1, 1.2 y 1.3.
Los puntos LAS se pueden clasificar en varias categorías que describen el material que encuentra el retorno LIDAR, como terreno, construcción o agua. La Sociedad Americana de Fotogrametría y Detección Remota (ASPRS) define los siguientes códigos de clase para las versiones del archivo LAS 1.1, 1.2 y 1.3:
Valor de clasificación
Tipo de clasificación
0
Nunca clasificado
1
No asignado
2
Suelo
3
Vegetación baja
4
Vegetación media
5
Vegetación alta
6
Edificio
7
Ruido
8
Clave de modelo
9
Agua
10
Reservado para la definición de la ASPRS
11
Reservado para la definición de la ASPRS
12
Superponer
13–31
Reservado para la definición de la ASPRS
Nota:Las especificaciones de LAS 1.0 proporcionan los códigos de clase, de 0 a 255, pero no tienen ningún esquema de clasificación estandarizado. Cualquier código de clase utilizado en archivos 1.0 generalmente será definido por el proveedor de datos y proporcionado a través de información auxiliar.
-
Si no está interesado en importar puntos basados en la cantidad de devoluciones o si todas las devoluciones especificadas en el archivo o los archivos se establecen en 0 porque los puntos se han filtrado o clasificado, seleccione ANY_RETURN.
-
Cuando cargue diversos atributos LAS en una base de datos de Oracle, deberá asegurarse de que todas las palabras clave DBTUNE para el parámetro attribute_binary se establezcan para utilizar objetos binarios grandes (BLOB), no LONGRAW. Esto se debe a que los atributos LAS se cargan como BLOB y Oracle no admite varios BLOBs en las tablas LONGRAW. Consulte con el administrador de la base de datos de Oracle para obtener más ayuda.
Sintaxis
Parámetro | Explicación | Tipo de datos |
input [input,...] |
Un archivo o carpeta o más con datos en el formato LAS, versión 1.0, 1.1, y 1.2. El formato LAS es el estándar de la industria para datos LIDAR. | Folder or File |
out_feature_class |
La clase de entidad de salida. | Feature Class |
average_point_spacing |
La distancia 2D promedio entre puntos en el archivo o los archivos de entrada. Esto puede ser una aproximación. Si las áreas se han muestreado en diferentes densidades, especifique el espaciado más pequeño. El valor se debe proporcionar en las unidades de proyección del sistema de coordenadas de salida. | Double |
class_code [class_code,...] (Opcional) |
Los códigos de clasificación para utilizar como un filtro de consulta para los puntos de datos LAS. El rango de valores válidos varían de 1 a 32. Por defecto, no se aplica el filtro. | Long |
return [return,...] (Opcional) |
Los valores de retorno utilizados como filtro de consulta. Los valores de retorno válidos son 1-5, LAST_RETURNS y ANY_RETURNS. El valor predeterminado es ANY_RETURNS. | String |
attribute [[keyword, name],...] (Opcional) |
Un atributo LAS o más para cargar y almacenar y, opcionalmente, los nombres de campo para utilizar. La opción predeterminada es ninguno. Las palabras clave del atributo compatibles son INTENSITY, RETURN_NUMBER, NUMBER_OF_RETURNS, SCAN_DIRECTION_FLAG, EDGE_OF_FLIGHTLINE, CLASSIFICATION, SCAN_ANGLE_RANK, FILE_MARKER, USER_BIT_FIELD, y GPS_TIME. | Value Table |
input_coordinate_system (Opcional) |
El sistema de coordenadas del archivo LAS de entrada Esto establece como valor predeterminado el especificado en el archivo LAS. Si, por alguna razón, no se define en el archivo pero sabe cuál es, especifíquelo aquí. | Coordinate System |
file_suffix (Opcional) |
El sufijo de los archivos para importar desde una carpeta de entrada. Este parámetro es necesario cuando se especifica una carpeta como entrada. | String |
z_factor (Opcional) |
El factor por el que se multiplicarán los valores de elevación. Esto se suele usar para convertir unidades lineales Z que coinciden con las de las unidades lineales XY. El valor predeterminado es 1, que no altera los valores de elevación. | Double |
folder_recursion (Opcional) |
Escanea todas las subcarpetas cuando se selecciona una carpeta de entrada que contenga datos en un directorio de subcarpetas. La clase de entidad de salida se generará con una fila para cada archivo encontrado en la estructura del directorio.
| Boolean |
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.LASToMultipoint_3d("001.las", "Test.gdb/feature_dataset/sample_1", 1.5,
"2", "ANY_RETURNS", "INTENSITY", "Coordinate Systems"\
"/Projected Coordinate Systems/UTM/NAD 1983/NAD 1983 "\
"UTM Zone 17N.prj", "las", 1)
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''****************************************************************************
Name: Define Data Boundary of LAS File
Description: This script demonstrates how to delineate data boundaries of
LAS files with irregularly clustered points. It is intended for
use as a script tool with one input LAS file.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
# Set local variables
inLas = arcpy.GetParameterAsText(0) #input LAS file
ptSpacing = arcpy.GetParameterAsText(1) # LAS point spacing
classCode = arcpy.GetParameterAsText(2) # List of integers
returnValue = arcpy.GetParameterAsText(3) # List of strings
outTin = arcpy.GetParameterAsText(4) # TIN created to delineate data area
outBoundary = arcpy.GetParameterAsText(5) # Polygon boundary file
try:
arcpy.CheckOutExtension("3D")
# Execute LASToMultipoint
arcpy.AddMessage("Creating multipoint features from LAS...")
lasMP = arcpy.CreateUniqueName('lasMultipoint', 'in_memory')
arcpy.ddd.LASToMultipoint(inLas, LasMP, ptSpacing, class_code,
"ANY_RETURNS", "", sr, inFormat, zfactor)
# Execute CreateTin
arcpy.AddMessage("Creating TIN dataset...")
arcpy.ddd.CreateTin(outTin, sr, "{0} Shape.Z masspoints"\
.format(lasMP), "Delaunay")
# Execute CopyTin
arcpy.AddMessage("Copying TIN to delineate data boundary...")
arcpy.ddd.CopyTin(outTin, "{0}_copy".format(outTin))
# Execute DelineateTinDataArea
arcpy.AddMessage("Delineating TIN boundary...")
maxEdge = ptSpacing * 4
arcpy.ddd.DelineateTinDataArea(outTin, maxEdge, "PERIMETER_ONLY")
# Execute TinDomain
arcpy.AddMessage("Exporting data area to polygon boundary...")
arcpy.ddd.TinDomain(outTin, outBoundary, "POLYGON")
arcpy.AddMessage("Finished")
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)