Clasificar superposición de LAS (3D Analyst)

Resumen

Clasifica los puntos LAS de escaneados superpuestos procedentes de levantamientos topográficos LIDAR aéreos.

Ilustración

Ilustración de la herramienta Clasificar superposición de LAS

Uso

  • Lograr una distribución regular de puntos a menudo mejora el rendimiento de las herramientas posteriores. Los datos derivados de puntos con distribución irregular podrían producir un margen de error no deseado. Cuando los levantamientos topográficos LIDAR aéreos tienen puntos LAS de líneas de vuelo superpuestas, los datos LAS generalmente tendrán una mayor densidad de puntos en el área de superposición. El ángulo de escaneo de puntos de las diferentes líneas de vuelo también puede variar ampliamente. Normalmente, los puntos con ángulos de escaneo más grandes tendrán un margen de error mayor que los puntos cuyos ángulos de escaneo están más cerca del nadir. La clasificación de puntos superpuestos permite filtrar los datos LAS de manera que se produzca una densidad de puntos uniforme. La designación Superponer permite filtrar los puntos y excluirlos de las operaciones de visualización y análisis posteriores.

  • El atributo de Id. de origen de punto de un punto LAS identifica la línea de vuelo desde la cual se recopiló el punto. Este atributo se utiliza para establecer la presencia de puntos de superposición. Los datos LAS se evalúan en una distancia de muestreo determinada. Cuando se encuentran puntos con diferentes Id. de origen de punto dentro del área que se está evaluando, el ángulo de escaneo se utiliza para establecer qué Id. de origen de punto representa los puntos que no se superponen. El Id. de origen de punto con el ángulo de escaneo más cercano a 0, o nadir, se conservará como puntos que no se superponen. Los puntos asociados con los Id. de origen de puntos restantes se marcarán como superpuestos.

    El tamaño de la muestra utilizada para evaluar los puntos LAS debería ser, aproximadamente, entre el doble y el triple del espaciado de puntos nominal de los datos LAS. El uso de una distancia de muestreo mayor introduce la posibilidad de clasificar erróneamente los puntos, y el uso de tamaños de muestra más pequeños puede no capturar suficientes puntos para identificar adecuadamente los puntos de superposición.

  • Esta herramienta funciona con archivos .las o .zlas en teselas que combinan registros de puntos de varias líneas de vuelo. Cada archivo se procesa de forma independiente, lo que significa que no se detectarán puntos superpuestos si cada línea de vuelo se almacena en un archivo separado. Utilice la herramienta LAS de tesela para fusionar dichos archivos.

  • A los puntos de superposición en archivos LAS versión 1.4 con formatos de registro de puntos del 6 al 8 se les asignará el indicador de clasificación de superposición. Esto permite que los puntos conserven su valor de clasificación original. Los puntos de superposición de todos los demás archivos .las admitidos reciben un valor de código de clase de 12. Si el valor de código de clase de 12 se está utilizando en los archivos .las de entrada para representar otras cosas que no sean escaneos de superposición, puede utilizar la herramienta Cambiar códigos de clase LAS para reasignar estos puntos a otro valor antes de ejecutar esta herramienta.

Parámetros

EtiquetaExplicaciónTipo de datos
Dataset LAS de entrada

El dataset LAS de teselas que se procesará.

LAS Dataset Layer
Distancia de muestra

La distancia de cualquier dimensión del área cuadrada que se utilizará para evaluar los datos LAS. Si se especifica Desconocido como unidad lineal, la unidad se definirá mediante la referencia espacial del archivo .las de entrada.

Linear Unit
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
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
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
Actualizar pirámide
(Opcional)

Especifica si la pirámide de dataset LAS se actualizará después de modificar los códigos de clase.

  • Activado: se actualizará la pirámide de dataset LAS. Esta es la opción predeterminada.
  • Desactivado: no se actualizará la pirámide de dataset LAS.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Dataset LAS de salida

El dataset LAS que se va a modificar.

LAS Dataset Layer

