Resumen
Calcula estadísticas sobre la distribución de mediciones de elevación de puntos de vegetación capturados en datos LAS.
Uso
Esta herramienta genera derivadas estadísticas de los puntos sobre el suelo para comprender mejor la cubierta forestal. Se analizan los puntos LAS que tienen asignados un valor de código de clase de 0 o 1, que representan puntos sin clasificar, y 3, 4 o 5, que representan puntos de vegetación.
Los datos LAS que se vayan a procesar deben tener puntos de suelo clasificados antes de ejecutar la herramienta. Puede utilizar la herramienta Clasificar el terreno LAS para cumplir este requisito.
Esta herramienta generará un ráster para cada opción estadística y percentil de altura especificados. El nombre de cada ráster comenzará por el nombre base y la métrica de altura o estadística espacial especificados. Para la mediana de ráster, la palabra "mean" se incorpora al nombre de archivo. Para la desviación estándar, se agregará "stdev" al nombre de archivo. Para la mediana de desviación absoluta, se agregará "mad" al nombre de archivo.
Utilice el parámetro Altura mínima para excluir puntos muy bajos, especialmente si los puntos de suelo no se han clasificado exhaustivamente, ya que pueden distorsionar los resultados de esta herramienta.
Utilice el parámetro Número mínimo de puntos para excluir áreas que contienen muy pocos puntos sobre el suelo como para producir resultados significativos.
Sintaxis
arcpy.3d.LasHeightMetrics(in_las_dataset, out_location, {base_name}, {statistics}, {height_percentiles}, min_height, min_points, cell_size, {raster_format})
Parámetro | Explicación | Tipo de datos |
in_las_dataset | El dataset LAS que se va a procesar. | LAS Dataset Layer |
out_location | La carpeta o geodatabase en la que residirán los datasets ráster de salida. Si la ubicación de salida es una carpeta, los datasets ráster resultantes estarán en formato TIFF. | Workspace |
base_name (Opcional) | El nombre de base de los datasets ráster de salida. | String |
statistics [statistics,...] (Opcional) | Especifica las estadísticas calculadas para los puntos no clasificados y de vegetación sobre el suelo que se encuentran dentro del área de cada celda del ráster de salida.
| String |
height_percentiles [height_percentiles,...] (Opcional) | La altura a la que el porcentaje especificado de puntos de la celda queda por debajo. Por ejemplo, un valor de 95 significa que los valores de celda resultantes indican la altura a la que ocurre el 95 por ciento de puntos sobre el suelo. | Long |
min_height | La altura mínima sobre el suelo de los puntos que se evaluarán. | Linear Unit |
min_points | El número mínimo de puntos que debe haber en una celda para calcular métricas de altura LAS. Las celdas con menos puntos que el mínimo especificado no tendrán datos en la salida. | Long |
cell_size | El tamaño de celda de los datasets ráster de salida. | Linear Unit |
raster_format (Opcional) | Especifica el formato de ráster que se creará si la ubicación de salida es una carpeta.
| String |
Salida derivada
Nombre | Explicación | Tipo de datos |
derived_out_location | La ubicación de los datasets ráster de salida. | Espacio de trabajo |
output_rasters | Los datasets ráster de salida. | Dataset ráster |
Muestra de código
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet',
minArea='30 Square Feet', compute_stats=True)
En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de Python.
'''****************************************************************************
Name: Tile & Classify LAS Files
Description: Creates & classifies tiled LAS files.
****************************************************************************'''
# Import system modules
import arcpy
import tempfile
import math
in_las = arcpy.GetParameterAsText(1) # The LAS files that need to be tiled
out_folder = arcpy.GetParameterAsText(2) # folder for LAS files
basename = arcpy.GetParameterAsText(3) # basename for output files
out_lasd = arcpy.GetParameterAsText(4) # output LAS dataset
try:
# Create temp LAS dataset to reference LAS files that will be tiled
temp_lasd = arcpy.CreateUniqueName('temp.lasd', tempfile.gettempdir())
arcpy.management.CreateLasDataset(in_las, temp_lasd)
arcpy.ddd.TileLas(temp_lasd, out_folder, basename, out_lasd, las_version=1.4,
point_format=7, file_size=300)
arcpy.management.Delete(temp_lasd)
arcpy.ddd.ClassifyLasGround(out_lasd, method='AGGRESSIVE')
arcpy.ddd.ClassifyLasBuilding(out_lasd, min_height='3 Meters', min_area='4 Meters')
arcpy.ddd.ClassifyLasByHeight(out_lasd, height_classification=[(3, 6), (4,20), (5,70)],
noise='All Noise', compute_stats='COMPUTE_STATS')
except arcpy.ExecuteError:
print(arcpy.GetMessages())
Entornos
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst