Classer des bâtiments LAS (3D Analyst)

Résumé

Classe les toits et les côtés de bâtiment dans les données LAS.

Illustration

Classification des points de toit d’un bâtiment.

Utilisation

  • Les points représentant les murs, les façades verticales et les petites entités de toit, telles que les lucarnes et les cheminées, peuvent ne pas être intégrés dans la classification des bâtiments. Si vous avez besoin de ces points, il est conseillé d’exécuter l’outil avec les options de classification des points situés au-dessus et en dessous du toit.

  • Les données LAS doivent posséder des points au sol classés pour que vous puissiez classer les points de toit d’un bâtiment. Vous pouvez utiliser l’outil Classer le sol LAS si aucun point au sol n’a été classé. Les points au sol doivent avoir un code de classe de valeur 2. Si les points au sol possèdent une valeur différente de 2, utilisez l’outil Modifier les codes de classes LAS pour réaffecter le code de classe comme il convient.

  • Les points LAS dont les valeurs de codes de classes sont égales à 0, 1 et 6 sont évalués afin de déterminer s’ils répondent aux caractéristiques des toits de bâtiments. Les points classés en tant que bâtiments qui ne répondent pas à ces critères sont réaffectés à une valeur de code de classe égale à 1 sauf si l’option visant à réutiliser les points classés de bâtiments existants est spécifiée.

  • Le paramètre Method (Méthode) n’est pas utilisé lorsque l’option Is photogrammetric data (Sont des données photogrammétriques) est spécifiée.

Syntaxe

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})
ParamètreExplicationType de données
in_las_dataset

Le jeu de données LAS à classer.

LAS Dataset Layer
min_height
(Facultatif)

La hauteur à partir du sol qui définit le point le plus bas à partir duquel les points de toit seront identifiés.

Linear Unit
min_area

Surface la plus petite du toit du bâtiment.

Areal Unit
compute_stats
(Facultatif)

Spécifie si des statistiques doivent être calculées pour les fichiers LAS référencés par le jeu de données LAS. Le calcul des statistiques fournit un index spatial pour chaque fichier LAS, ce qui améliore les performances d’analyse et d’affichage. Les statistiques permettent également d’optimiser l’utilisation des filtres et de la symbologie en limitant l’affichage des attributs LAS (tels que les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier LAS.

  • COMPUTE_STATSLes statistiques sont calculées.
  • NO_COMPUTE_STATSLes statistiques ne sont pas calculées. Il s’agit de l’option par défaut.
Boolean
extent
(Facultatif)

Spécifie l’étendue des données qui seront évaluées par cet outil.

Extent
boundary

Entité surfacique définissant la zone d’intérêt que cet outil doit traiter.

Feature Layer
process_entire_files
(Facultatif)

Indique comment appliquer l’étendue de traitement.

  • PROCESS_EXTENTSeuls les points LAS qui intersectent la zone d'intérêt sont traités. Il s’agit de l’option par défaut.
  • PROCESS_ENTIRE_FILESSi une partie d'un fichier LAS intersecte la zone d'intérêt, tous les points qu'il contient, y compris ceux situés à l'extérieur de la zone d'intérêt, sont traités.
Boolean
point_spacing

Espacement moyen des points LAS. Ce paramètre n’est plus utilisé.

Linear Unit
reuse_building
(Facultatif)

Spécifie si les points classés de bâtiments existants sont réutilisés ou réévalués.

Spécifie si les points classés de bâtiments existants sont réutilisés ou réévalués.

  • RECLASSIFY_BUILDINGLes points classés de bâtiments existants sont réévalués pour répondre aux critères de détection du plan et les points qui ne correspondent pas à la surface et la hauteur spécifiées se voient attribuer une valeur égale à 1. Il s’agit de l’option par défaut.
  • REUSE_BUILDINGLes points classés de bâtiments existants contribuent au processus de détection du plan mais ne sont pas reclassés étant donné qu’ils peuvent ne pas répondre aux critères spécifiés dans l’exécution de l’outil. Utilisez cette option si la classification existante est souhaitable.
Boolean
photogrammetric_data
(Facultatif)

Spécifie si les points dans le fichier LAS ont été obtenus à l’aide d’une technique photogrammétrique.

Spécifie si les points dans le fichier LAS ont été obtenus à l’aide d’une technique photogrammétrique.

  • NOT_PHOTOGRAMMETRIC_DATALes points dans le fichier LAS ont été obtenus au moyen d’un sondage lidar et non d’une technique photogrammétrique afin de former les nuages de points. Il s’agit de l’option par défaut.
  • PHOTOGRAMMETRIC_DATALes points dans le fichier LAS ont été obtenus avec une technique photogrammétrique afin de produire des nuages de points à partir de l’imagerie superposée.
Boolean
method
(Facultatif)

La méthode de classification qui sera utilisée.

  • AGGRESSIVELes points correspondant aux caractéristiques de toit de bâtiment planaires avec une tolérance relativement élevée pour les points aberrants sont détectés. Utilisez cette méthode si les points ne sont pas bien calibrés.
  • STANDARDLes points correspondant aux caractéristiques de toit de bâtiment planaires avec une tolérance relativement modérée pour les points irréguliers sont détectés. Il s'agit du paramètre par défaut.
  • CONSERVATIVELes points correspondant aux caractéristiques de toit de bâtiment planaires avec une tolérance relativement faible pour les points irréguliers sont détectés. Utilisez cette méthode si les points des bâtiment sont coplanaires avec les points d’objets qui ne sont pas des bâtiments.
String
classify_above_roof
(Facultatif)

Spécifie si les points situés au-dessus des plans détectés pour le toit doivent être classés.

  • NO_CLASSIFY_ABOVE_ROOFLes points situés au-dessus des plans détectés par cet outil ne seront pas classés. Il s’agit du paramètre par défaut.
  • CLASSIFY_ABOVE_ROOFLes points situés au-dessus des plans détectés par cet outil seront classés.
Boolean
above_roof_height
(Facultatif)

La hauteur maximale des points situés au-dessus du toit du bâtiment qui sera classée selon la valeur désignée par le paramètre Above Roof Class Code (Code de classe au-dessus du toit).

Linear Unit
above_roof_code
(Facultatif)

Le code de classe qui sera affecté aux points situés au-dessus du toit.

Long
classify_below_roof
(Facultatif)

Spécifie si les points situés entre le toit et le sol doivent être classés.

  • NO_CLASSIFY_BELOW_ROOFLes points situés entre le toit et le sol ne seront pas classés. Il s’agit de l’option par défaut.
  • CLASSIFY_BELOW_ROOFLes points situés entre le toit et le sol seront classés.
Boolean
below_roof_code
(Facultatif)

Le code de classe qui sera affecté aux points situés entre le sol et le toit.

Long

Sortie dérivée

NomExplicationType de données
derived_las_dataset

Le jeu de données LAS qui est classé pour les toits de bâtiment.

Couche du jeu de données LAS

Exemple de code

Exemple 1 d'utilisation de l'outil ClassifyLasBuilding (fenêtre Python)

L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.

arcpy.env.workspace = 'C:/data'

arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet', 
                             minArea='30 Square Feet', compute_stats=True)
Exemple 2 d'utilisation de l'outil ClassifyLasBuilding (script autonome)

L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.

'''****************************************************************************
       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())

Informations de licence

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

Rubriques connexes