arcpy.ddd.ClassifyLasOverlap(in_las_dataset, sample_distance, {extent}, {process_entire_files}, {compute_stats}, {update_pyramid})
NombreExplicaciónTipo de datos
in_las_dataset

El dataset LAS de teselas que se procesará.

LAS Dataset Layer
sample_distance

La distancia de cualquier dimensión del área cuadrada que se utilizará para evaluar los datos LAS. Este valor se puede expresar como un número y un valor de unidad lineal, por ejemplo, 3 metros. Si no se especifican las unidades lineales o se introducen como Unknown, la unidad se definirá mediante la referencia espacial del archivo .las de entrada.

Linear Unit
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
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
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
update_pyramid
(Opcional)

Especifica si la pirámide de dataset LAS se actualizará después de modificar los códigos de clase.

  • UPDATE_PYRAMIDSe actualizará la pirámide de dataset LAS. Esta es la opción predeterminada.
  • NO_UPDATE_PYRAMIDNo se actualizará la pirámide de dataset LAS.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_las_dataset

El dataset LAS que se va a modificar.

LAS Dataset Layer

Muestra de código

Ejemplo 1 de ClassifyLasOverlap (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.ClassifyLasOverlap('Denver_2.lasd', '1 Meter')
Ejemplo 2 de ClassifyLasOverlap (script independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python.

'''****************************************************************************
       Name: Classify Lidar & Extract Building Footprints
Description: Extract footprint from lidar points classified as buildings, 
             regularize its geometry, and calculate the building height.

****************************************************************************'''
import arcpy

lasd = arcpy.GetParameterAsText(0)
dem = arcpy.GetParameterAsText(1)
footprint = arcpy.GetParameterAsText(2)

try:
    desc = arcpy.Describe(lasd)
    if desc.spatialReference.linearUnitName in ['Foot_US', 'Foot']:
        unit = 'Feet'
    else:
        unit = 'Meters'
    ptSpacing = desc.pointSpacing * 2.25
    sampling = '{0} {1}'.format(ptSpacing, unit)
    # Classify overlap points
    arcpy.ddd.ClassifyLASOverlap(lasd, sampling)
    # Classify ground points
    arcpy.ddd.ClassifyLasGround(lasd)
    # Filter for ground points
    arcpy.management.MakeLasDatasetLayer(lasd, 'ground', class_code=[2])
    # Generate DEM
    arcpy.conversion.LasDatasetToRaster('ground', dem, 'ELEVATION', 
                                        'BINNING NEAREST NATURAL_NEIGHBOR', 
                                        sampling_type='CELLSIZE', 
                                        sampling_value=desc.pointSpacing)
    # Classify noise points
    arcpy.ddd.ClassifyLasNoise(lasd, method='ISOLATION', edit_las='CLASSIFY', 
                               withheld='WITHHELD', ground=dem, 
                               low_z='-2 feet', high_z='300 feet', 
                               max_neighbors=ptSpacing, step_width=ptSpacing, 
                               step_height='10 feet')
    # Classify buildings
    arcpy.ddd.ClassifyLasBuilding(lasd, '7.5 feet', '80 Square Feet')
    #Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, 'GROUND', [8, 20, 55], 
                                  compute_stats='COMPUTE_STATS')
    # Filter LAS dataset for building points
    lasd_layer = 'building points'
    arcpy.management.MakeLasDatasetLayer(lasd, lasd_layer, class_code=[6])
    # Export raster from lidar using only building points
    temp_raster = 'in_memory/bldg_raster'
    arcpy.management.LasPointStatsAsRaster(lasd_layer, temp_raster,
                                           'PREDOMINANT_CLASS', 'CELLSIZE', 2.5)
    # Convert building raster to polygon
    temp_footprint = 'in_memory/footprint'
    arcpy.conversion.RasterToPolygon(temp_raster, temp_footprint)
    # Regularize building footprints
    arcpy.ddd.RegularizeBuildingFootprint(temp_footprint, footprint, 
                                          method='RIGHT_ANGLES')

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Temas relacionados