Extraer LAS (3D Analyst)

Resumen

Crea archivos LAS nuevos a partir de datos de nube de puntos en un dataset LAS o una capa de escena de nube de puntos.

Ilustración

Ilustración de la herramienta Extraer LAS

Uso

  • Esta herramienta se puede usar para crear nuevos archivos LAS a partir de un subconjunto de un dataset LAS o una capa de escena de nube de puntos especificando una extensión de procesamiento, límite de extracción o ambos. Cuando se proporciona una extensión de procesamiento con un límite de extracción, la intersección de ambos definirá la cobertura de los archivos LAS extraídos. Se puede aplicar un filtro de puntos a los datos de la nube de puntos de entrada si solo se necesita un subconjunto de puntos en los archivos LAS de salida. La nube de puntos de origen se puede filtrar para especificar los puntos en función de cualquier combinación de códigos de clasificación, marcadores de clase y valores de retorno. Los filtros de puntos para el dataset LAS y la capa de escena de nube de puntos se pueden definir cargando la capa en un mapa o escena activos y especificando los filtros en el cuadro de diálogo Propiedades de capa. Además, puede crear una capa con filtros de puntos para el dataset LAS usando la herramienta Crear capa de dataset LAS.

  • Si la referencia espacial se define para la nube de puntos de entrada, puede reproyectar los datos LAS de salida creados por esta herramienta en un sistema de coordenadas horizontales y verticales diferente estableciendo el entorno Sistema de coordenadas de salida. La referencia espacial de un archivo .las se puede definir en su encabezado o mediante un archivo .prj auxiliar mediante la convención de texto conocido (WKT). El archivo .prj debe residir en la misma ubicación que el archivo .las y tener el mismo nombre que el archivo .las. Si está presente, el archivo .prj invalidará la información de referencia espacial del encabezado del archivo .las. Se pueden crear archivos .prj para los archivos .las con las referencias espaciales ausentes o mal definidas mediante la herramienta Definir proyección para un archivo .las o .zlas individual o la herramienta Crear dataset LAS con la opción PRJ habilitada.

  • No es inusual que los registros de puntos LAS se almacenen en el archivo .las en una secuencia binaria que no se corresponde con el clustering espacial de los puntos. Cuando se consultan los datos de tal distribución, puede ser que el acceso a los registros binarios que representan los puntos LAS sea menos eficiente. La reordenación de los puntos en el archivo .las resultante optimizará los datos para su visualización y otras operaciones espaciales. Las estadísticas se calcularán automáticamente cuando se habilite la opción de reordenación. Si decide no reordenar los puntos LAS, puede habilitar o deshabilitar el cálculo de estadísticas. El cálculo de estadísticas optimizará consultas espaciales y ofrecerá un resumen de los códigos de clase y valores de retorno que hay en el archivo .las. Sin embargo, también agregará tiempo al procesamiento de esta herramienta. Si los archivos .las resultantes no se van a utilizar en ArcGIS, puede deshabilitar el cálculo de estadísticas para que la herramienta se ejecute más rápido.

Parámetros

EtiquetaExplicaciónTipo de datos
Nube de puntos de entrada

La capa de escena de nube de puntos o dataset LAS que se desea procesar.

LAS Dataset Layer; Scene Service Layer; File
Carpeta de destino

La carpeta existente en la que se escribirán los archivos .las de salida.

Folder
Extensión de procesamiento
(Opcional)

La extensión de los datos que se evaluarán.

  • Valor predeterminado: la extensión se basará en la extensión máxima de todas las entradas participantes. Esta es la opción predeterminada.
  • Combinación de entradas: la extensión se basará en la extensión máxima de todas las entradas.
  • Intersección de entradas: la extensión se basará en el área mínima en común de todas las entradas.
  • Extensión de visualización actual: la extensión es igual a la visualización actual. La opción no está disponible cuando no hay ningún mapa activo.
  • Como se especifica en la parte inferior: la extensión se basará en los valores mínimo y máximo de extensión que se especifiquen.
  • Examinar: la extensión se basará en un dataset existente.
Extent
Límite de extracción
(Opcional)

Un límite de polígono que define el área de los archivos .las que se recortará.

Feature Layer
Procesar todos los archivos LAS que intersequen la extensión
(Opcional)

Especifica cómo se va a utilizar el área de interés para determinar el modo de procesar los archivos .las. El área de interés está definida por el valor del parámetro Extensión de procesamiento, el valor del parámetro Límite de procesamiento, o una combinación de ambos.

  • Desactivado: solo se procesarán los puntos LAS que intersequen el área de interés. Esta es la opción predeterminada.
  • Activado: si alguna parte del archivo .las interseca el área de interés, se procesarán todos los puntos de ese archivo .las, incluidos los que queden fuera del área de interés.
Boolean
Sufijo del nombre de archivo de salida
(Opcional)

El texto que se incorporará al nombre de cada archivo .las de salida. Cada archivo heredará su nombre base de su archivo de origen, seguido del sufijo especificado en este parámetro.

String
Quitar los registros de longitud variable
(Opcional)

Especifica si se quitarán los registros de longitud variable (VLR). Cada archivo .las puede contener potencialmente un conjunto de VLR agregado por el software que lo produjo. El significado de estos registros normalmente solo lo conoce el software original. A menos que los datos LAS de salida sean procesados por una aplicación que entienda esta información, la retención de los VLR puede no proporcionar ninguna funcionalidad de valor añadido. La eliminación de los VLR puede ahorrar potencialmente un espacio significativo en el disco dependiendo de su tamaño total y de la cantidad de archivos que los contienen.

  • Desactivado: los registros de longitud variable de los archivos .las de entrada no se eliminarán y permanecerán en los archivos .las de salida. Esta es la opción predeterminada.
  • Activado: los registros de longitud variable de los archivos .las de entrada se eliminarán de los archivos .las de salida.
Boolean
Reorganizar puntos
(Opcional)

Especifica si se reorganizarán los puntos de los archivos .las.

  • Desactivado: no se reorganizará el orden de los puntos de los archivos .las.
  • Activado: se reorganizarán los puntos de los archivos .las. Esta es la opción predeterminada.
Boolean
Calcular Estadísticas
(Opcional)

Especifica si las estadísticas se calcularán para los archivos .las a los que hace referencia el dataset LAS. Calcular estadísticas proporciona un índice espacial para cada archivo .las, lo que mejora el análisis y el rendimiento de la visualización. Las estadísticas también mejoran la experiencia de filtrado y simbología al limitar la visualización de los atributos LAS, como los códigos de clasificación y la información de retorno, a los valores presentes en el archivo .las.

  • Activado: se calcularán las estadísticas. Esta es la opción predeterminada.
  • Desactivada: no se calcularán las estadísticas.
Boolean
Dataset LAS de salida
(Opcional)

El dataset LAS de salida que hace referencia a los archivos .las recién creados.

LAS Dataset
Compresión
(Opcional)

Especifica si el archivo .las de salida tendrá un formato comprimido o el formato LAS estándar.

  • Igual que la entrada —La compresión será la misma que la de entrada. Esta opción solo está disponible cuando la entrada es un dataset LAS. Es la opción predeterminada en ese caso.
  • Sin compresión —La salida tendrá el formato de LAS estándar (*.las). Esta es la opción predeterminada cuando la entrada es una capa de escena de nube de puntos.
  • Compresión zLAS —Los archivos .las de salida se comprimirán con el formato zLAS.
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Carpeta de salida

La carpeta en la que se escribirán los archivos .las.

Folder

arcpy.ddd.ExtractLas(in_las_dataset, target_folder, {extent}, {boundary}, {process_entire_files}, {name_suffix}, {remove_vlr}, {rearrange_points}, {compute_stats}, {out_las_dataset}, {compression})
NombreExplicaciónTipo de datos
in_las_dataset

La capa de escena de nube de puntos o dataset LAS que se desea procesar.

LAS Dataset Layer; Scene Service Layer; File
target_folder

La carpeta existente en la que se escribirán los archivos .las de salida.

Folder
extent
(Opcional)

La extensión de los datos que se evaluarán.

  • MAXOF: se utilizará la extensión máxima de todas las entradas.
  • MINOF: se utilizará el área mínima en común de todas las entradas.
  • DISPLAY: la extensión es igual a la visualización actual.
  • Nombre de capa: se utilizará la extensión de la capa especificada.
  • Objeto de Extent: se utilizará la extensión del objeto especificado.
  • Cadena de coordenadas delimitada por espacios: se utilizará la extensión de la cadena especificada. Las coordenadas se expresan como x-min, y-min, x-max, y-max.
Extent
boundary
(Opcional)

Un límite de polígono que define el área de los archivos .las que se recortará.

Feature Layer
process_entire_files
(Opcional)

Especifica cómo se va a aplicar la extensión de procesamiento.

  • PROCESS_EXTENTSolo se procesarán los puntos LAS que intersequen el área de interés. Esta es la opción predeterminada.
  • PROCESS_ENTIRE_FILESSi alguna parte del archivo .las interseca el área de interés, se procesarán todos los puntos de ese archivo .las, incluidos los que queden fuera del área de interés.
Boolean
name_suffix
(Opcional)

El texto que se incorporará al nombre de cada archivo .las de salida. Cada archivo heredará su nombre base de su archivo de origen, seguido del sufijo especificado en este parámetro.

String
remove_vlr
(Opcional)

Especifica si se quitarán los registros de longitud variable (VLR). Cada archivo .las puede contener potencialmente un conjunto de VLR agregado por el software que lo produjo. El significado de estos registros normalmente solo lo conoce el software original. A menos que los datos LAS de salida sean procesados por una aplicación que entienda esta información, la retención de los VLR puede no proporcionar ninguna funcionalidad de valor añadido. La eliminación de los VLR puede ahorrar potencialmente un espacio significativo en el disco dependiendo de su tamaño total y de la cantidad de archivos que los contienen.

  • MAINTAIN_VLRLos datos almacenados en los registros de longitud variable del archivo .las procesado no se eliminarán y permanecerán en los archivos .las extraídos. Esta es la opción predeterminada.
  • REMOVE_VLRLos registros de longitud variable adicionales se eliminarán de los archivos .las.
Boolean
rearrange_points
(Opcional)

Especifica si se reorganizarán los puntos de los archivos .las.

  • MAINTAIN_POINTSNo se reorganizará el orden de los puntos de los archivos .las.
  • REARRANGE_POINTSSe reorganizarán los puntos de los archivos .las. Esta es la opción predeterminada.
Boolean
compute_stats
(Opcional)

Especifica si las estadísticas se calcularán para los archivos .las a los que hace referencia el dataset LAS. Calcular estadísticas proporciona un índice espacial para cada archivo .las, lo que mejora el análisis y el rendimiento de la visualización. Las estadísticas también mejoran la experiencia de filtrado y simbología al limitar la visualización de los atributos LAS, como los códigos de clasificación y la información de retorno, a los valores presentes en el archivo .las.

  • COMPUTE_STATSSe calcularán las estadísticas. Esta es la opción predeterminada.
  • NO_COMPUTE_STATSNo se calcularán las estadísticas.
Boolean
out_las_dataset
(Opcional)

El dataset LAS de salida que hace referencia a los archivos .las recién creados.

LAS Dataset
compression
(Opcional)

Especifica si el archivo .las de salida tendrá un formato comprimido o el formato LAS estándar.

  • SAME_AS_INPUTLa compresión será la misma que la de entrada. Esta opción solo está disponible cuando la entrada es un dataset LAS. Es la opción predeterminada en ese caso.
  • NO_COMPRESSIONLa salida tendrá el formato de LAS estándar (*.las). Esta es la opción predeterminada cuando la entrada es una capa de escena de nube de puntos.
  • ZLASLos archivos .las de salida se comprimirán con el formato zLAS.
String

Salida derivada

NombreExplicaciónTipo de datos
out_folder

La carpeta en la que se escribirán los archivos .las.

Folder

Muestra de código

Ejemplo 1 de ExtractLas (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

env.workspace = 'C:/data'
arcpy.ddd.ExtractLas('test.lasd', 'c:/lidar/subset', boundary='study_area.shp',
                     name_suffix='subset', remove_vlr=True, 
                     rearrange_points='REARRANGE_POINTS', 
                     out_las_dataset='extracted_lidar.lasd')
Ejemplo 2 de ExtractLas (script independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.

'''****************************************************************************
Name: Split Large LAS File
Description: Divides a large LAS file whose point distribution covers the full
             XY extent of the data into smaller files to optimize performance
             when reading lidar data.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math

in_las_file = arcpy.GetParameterAsText(0)
tile_width = arcpy.GetParameter(1) # double in LAS file's XY linear unit
tile_height = arcpy.GetParameter(2) # double in LAS file's XY linear unit
out_folder = arcpy.GetParameterAsText(3) # folder for LAS files
out_name_suffix = arcpy.GetParameterAsText(4) # basename for output files
out_lasd = arcpy.GetParameterAsText(5) # output LAS dataset


try:
    temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
    arcpy.management.CreateLasDataset(in_las_file, temp_lasd, 
                                      compute_stats='COMPUTE_STATS')
    desc = arcpy.Describe(temp_lasd)
    total_columns = int(math.ceil(desc.extent.width/tile_width))
    total_rows = int(math.ceil(desc.extent.height/tile_height))
    digits = int(math.log10(max(cols, rows))) + 1
    for row in range(1, total_rows+1):
        yMin = desc.extent.YMin + tile_height*(row-1)
        yMax = desc.extent.YMin + tile_height*(row)
        for col in range (1, total_columns+1):
            xMin = desc.extent.XMin + tile_width*(col-1)
            xMax = desc.extent.XMax + tile_width*(col)
            name_suffix = '_{0}_{1}x{2}'.format(out_name_suffix, 
                                                str(row).zfill(digits), 
                                                str(col).zfill(digits))
            arcpy.ddd.ExtractLas(temp_lasd, out_folder, 
                                 arcpy.Extent(xMin, yMin, xMax, yMax),
                                 name_suffix=name_suffix, 
                                 rearrange_points='REARRANGE_POINTS',
                                 compute_stats='COMPUTE_STATS')
    arcpy.env.workspace = out_folder
    arcpy.management.CreateLasDataset(arcpy.ListFiles('*{0}*.las'.format(out_name_suffix)),
                                      out_lasd, compute_stats='COMPUTE_STATS',
                                      relative_paths='RELATIVE_PATHS')
except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Temas relacionados