Crear dataset de LAS (Administración de datos)
Resumen
Crea una dataset de LAS que hace referencia a uno o más archivos de LAS y superficies opcionales de entidades de restricción.
Ilustración
Uso
El dataset LAS está diseñado para utilizarlo con datos LIDAR aerotransportados en los formatos *.las o *.zlas. Las versiones del archivo LAS compatibles son 1.0, 1.1, 1.2 y 1.3, y *.zlas, que son archivos *.las comprimidos, pueden utilizarse con la utilidad disponible aquí.
Considere crear y administrar los dataset LAS a través de la ventana ArcCatalog para una experiencia más interactiva. Consulte Crear un dataset LAS para obtener más información.
Las entidades de restricción de superficie se pueden utilizar para implementar los valores de elevación derivados de las entidades que representan las características de superficie en el dataset LAS.
Cada archivo LAS contiene normalmente en el encabezado información de referencia espacial que lee el dataset LAS. Si esta información falta o está escrita de manera incorrecta, el archivo LAS se puede georreferenciar correctamente al crear un archivo *.prj auxiliar que comparte su nombre, reside en su carpeta, y contiene la representación de cadena de caracteres del sistema de coordenadas del archivo LAS, similar al archivo *.prj de un shapefile.
El parámetro Calcular estadísticas, si se activa, proporciona una estructura de indización espacial interna que mejora el rendimiento total de un dataset LAS. Cuando se calculan estadísticas, se crea un archivo auxiliar .lasx para cada archivo LAS y se almacena con los archivos LAS en el disco. El cálculo de estadísticas solo se aplica a archivos LAS sin archivos LAS auxiliares (.lasx) o con archivos LAS auxiliares no actualizados.
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.
Cada archivo LAS se examina para determinar si su estructura interna es coherente con las especificaciones de LAS. Si algún archivo LAS falla al cargarse en el dataset LAS, puede ser indicativo de que el archivo está dañado o tiene información errónea en su encabezado. Considere la opción de usar la utilidad CheckLAS para determinar si es posible que existan problemas comunes en los datos.
Si un archivo LAS no aparece en su ubicación correcta una vez visualizado mediante el dataset LAS, puede que su encabezado tenga almacenada información de proyección incorrecta. En tales casos, si se conoce la referencia espacial correcta, se puede asignar una proyección al archivo LAS mediante la creación de un archivo PRJ. Considere la opción de usar la herramienta Definir proyección LAS a partir de la muestra de Herramientas de dataset LAS.
Sintaxis
Parámetro | Explicación | Tipo de datos |
input [input,...] | Los archivos y carpetas de LAS que contienen archivos LAS que harán referencia al dataset LAS. Esta información se puede suministrar como una cadena que contenga todos los datos de entrada o una lista de cadenas que contenga elementos de datos específicos (por ejemplo, "lidar1.las; lidar2.las; folder1; folder2" o ["lidar1.las", "lidar2.las", "folder1", "folder2"]). Consulte Entender la sintaxis de herramienta para obtener más información acerca de la especificación de las listas de entrada. | File; Folder |
out_las_dataset |
Dataset de LAS que se creará. | LAS Dataset |
folder_recursion (Opcional) |
Especifica si los archivos de datos lidar que residen en los subdirectorios de una carpeta de entrada se agregarán al dataset de LAS.
| Boolean |
in_surface_constraints [[in_feature_class, height_field, SF_type],...] (Opcional) | Clases de entidad que a las que hará referencia el dataset de LAS. Cada entidad requerirá que se definan las siguientes propiedades: in_feature_class: la clase de entidad a la que hará referencia el dataset de LAS. height_field: el campo que especifica el origen de los valores de elevación para las entidades. Se puede usar cualquier campo numérico en la tabla de atributos de la entidad. Si la entidad es compatible con valores z, se podrá leer la geometría de entidad seleccionando la opción Shape.Z. Si no desea altura, especifique la palabra clave <None> para crear entidades carentes de Z cuya elevación se interpolará desde la superficie. SF_type: el tipo de entidad de superficie que define la manera en que se incorpora la geometría de la entidad en la triangulación para la superficie. Las opciones con designación brusca o suave se refieren a si los bordes de la entidad representan cortes de pendiente o un cambio gradual.
| Value Table |
spatial_reference (Opcional) |
La referencia espacial del dataset LAS. Si no se asigna una referencia espacial explícitamente, el dataset LAS utilizará el sistema de coordenadas del primer archivo LAS de entrada. Si los archivos de entrada no contienen ninguna información de referencia espacial y no se ha establecido el Sistema de coordenadas de entrada, entonces el sistema de coordenadas del dataset de LAS se marcará como desconocido. | Coordinate System |
compute_stats (Opcional) | Especifica si se calcularán las estadísticas de los archivos LAS y se generará un índice espacial para el dataset LAS. La existencia de las estadísticas permite las opciones de simbología y filtrado de la capa del dataset LAS para mostrar solo los valores de atributos LAS que existen en los archivos LAS. Se crea un archivo auxiliar .lasx para cada archivo LAS.
| Boolean |
relative_paths (Opcional) |
Especifica si los archivos lidar y las entidades de restricción de superficies harán referencia al dataset de LAS a través de rutas absolutas o relativas. El uso de rutas relativas puede ser conveniente para los casos donde el dataset LAS y sus datos asociados se reubicarán en el sistema de archivos, utilizando la misma ubicación relativa para otros.
| 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
env.workspace = "C:/data"
arcpy.CreateLasDataset_management("folder_a; folder_b/5S4E.las",
"test.lasd", "RECURSION",
"LA/boundary.shp <None> Softclip;"\
"LA/ridges.shp Elevation hardline", "",
"COMPUTE_STATS", "RELATIVE_PATHS")
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''*********************************************************************
Name: Export Elevation Raster from Ground LAS Measurements
Description: This script demonstrates how to export
ground measurements from LAS files to a raster using a
LAS dataset. This sample is designed to be used as a script
tool.
*********************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback
try:
# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
surfCons = arcpy.GetParameterAsText(2)
classCode = arcpy.GetParameterAsText(3)
returnValue = arcpy.GetParameterAsText(4)
spatialRef = arcpy.GetParameterAsText(5)
lasD = arcpy.GetParameterAsText(6)
outRaster = arcpy.GetParameterAsText(7)
cellSize = arcpy.GetParameter(8)
zFactor = arcpy.GetParameter(9)
if arcpy.ProductInfo == 'ArcView':
arcpy.CheckOutExtension('3D')
# Execute CreateLasDataset
arcpy.management.CreateLasDataset(inLas, lasD, recursion, surfCons, sr)
# Execute MakeLasDatasetLayer
lasLyr = arcpy.CreateUniqueName('Baltimore')
arcpy.management.MakeLasDatasetLayer(lasD, lasLyr, classCode, returnValue)
# Execute LasDatasetToRaster
arcpy.conversion.LasDatasetToRaster(lasLyr, outRaster, 'ELEVATION',
'TRIANGULATION LINEAR WINDOW_SIZE 10', 'FLOAT',
'CELLSIZE', cellSize, zFactor)
arcpy.GetMessages()
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)
finally:
arcpy.management.Delete(lasLyr)