Clasificar edificio de LAS (3D Analyst)

Resumen

Clasifica los tejados y laterales de edificios en datos LAS.

Ilustración

Clasificación de los puntos de tejado de los edificios.

Uso

  • Los puntos que representan los muros, las fachadas verticales y las entidades pequeñas de los tejados, como buhardillas y chimeneas, no pueden incluirse en la clasificación de los edificios. Si se desean tales puntos, plantéese ejecutar la herramienta con las opciones para clasificar los puntos que están por encima y por debajo del tejado.

  • 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.3d.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}, {classify_below_roof}, {below_roof_code})
ParámetroExplicaciónTipo 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.

  • 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
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.

  • RECLASSIFY_BUILDINGLos puntos clasificados de edificios existentes se reevaluarán para satisfacer los criterios de la detección de plano y a los puntos que no encajen en el área y la altura especificados se les asignará un valor de 1. Esta es la opción predeterminada.
  • REUSE_BUILDINGLos puntos clasificados de edificios existentes contribuirán al proceso de detección de plano, pero no se reclasificarán si no satisfacen los criterios especificados en la ejecución de la herramienta. Utilice esta opción si la clasificación existente es deseable.
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.

  • NOT_PHOTOGRAMMETRIC_DATALos puntos del archivo LAS se obtuvieron de una prospección LIDAR, y no de una técnica fotogramétrica para producir nubes de puntos. Esta es la opción predeterminada.
  • PHOTOGRAMMETRIC_DATALos puntos del archivo LAS se obtuvieron mediante una técnica fotogramétrica para producir nubes de puntos a partir de imágenes superpuestas.
Boolean
method
(Opcional)

El método de clasificación que se utilizará.

  • AGGRESSIVESe detectarán puntos que se ajustan a las características de tejado planar con una tolerancia relativamente alta para valores atípicos. Use este método si los puntos no están bien calibrados.
  • STANDARDSe detectarán puntos que se ajustan a las características de tejado planar con una tolerancia relativamente moderada para puntos irregulares. Esta es la configuración predeterminada
  • CONSERVATIVESe detectarán puntos que se ajustan a las características de tejado planar con una tolerancia relativamente baja para puntos irregulares. Use este método si los puntos de edificio son coplanares a los puntos de los objetos que no son edificios.
String
classify_above_roof
(Opcional)

Especifica si se clasifican los puntos sobre los planos detectados del tejado.

  • NO_CLASSIFY_ABOVE_ROOFLos puntos sobre los planos que detecta esta herramienta no se clasificarán. Esta es la opción predeterminada.
  • CLASSIFY_ABOVE_ROOFLos puntos sobre los planos que detecta esta herramienta se clasificarán.
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
classify_below_roof
(Opcional)

Especifica si los puntos entre el tejado y el suelo se clasificarán.

  • NO_CLASSIFY_BELOW_ROOFLos puntos entre el tejado y el suelo no se clasificarán. Esta es la opción predeterminada.
  • CLASSIFY_BELOW_ROOFLos puntos entre el tejado y el suelo se clasificarán.
Boolean
below_roof_code
(Opcional)

El código de clase que se asignará a los puntos entre el suelo y el tejado.

Long

Salida derivada

NombreExplicaciónTipo 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())

Información de licenciamiento

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

Temas relacionados