Extraer LAS (3D Analyst)

Resumen

Crea archivos LAS 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 crea archivos .las o .zlas a partir de un dataset LAS, un archivo .slpk de la nube de puntos o un servicio de capas de escena de nube depuntos I3S. Cuando la entrada sea un dataset LAS, se creará un archivo de salida por cada archivo .las o .zlas a que haga referencia el dataset LAS. Cuando la entrada sea una capa de escena de nube de puntos, el número de archivos de salida dependerá del número de puntos que se extraigan. Los archivos de salida tienen un tamaño limitado de aproximadamente 16,7 millones de puntos.

  • La nube de puntos de entrada puede filtrarse para limitar los puntos que se extraerán utilizando cualquier combinación de códigos de clasificación, indicadores de clasificación y valores de retorno. Los filtros de puntos pueden definirse cargando la capa en un mapa o escena y especificando los filtros en el cuadro de diálogo Propiedades de capa. Los filtros de puntos también se pueden aplicar a un dataset LAS mediante la herramienta Crear capa de dataset LAS. Además, puede extraer un subconjunto de la nube de puntos de entrada especificando una extensión de procesamiento y un límite de extracción. Cuando se proporciona una extensión de procesamiento con un límite de extracción, se utilizará la intersección de ambos para crear los archivos de salida. Si no se define la extensión de procesamiento ni el límite de extracción, se procesará la totalidad de la nube de puntos de entrada.

  • Cuando la entrada es un servicio de capa de escena de nube de puntos I3S o un archivo .slpk, se pueden crear varios archivos de salida. Es posible que los archivos resultantes tengan extensiones superpuestas, lo que puede provocar que el procesamiento de datos no sea eficiente en determinados casos. La herramienta LAS de tesela puede utilizarse para crear nuevos archivos LAS divididos a lo largo de una cuadrícula regular para producir archivos no superpuestos.

  • Cuando la entrada es un dataset LAS, la versión del archivo LAS resultante y el formato del registro de puntos de las salidas coincidirán con el archivo fuente. Cuando la entrada es un servicio de capa de escena de nube de puntos I3S o un archivo .slpk, la salida se creará como archivo LAS, versión 1.4, pero el formato del registro de puntos dependerá de los atributos de la nube de puntos de origen, como se indica a continuación:

    • Se utilizará el formato de punto 6 si la entrada no contiene valores RGB o de infrarrojo cercano.
    • Se utilizará el formato de punto 7 si la entrada contiene RGB pero no tiene valores de infrarrojo cercano.
    • Se utilizará el formato de punto 8 si la entrada contiene valores RGB e infrarrojo cercano.

    Para utilizar una versión de archivo LAS y un formato de registro de puntos diferentes, se pueden generar procesando los archivos de salida generados por esta herramienta con la herramienta Convertir LAS.

  • La referencia espacial de un archivo .las suele definirse en el archivo. Si esta información falta o es incorrecta, un archivo .prj auxiliar puede definir la referencia espacial del archivo LAS. 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 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 el parámetro Crear PRJ para archivos LAS.

  • La nube de puntos de entrada puede tener su sistema de coordenadas horizontales reproyectado en una referencia espacial diferente especificando el ajuste de entorno Sistema de coordenadas de salida. Además, se pueden realizar conversiones de unidades z asegurándose de que las unidades verticales se definen mediante un sistema de coordenadas verticales. Sin embargo, actualmente no se admite una transformación vertical de los datos. Debe asegurarse de que cualquier conversión del sistema de coordenadas horizontales pueda mantener el sistema de coordenadas verticales original.

  • 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 no reordena 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 procese más rápido.

  • El parámetro Límite de extracción se utilizará para recortar la nube de puntos de entrada a una forma irregular. Este parámetro admite un límite poligonal que define un área de estudio contigua, por ejemplo, una única entidad poligonal que cubre una región relativamente grande. Aunque se pueden introducir múltiples polígonos que representen áreas de interés vecinas, la entidad de límites no admite polígonos que representen un gran número de elementos pequeños, por ejemplo, árboles o edificios. Se fusionan varios polígonos para recortar eficazmente la nube de puntos de entrada. Por este motivo, si se especifica un elemento de contorno con muchos polígonos pequeños, el rendimiento será lento y debería evitarse.

Parámetros

EtiquetaExplicaciónTipo de datos
Nube de puntos de entrada

Dataset LAS, paquete de capas de escena de nube de puntos (archivo .slpk) o servicio de nube de puntos I3S que se extraerá. Un servicio de nube de puntos I3S debe tener activada la propiedad de exportación para poder ser procesado.

LAS Dataset Layer; Scene Layer; File
Carpeta de destino

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.

  • Extensión de visualización actual Current Display Extent: la extensión se basará en el mapa o la escena activa. La opción solo está disponible cuando haya un mapa activo.
  • Extensión de dibujo Draw Extent: la extensión se basará en un rectángulo dibujado en el mapa o la escena. Esta opción creará una clase de entidad en la geodatabase del proyecto y agregará una capa al mapa. La clase de entidad tendrá el mismo sistema de coordenadas que el mapa.
    Nota:

    Esta opción no está disponible en el cuadro de diálogo Entornos. Solo está disponible desde un parámetro de herramienta con un tipo de datos de extensión o desde la pestaña Entornos de un cuadro de diálogo de herramienta.

    Nota:

    Cuando la opción de edición Habilitar y deshabilitar edición en la pestaña Editar está activada, es preciso habilitar la edición en la pestaña Editar de la cinta para dibujar la extensión.

  • Extensión de mapa Layer: la extensión se basará en una capa de mapa activa. Use la lista desplegable para seleccionar una capa disponible o use la opción Extensión de datos en todas las capas para obtener la extensión combinada de todas las capas de mapas activos, excepto el mapa base. Esta opción solo está disponible cuando haya un mapa activo con capas.

    Cada capa de mapas tiene las opciones siguientes:

    • Todas las entidades Select All: extensión de todas las entidades en una capa.
    • Entidades seleccionadasArea from Selected Features: extensión de las entidades seleccionadas en la capa.
    • Entidades visibles Extent Indicator: extensión de las entidades visibles en la capa.
      Nota:

      Las extensiones de las opciones Entidades seleccionadas Area from Selected Features y Entidades visibles Extent Indicator solo están disponibles para capas de entidades.

  • Examinar Browse: la extensión se basará en un dataset existente.
  • Intersección de entradas Intersect: la extensión se basará en la extensión mínima o en común de todas las entradas. Si ninguna de las entradas se solapa, podría generarse una extensión nula con todos los valores igual a cero.
  • Combinación de entradas Union: la extensión se basa en la extensión máxima o combinada de todas las entradas.
  • Portapapeles Paste: la extensión puede copiarse en y desde el portapapeles.
    • Copiar extensión Copy: copia las coordenadas de la extensión y el sistema de coordenadas en el portapapeles.
    • Pegar extensión Paste: pega las coordenadas de la extensión y, si se desea, el sistema de coordenadas desde el portapapeles. Si los valores del portapapeles no incluyen un sistema de coordenadas, la extensión utilizará el sistema de coordenadas del mapa.
    Nota:

    Las coordenadas de la extensión se copian del portapapeles y se pegan con el mismo formato y orden que el objeto Extent de ArcPy: x-min, y-min, x-max, y-max y referencia espacial.

  • Restablecer extensión Reset: la extensión se restablecerá al valor predeterminado.
  • Coordenadas introducidas de forma manual: las coordenadas deben ser valores numéricos y encontrarse en el sistema de coordenadas del mapa activo.
    Precaución:

    El mapa podría utilizar unidades de visualización distintas de las coordenadas introducidas. No se admite el uso de una dirección cardinal (N, S, E, O). Utilice un valor de signo negativo para las coordenadas sur y oeste.

Extent
Límite de extracción
(Opcional)

Un límite poligonal que se utilizará para recortar la nube de puntos de entrada. Este límite debe representar un área de estudio primaria que suele estar definida por un polígono contiguo, pero también puede estar compuesta por más de un polígono cuando representa un área de estudio común con una brecha espacial relevante.

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, 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 proporcionado 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 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 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 la salida. Esta es la opción predeterminada.
  • Activado: los registros de longitud variable de los archivos .las de entrada se eliminarán de la 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 entradaLa compresión será la misma que la de entrada. Esta opción solo está disponible cuando la entrada es un dataset LAS, y es la opción predeterminada en ese caso.
  • Sin compresiónLa salida tendrá el formato LAS estándar (archivo *.las). Esta es la opción predeterminada cuando la entrada es una capa de escena de nube de puntos.
  • Compresión zLASLos archivos .las de salida se comprimirán con el formato zLAS.
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Carpeta de salida

La carpeta donde 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

Dataset LAS, paquete de capas de escena de nube de puntos (archivo .slpk) o servicio de nube de puntos I3S que se extraerá. Un servicio de nube de puntos I3S debe tener activada la propiedad de exportación para poder ser procesado.

LAS Dataset Layer; Scene Layer; File
target_folder

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 usará la extensión máxima de todas las entradas.
  • MINOF: se usará el área mínima común a todas las entradas.
  • DISPLAY: la extensión es igual a la visualización visible.
  • 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 poligonal que se utilizará para recortar la nube de puntos de entrada. Este límite debe representar un área de estudio primaria que suele estar definida por un polígono contiguo, pero también puede estar compuesta por más de un polígono cuando representa un área de estudio común con una brecha espacial relevante.

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, 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 proporcionado en este parámetro.

String
remove_vlr
(Opcional)

Especifica si se quitarán los registros de longitud variable (VLR). Cada archivo .las puede contener 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 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 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, y es la opción predeterminada en ese caso.
  • NO_COMPRESSIONLa salida tendrá el formato LAS estándar (archivo *.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 donde 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.

arcpy.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 una secuencia de comandos 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