Classer des bâtiments LAS (3D Analyst)

Synthèse

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

Illustration

Illustration de l’outil Classer des bâtiments LAS

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 terrestres classés pour que vous puissiez classer les points de toit d’un bâtiment. Envisagez d’utiliser l’outil Classer le sol LAS si les points terrestres n’ont pas encore été classés. Les points terrestres doivent avoir un code de classe de valeur 2. Si les points terrestres 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.

Paramètres

ÉtiquetteExplicationType de données
Jeu de données LAS en entrée

Le jeu de données LAS à classer.

LAS Dataset Layer
Hauteur de toit minimum
(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
Superficie minimale

Surface la plus petite du toit du bâtiment.

Areal Unit
Calculer les statistiques
(Facultatif)

Spécifie si des statistiques seront calculées pour les fichiers .las référencés par le jeu de données LAS. Les statistiques de calcul fournissent un index spatial pour chaque fichier .las, ce qui contribue à améliorer les performances d’analyse et d’affichage. Les statistiques améliorent également l’expérience de filtrage et de symbologie en limitant l’affichage des attributs LAS (par exemple, les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier .las.

  • Activé : les statistiques sont calculées. Il s’agit de l’option par défaut.
  • Désactivé : les statistiques ne sont pas calculées.
Boolean
Etendue de traitement
(Facultatif)

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

  • Current Display Extent (Étendue actuellement affichée) Current Display Extent : l’étendue repose sur la carte ou la scène active. Cette option est uniquement disponible lorsqu’une carte est active.
  • Dessiner l’étendue Draw Extent : l’étendue est basée sur un rectangle dessiné sur la carte ou dans la scène. Cette option crée une classe d’entités dans la géodatabase du projet et ajoute une couche à la carte. La classe d’entités possède le même système de coordonnées que la carte.
    Remarque :

    Cette option n’est pas disponible dans la boîte de dialogue Environnements. Elle est disponible uniquement dans un paramètre de l’outil correspondant à un type de données d’étendue ou dans l’onglet Environnements de la boîte de dialogue de l’outil.

    Remarque :

    Lorsque l’option de mise à jour Activer et désactiver la mise à jour de l’onglet Mettre à jour est activée, vous devez activer la mise à jour dans l’onglet du ruban Mettre à jour pour dessiner l’étendue.

  • Extent of a Layer (Étendue d’une couche) Layer : l’étendue repose sur une couche de carte active. Utilisez la liste déroulante pour choisir une couche disponible ou utilisez l’option Extent of data in all layers (Étendue des données dans toutes les couches) pour obtenir l’étendue combinée de toutes les couches de carte actives, y compris le fond de carte. Cette option est uniquement disponible lorsqu’une carte avec des couches est active.

    Chaque couche de carte comporte les options suivantes :

    • Toutes les entités Select All : étendue de toutes les entités dans la couche.
    • Entités sélectionnéesArea from Selected Features : étendue de toutes les entités sélectionnées dans la couche.
    • Entités visibles Extent Indicator : étendue de toutes les entités visibles dans la couche.
      Remarque :

      Les étendues des options Entités sélectionnées Area from Selected Features et Entités visibles Extent Indicator sont disponibles uniquement pour les couches d’entités.

  • Browse (Parcourir) Browse : l’étendue repose sur un jeu de données existant.
  • Intersection of Inputs (Intersection des entrées) Intersect : l’étendue repose sur l’étendue minimale ou l’étendue d’intersection de toutes les entrées. S’il n’existe aucune intersection entre les entrées, il en résulte une étendue nulle avec uniquement des zéros.
  • Union of Inputs (Union des entrées) Union : l’étendue est basée sur l’étendue maximale ou combinée de toutes les entrées.
  • Presse-papiers Paste : l’étendue peut être copiée depuis et vers le Presse-papiers.
    • Copier l’étendue Copy : copie les coordonnées et le système de coordonnées de l’étendue dans le Presse-papiers.
    • Coller l’étendue Paste : colle les coordonnées et, éventuellement, le système de coordonnées de l’étendue depuis le Presse-papiers. Si les valeurs du Presse-papiers n’incluent pas de système de coordonnées, l’étendue utilise celui de la carte.
    Remarque :

    Les coordonnées de l’étendue sont copiées vers et collées depuis le Presse-Papiers avec la même mise en forme et le même ordre que ceux de l’objet ArcPy Extent : X min, Y min, X max, Y max et la référence spatiale.

  • Reset Extent (Réinitialiser l’étendue) Reset : la valeur par défaut de l’étendue est rétablie.
  • Manually entered coordinates (Coordonnées saisies manuellement) : les coordonnées doivent être des valeurs numériques incluses dans le système de coordonnées de la carte active.
    Attention :

    La carte peut utiliser des unités d’affichage différentes de celles des coordonnées saisies. L’utilisation d’une direction cardinale (N, S, E, O) n’est pas prise en charge. Utilisez le signe moins pour les coordonnées sud et ouest.

Extent
Limite de traitement

Entité surfacique qui définira la zone d’intérêt à traiter.

Feature Layer
Traiter l'intégralité des fichiers LAS qui intersectent l'étendue
(Facultatif)

Spécifie comment la zone d’intérêt est utilisée pour déterminer le traitement des fichiers .las. La zone d’intérêt est définie par la valeur du paramètre Étendue de traitement, la valeur du paramètre Limite de traitement ou les deux à la fois.

  • Désactivé : seuls les points LAS qui intersectent la zone d'intérêt sont traités. Il s’agit de l’option par défaut.
  • Activé : si une partie d’un fichier .las intersecte la zone d’intérêt, tous les points que ce fichier contient, y compris ceux situés à l’extérieur de la zone d’intérêt, seront traités.
Boolean
Espacement moyen des points

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

Linear Unit
Réutiliser les points classés de bâtiments existants
(Facultatif)

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

  • Désactivé : les 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.
  • Activé : les 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 nécessaire.
Boolean
Données photogrammétriques
(Facultatif)

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

  • Désactivé : les points dans le fichier .las ont été obtenus au moyen d’un sondage lidar et non d’une technique photogrammétrique pour produire les nuages de points. Il s’agit de l’option par défaut.
  • Activé : les points dans le fichier .las ont été obtenus avec une technique photogrammétrique pour produire les nuages de points à partir de l’imagerie superposée.
Boolean
Méthode de classification
(Facultatif)

Précise la méthode de classification qui sera utilisée.

  • AgressiveLes 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.
  • ClassiqueLes 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
Classer les points au-dessus du toit
(Facultatif)

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

  • Désactivé : les points détectés au-dessus des plans ne seront pas classés. Il s’agit de l’option par défaut.
  • Activé : les points détectés au-dessus des plans seront classés.
Boolean
Hauteur maximale au-dessus du toit
(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
Code de classe au-dessus du toit
(Facultatif)

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

Long
Classer les points en dessous du toit
(Facultatif)

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

  • Désactivé : les points situés entre le toit et le sol ne seront pas classés. Il s’agit de l’option par défaut.
  • Activé : les points situés entre le toit et le sol seront classés.
Boolean
Code de classe en dessous du toit
(Facultatif)

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

Long
Mettre à jour la pyramide
(Facultatif)

Spécifie si la pyramide du jeu de données LAS est mise à jour après la modification des codes de classe.

  • Activé : la pyramide du jeu de données LAS est mise à jour. Il s’agit de l’option par défaut.
  • Désactivé : la pyramide du jeu de données LAS n’est pas mise à jour.
Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données LAS dérivé

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

LAS Dataset Layer

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}, {classify_below_roof}, {below_roof_code}, {update_pyramid})
NomExplicationType 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 seront calculées pour les fichiers .las référencés par le jeu de données LAS. Les statistiques de calcul fournissent un index spatial pour chaque fichier .las, ce qui contribue à améliorer les performances d’analyse et d’affichage. Les statistiques améliorent également l’expérience de filtrage et de symbologie en limitant l’affichage des attributs LAS (par exemple, les codes de classification et les informations renvoyées) aux valeurs présentes dans le fichier .las.

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

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

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale commune à toutes les entrées est utilisée.
  • DISPLAY : l’étendue est égale à l’affichage visible.
  • Nom de la couche : l’étendue de la couche spécifiée est utilisée.
  • Objet Extent : l’étendue de l’objet spécifié est utilisée.
  • Chaîne délimitée par des espaces de coordonnées géographiques : l’étendue de la chaîne spécifiée est utilisée. Les coordonnées sont exprimées dans l’ordre x-min, y-min, x-max, y-max.
Extent
boundary

Entité surfacique qui définira la zone d’intérêt à traiter.

Feature Layer
process_entire_files
(Facultatif)

Indique comment l’étendue de traitement est appliquée.

  • 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 que le fichier contient, y compris ceux situés à l’extérieur de la zone d’intérêt, seront 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 nécessaire.
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 pour produire 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 pour produire les nuages de points à partir de l’imagerie superposée.
Boolean
method
(Facultatif)

Précise 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 détectés au-dessus des plans ne seront pas classés. Il s’agit du paramètre par défaut.
  • CLASSIFY_ABOVE_ROOFLes points détectés au-dessus des plans 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
update_pyramid
(Facultatif)

Spécifie si la pyramide du jeu de données LAS est mise à jour après la modification des codes de classe.

  • UPDATE_PYRAMIDLa pyramide du jeu de données LAS est mise à jour. Il s’agit de l’option par défaut.
  • NO_UPDATE_PYRAMIDLa pyramide du jeu de données LAS n’est pas mise à jour.
Boolean

Sortie obtenue

NomExplicationType de données
derived_las_dataset

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

LAS Dataset Layer

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.ddd.ClassifyLasBuilding('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())

Rubriques connexes