Resumen
Clasifica puntos de suelo en datos LIDAR aéreos.
Ilustración
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.ddd.ClassifyLasGround(in_las_dataset, method, {reuse_ground}, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files})
Parámetro | Explicación | Tipo 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.
| String |
reuse_ground (Opcional) | Especifica si se reclasificarán o reutilizarán los puntos de suelo existentes.
| 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.
| Boolean |
extent (Opcional) | Especifica la extensión de los datos que se evaluarán con esta herramienta. | 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.
| Boolean |
Salida derivada
Nombre | Explicación | Tipo 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())
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst