Clasificar ruido de LAS (3D Analyst)

Resumen

Clasifica como ruido los puntos LAS con características espaciales anómalas.

Uso

  • Por lo general, los puntos de ruido de los resultados de LAS tienen un impacto perjudicial en la visualización y el análisis de datos. Por ejemplo, es posible que los resultados de aves de altos vuelos y pulsos dispersos que se enfrentaron a cobertura de nubes, niebla contaminada, masas de agua y espejos muy reflectantes distorsionen el rango z de los puntos que rodean a esa ubicación. Identificar estos puntos como ruido permitirá filtrarlos de la visualización y eliminarlos de cualquier producción de datos derivados, como un perfil de orientación, pendiente o superficie de elevación.

  • El método Aislamiento procesará los datos LAS en bins de 3 por 3 teselados según la región definida en los parámetros Ancho de vecindad y Altura de vecindad. Si el número de puntos LAS en el volumen del análisis es menor que el valor del parámetro Límite de puntos de vecindad, los puntos LAS se tratarán como ruido. El límite de puntos debe reflejar una aproximación razonable según la densidad de los puntos LIDAR y el número de puntos LAS que se pueden anticipar en el volumen del análisis.

  • Si algunas devoluciones de puntos LAS tienen valores z anormalmente altos o bajos para la región capturada por el conjunto de LIDAR, plantéese utilizar el método de Altura absoluta para definir el umbral de valores z de los datos a fin de identificar rápidamente los puntos de valores atípicos como ruido.

  • Si los puntos LAS tienen valores z anormalmente altos o bajos para regiones específicas, pero estos valores quedan dentro del rango de mediciones válidas capturadas en el conjunto de LIDAR, plantéese utilizar el método de Altura relativa para definir el umbral de los valores z de los datos según el desplazamiento desde el suelo. Para generar una superficie de suelo, filtre el dataset LAS para los puntos clasificados del suelo y utilice la herramienta De dataset LAS a ráster.

  • Solo se reclasificarán los puntos LAS con los valores de código de clase 0 o 1. Si los puntos no clasificados se representan mediante otro valor, plantéese utilizar la herramienta Cambiar códigos de clase de LAS para asignar a los puntos no clasificados un valor de 1. Cuando los puntos de ruido se clasifican y se utiliza el método de Aislamiento o Altura absoluta, a todos los puntos de ruido se les asignará un valor de código de clase de 7. Si se utiliza el método de Altura relativa, a los puntos de ruido que estén por debajo del umbral del parámetro Altura mínima se les asignará un valor de 7, que representa ruido bajo, mientras que a los puntos de ruido que estén por encima del umbral del parámetro Altura máxima se les asignará un valor de 18, que representa ruido alto.

  • Si tiene dudas sobre la configuración a utilizar para determinar puntos de ruido, puede exportar los puntos LAS detectados como ruido como una entidad de punto, teniendo deshabilitada la opción para editar el código de clasificación LAS. Si los puntos de salida reflejan los resultados esperados, puede reclasificar los puntos LAS con esas entidades usando la herramienta Buscar puntos de LAS por proximidad.

  • El método de aislamiento es una operación de rendimiento intensivo que se ejecuta más rápido con tamaños de bin mayores. Especifique el tamaño de bin más grande posible en función de la naturaleza y distribución de los datos para obtener el mejor rendimiento.

Parámetros

EtiquetaExplicaciónTipo de datos
Dataset LAS de entrada

El dataset LAS que se procesará.

LAS Dataset Layer
Método
(Opcional)

Especifica el método de detección de ruido que se utilizará.

  • AislamientoLa proximidad espacial de los puntos LAS se analizará en volúmenes en teselas para determinar las mediciones del ruido junto con la detección de ruido basada en la altura. Esta es la opción predeterminada.
  • Altura relativa desde el sueloTodos los puntos que estén por debajo de la altura mínima especificada desde la superficie del suelo y por encima de la altura máxima desde la superficie del suelo se identificarán como ruido.
  • Altura absolutaTodos los puntos que estén por debajo de la altura mínima y por encima de la altura máxima especificadas en relación con el nivel medio del mar se identificarán como ruido.
String
Editar clasificación
(Opcional)

Especifica si los puntos LAS identificados como ruido se reclasificarán.

  • Activado: los puntos de ruido se reclasificarán. Esta es la opción predeterminada.
  • Desactivado: los puntos de ruido no se reclasificarán.
Boolean
Asignar indicador de retenido
(Opcional)

Especifica si a los puntos de ruido se les asignará el marcador de clasificación retenida. Este parámetro está habilitado cuando el parámetro Editar clasificación está activado.

  • Activado: a los puntos de ruido se les asignará el marcador de clasificación retenida.
  • Desactivado: a los puntos de ruido no se les asignará el marcador de clasificación retenida. 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
Superficie ráster de suelo
(Opcional)

La superficie ráster de suelo que se utilizará para calcular los valores de altura relativa para cada punto. Este parámetro es necesario cuando el parámetro Método está establecido en Altura relativa desde el suelo.

Raster Layer
Altura mínima
(Opcional)

La altura que definirá el umbral de valor z más bajo para identificar puntos de ruido. Cualquier punto que sea inferior al valor proporcionado se clasificará como ruido. Si se especifica una superficie de suelo, este umbral se basará en un desplazamiento respecto del suelo. Así, un valor de -3 pies significa que cualquier punto que esté 3 pies por debajo de la superficie del suelo se clasificará como ruido.

Linear Unit
Altura máxima
(Opcional)

La altura que definirá el umbral de valor z más alto para identificar puntos de ruido. Cualquier punto que sea superior al valor proporcionado se clasificará como ruido. Si se indica una superficie de suelo, este umbral se basará en un desplazamiento respecto del suelo. Así, un valor de 250 metros significa que cualquier punto que esté 250 metros por encima de la superficie del suelo se clasificará como ruido.

Linear Unit
Límite de puntos de vecindad
(Opcional)

El número máximo de puntos dentro del volumen del análisis que se puede calificar como ruido cuando se utiliza el método Aislamiento. Si el volumen del análisis contiene cualquier número de puntos LAS igual o inferior a este valor, estos puntos se clasificarán como ruido.

Long
Ancho de vecindad
(Opcional)

El tamaño de cada dimensión en el espacio x,y del volumen del análisis cuando se utiliza el método Aislamiento.

Linear Unit
Altura de vecindad
(Opcional)

La altura del volumen del análisis cuando se utiliza el método Aislamiento.

Linear Unit
Extensión de procesamiento
(Opcional)

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

  • Extensión de visualización actual Vista de mapa: 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 mapa Capa: 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.
  • Examinar Examinar: la extensión se basará en un dataset existente.
  • Intersección de entradas Intersección: 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 Combinación: la extensión se basa en la extensión máxima o combinada de todas las entradas.
  • Restablecer extensión Restablecer: 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.

    Puede que el mapa esté utilizando unidades de visualización diferentes

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
Puntos de ruido de salida
(Opcional)

Las entidades de puntos de salida que representan los puntos LAS identificados como ruido.

Feature Class
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.ClassifyLasNoise(in_las_dataset, {method}, {edit_las}, {withheld}, {compute_stats}, {ground}, {low_z}, {high_z}, {max_neighbors}, {step_width}, {step_height}, {extent}, {process_entire_files}, {out_feature_class}, {update_pyramid})
NombreExplicaciónTipo de datos
in_las_dataset

El dataset LAS que se procesará.

LAS Dataset Layer
method
(Opcional)

Especifica el método de detección de ruido que se utilizará.

  • ISOLATIONLa proximidad espacial de los puntos LAS se analizará en volúmenes en teselas para determinar las mediciones del ruido junto con la detección de ruido basada en la altura. Esta es la opción predeterminada.
  • RELATIVE_HEIGHTTodos los puntos que estén por debajo de la altura mínima especificada desde la superficie del suelo y por encima de la altura máxima desde la superficie del suelo se identificarán como ruido.
  • ABSOLUTE_HEIGHTTodos los puntos que estén por debajo de la altura mínima y por encima de la altura máxima especificadas en relación con el nivel medio del mar se identificarán como ruido.
String
edit_las
(Opcional)

Especifica si los puntos LAS identificados como ruido se reclasificarán.

  • CLASSIFYLos puntos de ruido se reclasificarán. Esta es la opción predeterminada.
  • NO_CLASSIFYLos puntos de ruido no se reclasificarán.
Boolean
withheld
(Opcional)

Especifica si a los puntos de ruido se les asignará el marcador de clasificación retenida. Este parámetro está habilitado cuando el parámetro edit_las tiene el valor CLASIFICAR.

  • WITHHELDA los puntos de ruido se les asignará el marcador de clasificación retenida.
  • NO_WITHHELDAlos puntos de ruido no se les asignará el marcador de clasificación retenida. 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
ground
(Opcional)

La superficie ráster de suelo que se utilizará para calcular los valores de altura relativa para cada punto. Este parámetro es obligatorio si el parámetro method se define como RELATIVE_HEIGHT.

Raster Layer
low_z
(Opcional)

La altura que definirá el umbral de valor z más bajo para identificar puntos de ruido. Cualquier punto que sea inferior al valor proporcionado se clasificará como ruido. Si se especifica una superficie de suelo, este umbral se basará en un desplazamiento respecto del suelo. Así, un valor de -3 pies significa que cualquier punto que esté 3 pies por debajo de la superficie del suelo se clasificará como ruido.

Linear Unit
high_z
(Opcional)

La altura que definirá el umbral de valor z más alto para identificar puntos de ruido. Cualquier punto que sea superior al valor proporcionado se clasificará como ruido. Si se indica una superficie de suelo, este umbral se basará en un desplazamiento respecto del suelo. Así, un valor de 250 metros significa que cualquier punto que esté 250 metros por encima de la superficie del suelo se clasificará como ruido.

Linear Unit
max_neighbors
(Opcional)

El número máximo de puntos dentro del volumen del análisis que se puede calificar como ruido cuando se utiliza el método Aislamiento. Si el volumen del análisis contiene cualquier número de puntos LAS igual o inferior a este valor, estos puntos se clasificarán como ruido.

Long
step_width
(Opcional)

El tamaño de cada dimensión en el espacio x,y del volumen del análisis cuando se utiliza el método Aislamiento.

Linear Unit
step_height
(Opcional)

La altura del volumen del análisis cuando se utiliza el método Aislamiento.

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 usará la extensión de la capa especificada.
  • Objeto Extent: se usará la extensión del objeto especificado.
  • Cadena de caracteres con las coordenadas delimitadas por espacios: se usará la extensión de la cadena especificada. Las coordenadas se expresan en el orden 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
out_feature_class
(Opcional)

Las entidades de puntos de salida que representan los puntos LAS identificados como ruido.

Feature Class
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 ClassifyLasNoise (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.ClassifyLasNoise('Denver_2.lasd', "ABSOLUTE_HEIGHT", 
                           edit_las='CLASSIFY', withheld='WITHHELD', 
                           high_z='450 Feet')
Ejemplo 2 de ClassifyLasNoise (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())

Información de licenciamiento

  • Basic: Requiere 3D Analyst
  • Standard: Requiere 3D Analyst
  • Advanced: Requiere 3D Analyst

Temas relacionados