Resumen
Clasifica los tejados y laterales de edificios en datos LAS.
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.
El parámetro Método no se utiliza cuando se especifica la opción Son datos fotogramétricos.
Sintaxis
arcpy.ddd.ClassifyLasBuilding(in_las_dataset, {min_height}, min_area, {compute_stats}, {extent}, boundary, {process_entire_files}, point_spacing, {reuse_building}, {photogrammetric_data}, {method}, {classify_above_roof}, {above_roof_height}, {above_roof_code})
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 del tejado del 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. Este parámetro ya no se utiliza. | 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 se derivaron con técnicas fotogramétricas. Especifica si los puntos del archivo LAS se derivaron con técnicas fotogramétricas.
| Boolean |
method (Opcional) | El método de clasificación que se utilizará.
| String |
classify_above_roof (Opcional) | Especifica si se clasifican los puntos sobre los planos detectados del tejado.
| Boolean |
above_roof_height (Opcional) | La altura máxima de los puntos sobre el tejado del edificio que se clasificará según el valor designado en el parámetro Código de clase sobre tejado. | Linear Unit |
above_roof_code (Opcional) | El código de clase que se asignará a los puntos sobre el tejado. | Long |
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 de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst