Resumen
Clasifica puntos de tejados de edificios en datos LIDAR aéreos.
Ilustración
Uso
Los datos LAS deben tener puntos de suelo clasificados antes de clasificar los puntos de tejado de los edificios. Considere el uso de la herramienta Clasificar el terreno LAS si los puntos de suelo no se han clasificado. Los puntos de suelo deben tener un valor de código de clase de 2. Si los puntos de suelo tienen un valor de código de clase distinto de 2, utilice la herramienta Cambiar códigos de clase LAS para reasignar los códigos de clase según corresponda.
Los puntos LAS con valores de código de clase de 0, 1 y 6 se evaluarán para determinar si encajan en las características de los tejados de edificios. Los puntos clasificados como edificios que no cumplan estos criterios se reasignarán a un valor de código de clase de 1, a menos que se haya especificado la opción de reutilizar los puntos clasificados de edificios existentes.
Sintaxis
ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data})
Parámetro | Explicación | Tipo de datos |
in_las_dataset | El dataset LAS que se va a clasificar. | LAS Dataset Layer |
min_height (Opcional) | La altura desde el suelo que define el punto más bajo a partir del cual se identificarán los puntos del tejado. | Linear Unit |
min_area | El área más pequeña de puntos coplanares que se usará para establecer la presencia del tejado de un edificio. | Areal 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 |
point_spacing | El espaciado promedio de los puntos LAS que se usará para determinar la presencia de tejados de edificios. Este valor será de forma predeterminada el espacio promedio calculado para el dataset LAS. | Linear Unit |
reuse_building (Opcional) | Especifica si los puntos clasificados de edificios existentes se reutilizarán o reevaluarán. Especifica si los puntos clasificados de edificios existentes se reutilizarán o reevaluarán.
| Boolean |
photogrammetric_data (Opcional) | Especifica si los puntos del archivo LAS provienen de una nube de puntos obtenida fotogramétricamente. Especifica si los puntos del archivo LAS provienen de una nube de puntos obtenida fotogramétricamente.
| Boolean |
Salida derivada
Nombre | Explicación | Tipo de datos |
derived_las_dataset | El dataset LAS clasificado para los tejados de los edificios. | Capa de dataset LAS |
Muestra de código
Ejemplo 1 de ClassifyLasBuilding (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.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet',
minArea='30 Square Feet', compute_stats=True)
Ejemplo 2 de ClassifyLasBuilding (script independiente)
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 sobre licencias
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst