Clasificar el terreno LAS (3D Analyst)

Resumen

Clasifica puntos de suelo en datos LIDAR aéreos.

Ilustración

Clasificar el terreno LAS

Uso

  • Esta herramienta requiere que un dataset LAS de entrada tenga un sistema de coordenadas proyectadas. Los datos almacenados en un sistema de coordenadas geográficas se pueden reproyectar mediante la herramienta Extraer LAS con un sistema de coordenadas proyectadas especificado en la configuración del entorno del sistema de coordenadas de salida.

  • Solo los puntos LAS con los valores de código de clase 0, 1 o 2 optarán a la asignación como puntos de suelo. Si sus archivos LAS utilizan valores de código de clase diferentes para representar mediciones sin clasificar o de suelo, use la herramienta Cambiar códigos de clase de LAS para reasignarlos. El proceso de clasificación también omite los puntos asignados con los marcadores de clasificación de superposición o retención.

  • Plantéese utilizar el parámetro Resolución DEM para generar resultados más rápidos si los puntos clasificados del suelo se utilizarán para generar una superficie ráster de suelo en una resolución específica. La mejora de rendimiento se consigue reduciendo el número de puntos asignados al código de clase de suelo, manteniendo al mismo tiempo la cobertura necesaria para la resolución especificada.

  • Al clasificar los resultados de LAS sobre un terreno con características de pendiente divergentes, por ejemplo, áreas relativamente llanas a lo largo de ubicaciones con perfiles de pendientes empinadas, plantéese ejecutar el clasificador de suelos una vez con un método estándar y una segunda vez con el método de detección agresiva y la opción de reutilizar el suelo habilitada. Aplique una extensión de procesamiento o especifique un límite de polígono para limitar esta operación solo a la región necesaria.

  • Se deben revisar las ubicaciones con puentes y vías de acceso de autovía, ya que pueden haberse clasificado erróneamente como suelo.

Sintaxis

arcpy.3d.ClassifyLasGround(in_las_dataset, method, {reuse_ground}, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files})
ParámetroExplicaciónTipo de datos
in_las_dataset

El dataset LAS que se va a procesar. Solo se evaluarán los últimos puntos LAS que se hayan devuelto con valores de código de clase 0, 1 y 2.

LAS Dataset Layer
method

Especifica el método utilizado para detectar puntos de suelo.

  • STANDARDEste método tiene una tolerancia para la variación de la pendiente que permite capturar ondulaciones graduales en la topografía del terreno que normalmente se omitiría con la opción conservadora, pero no se captura el tipo de relieves acusados que sí se haría mediante la opción agresiva. Esta es la opción predeterminada.
  • CONSERVATIVEAl compararlo con otras opciones, este método emplea una restricción más severa en cuanto a la variación de la pendiente del terreno, lo que permite diferenciarlo de vegetación baja, como hierba y matorrales. Es más adecuado para topografías con curvaturas mínimas.
  • AGGRESSIVEEste método detecta áreas de terreno con relieves más acusados, como crestas y picos de colinas, que se podrían ignorar con el método STANDARD. Este método es más adecuado en una segunda pasada de esta herramienta con el parámetro reuse_ground establecido en REUSE_GROUND. Evite utilizar este método en áreas urbanas o en áreas rurales planas, dado que podría dar lugar a una clasificación incorrecta de objetos más altos (por ejemplo, torres de servicios, vegetación y partes de edificios) como suelo.
String
reuse_ground
(Opcional)

Especifica si se reclasificarán o reutilizarán los puntos de suelo existentes.

  • RECLASSIFY_GROUNDSe reclasificarán los puntos de suelo existentes. A los puntos que se haya determinado que no forman parte del suelo se les volverá a asignar el valor de código de clase 1, que representa puntos sin clasificar. Esta es la opción predeterminada.
  • REUSE_GROUNDSe aceptarán y reutilizarán los puntos de suelo existentes, sin escrutinio, y contribuirán a la determinación de puntos sin clasificar.
Boolean
dem_resolution
(Opcional)

Una distancia que dará como resultado un único subconjunto de puntos que se evaluarán para su clasificación como suelo, agilizando así el proceso. Plantéese utilizar este parámetro cuando se necesite un método más rápido para generar una superficie de DEM. Aunque la distancia mínima es de 0,3 metros, para que este proceso surta efecto, la distancia especificada debe ser al menos 1,5 veces el espaciado de punto promedio de los datos LIDAR.

Linear Unit
compute_stats
(Opcional)

Especifica si las estadísticas se deben calcular 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.
  • NO_COMPUTE_STATSNo se calcularán las estadísticas. Esta es la opción predeterminada.
Boolean
extent
(Opcional)

Especifica la extensión de los datos que se evaluarán con esta herramienta.

  • 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

Una entidad poligonal que define el área de interés que esta herramienta va a procesar.

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

Salida derivada

NombreExplicaciónTipo de datos
out_las_dataset

El dataset LAS que se modificó.

Capa de dataset LAS

Muestra de código

Ejemplo 1 de ClassifyLasGround (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.ClassifyLasGround_3d('metro.lasd', 'CONSERVATIVE', 
                           boundary='study_area.shp', 
                           process_entire_files='PROCESS_ENTIRE_FILES')
Ejemplo 2 de ClassifyLasGround (script independiente)

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

'''****************************************************************************
Name:        Classify Ground & Vegetation in Forest Environment
Description: Classify points representing vegetation with LAS class code values
             of 3, 4, and 5. The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy

# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)

try:
    arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
    # Make an initial pass of ground classifier
    arcpy.ddd.ClassifyLasGround(lasd, method="Conservative")
    # Make a secondary pass to capture ridges
    arcpy.ddd.ClassifyLasGround(lasd, method="Aggressive", 
                                reuse_ground="REUSE_GROUND")
    # Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, ground_source='GROUND', 
                                  height_classification=[[3, 5], 
                                                         [4, 17], 
                                                         [5, 120]], 
                                  noise='HIGH_NOISE', compute_stats="COMPUTE_STATS")
    arcpy.CheckInExtension('3D')

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

Información de licenciamiento

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

Temas relacionados