Classer LAS par hauteur (3D Analyst)

Synthèse

Reclasse les points Lidar en fonction de leur hauteur par rapport à la surface du sol.

Utilisation

  • Cet outil reclasse les points LAS dont les valeurs de codes de classe sont égales à 0 ou 1 en fonction de leur hauteur par rapport à une surface du sol. La surface du sol peut provenir des points LAS ou d’une couche raster distincte. Des jeux de données LAS classés comme terrestres sont requis avec un sol issu des points LAS. Les points classés comme terrestres avec les valeurs 2 ou 8, ou 2 et 8, peuvent être utilisés. L’Association Américaine de photogrammétrie et télédétection (American Society for Photogrammetry and Remote Sensing - ASPRS) établit les spécifications du format LAS par la définition de codes de classes attribuant la valeur 2 au sol et la valeur 8 à la clé de modèle dans les versions LAS antérieures à la version 1.4. La classification de clé de modèle servait traditionnellement à identifier un sous-ensemble de points terrestres. Dans la version 1.4 du format LAS, la désignation de clé de modèle a été introduite dans un indicateur de classification applicable à n’importe quel code de classe ; la définition d’une valeur de code de classe égale à 8 était réservée à une utilisation ultérieure.

  • Si les données LAS ne comportent pas de points classés comme terrestres, mais que des points terrestres sont disponibles, utilisez l’outil Classer le sol LAS. Si les points terrestres utilisent des valeurs différentes de 2 ou 8, utilisez l’outil Modifier les codes de classes LAS pour reclasser les points terrestres comme il convient.

  • Classer les points à l’aide des gradients de hauteur à partir de la surface du sol constitue un moyen pratique pour visualiser et filtrer le nuage de points, ce qui peut également contribuer à mener un processus de classification interactive plus affinée. L’outil classe par défaut les codes de classe 3, 4 et 5 qui représentent la végétation basse, moyenne et haute dans la spécification ASPRS au format LAS.

  • Appliquez une étendue de traitement pour juger de la pertinence des valeurs de plage z désignées sur un sous-ensemble de points LAS. Lorsque vous êtes satisfait de la région reclassée, vous pouvez l’appliquer à une plus grande étendue.

  • Une surface raster personnalisée peut être utile si aucun point classé comme terrestre n’est disponible, mais que la classification basée sur la hauteur est souhaitée, par exemple un nuage de points de l’intérieur d’un bâtiment ou d’une grotte.

Paramètres

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

Jeu de données LAS qui va être traité. Seuls les points LAS avec les valeurs de code de classe 0 et 1 sont évalués.

LAS Dataset Layer
Source terrestre

Spécifie la source des mesures terrestres qui seront utilisées pour déterminer la hauteur au-dessus du sol.

  • Tous les points terrestresLes points LAS désignés avec le code de classification terrestre de valeur 2 et le code de clé de modèle de valeur 8 seront utilisés.
  • Points clés de modèleSeuls les points LAS désignés avec le code de classification de clé de modèle de valeur 8 seront utilisés.
  • Raster - SurfaceLa hauteur du sol repose sur une surface raster.
String
Classification de hauteur

Code de classe et hauteur maximale par rapport au sol qui seront utilisés pour reclasser les points LAS. L’ordre des classes dans la table définira la plage des valeurs z qui serviront à procéder à la reclassification. La plage z de la première entrée s’étend de la surface du sol jusqu’à la valeur Hauteur par rapport au sol spécifiée. La plage z des entrées suivantes s’étend de la limite supérieure de l’entrée précédente jusqu’à sa propre valeur Hauteur par rapport au sol.

Value Table
Classification du bruit
(Facultatif)

Indique si les points doivent être reclassés en tant que bruit en fonction de leur proximité avec le sol et précise la manière dont ils doivent être reclassés. Les artefacts de bruit peuvent être introduits dans les données Lidar par des erreurs de capteur et l’interception accidentelle d’obstructions aériennes, par exemple des oiseaux sur la trajectoire de l’impulsion Lidar.

  • Niveau sonore faible et élevéLes niveaux sonores faibles et élevés peuvent tous les deux être classés.
  • Niveau sonore élevéSeuls les points situés au-dessus de la hauteur maximum dans la table de classification LAS seront reclassés comme niveau sonore élevé.
  • Niveau sonore faibleSeuls les points situés au-dessous de la surface au sol seront reclassés comme niveau sonore. Cette option est disponible si tous les points terrestres servent à définir la surface au sol.
  • AucunAucun point ne sera reclassé comme niveau sonore.
String
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
Étendue 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
Traiter l'intégralité des fichiers LAS qui intersectent l'étendue
(Facultatif)

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

  • Désactivé : seuls les points LAS qui se trouvent dans l'étendue de traitement seront évalués. Il s’agit de l’option par défaut.
  • Activé : tous les points des fichiers .las qui intersectent l’étendue de traitement sont évalués.
Boolean
Limite de traitement

Entité surfacique qui définit la région où des points terrestres LAS sont évalués.

Feature Layer
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
Surface raster en entrée
(Facultatif)

Couche raster d’où proviennent les valeurs de hauteur du sol. Ce paramètre est utilisé uniquement lorsque le paramètre Source terrestre est défini sur Surface raster.

Raster Layer

Sortie obtenue

ÉtiquetteExplicationType de données
Jeu de données LAS en entrée mis à jour

Le jeu de données LAS qui a été modifié.

LAS Dataset Layer

arcpy.ddd.ClassifyLasByHeight(in_las_dataset, ground_source, height_classification, {noise}, {compute_stats}, {extent}, {process_entire_files}, boundary, {update_pyramid}, {in_surface})
NomExplicationType de données
in_las_dataset

Jeu de données LAS qui va être traité. Seuls les points LAS avec les valeurs de code de classe 0 et 1 sont évalués.

LAS Dataset Layer
ground_source

Spécifie la source des mesures terrestres qui seront utilisées pour déterminer la hauteur au-dessus du sol.

  • GROUNDLes points LAS désignés avec le code de classification terrestre de valeur 2 et le code de clé de modèle de valeur 8 seront utilisés.
  • MODEL_KEYSeuls les points LAS désignés avec le code de classification de clé de modèle de valeur 8 seront utilisés.
  • SURFACELa hauteur du sol repose sur une surface raster.
String
height_classification
[[class_code, height_from_ground],...]

La valeur de code de classe qui sera attribuée aux points LAS compris dans la plage de valeurs découlant de la hauteur spécifiée par rapport au sol. L’ordre d’entrée influence les plages de hauteur qui seront utilisées pour définir la reclassification des points LAS. La plage z de la première entrée s’étend de la surface du sol jusqu’à la valeur height_from_ground spécifiée. La plage z des entrées suivantes s’étend de la limite supérieure de l’entrée précédente jusqu’à sa propre valeur height_from_ground.

Value Table
noise
(Facultatif)

Indique si les points doivent être reclassés en tant que bruit en fonction de leur proximité avec le sol et précise la manière dont ils doivent être reclassés. Les artefacts de bruit peuvent être introduits dans les données Lidar par des erreurs de capteur et l’interception accidentelle d’obstructions aériennes, par exemple des oiseaux sur la trajectoire de l’impulsion Lidar.

  • ALL_NOISELes niveaux sonores faibles et élevés peuvent tous les deux être classés.
  • HIGH_NOISESeuls les points situés au-dessus de la hauteur maximum dans la table de classification LAS seront reclassés comme niveau sonore élevé.
  • LOW_NOISESeuls les points situés au-dessous de la surface au sol seront reclassés comme niveau sonore. Cette option est disponible si tous les points terrestres servent à définir la surface au sol.
  • NONEAucun point ne sera reclassé comme niveau sonore.
String
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
process_entire_files
(Facultatif)

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

  • PROCESS_EXTENTSeuls les points LAS qui se trouvent dans l'étendue de traitement seront évalués. Il s’agit de l’option par défaut.
  • PROCESS_ENTIRE_FILESTous les points des fichiers .las qui intersectent l’étendue de traitement sont évalués.
Boolean
boundary

Entité surfacique qui définit la région où des points terrestres LAS sont évalués.

Feature Layer
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
in_surface
(Facultatif)

Couche raster d’où proviennent les valeurs de hauteur du sol. Ce paramètre est utilisé uniquement lorsque le paramètre ground_source est défini sur SURFACE.

Raster Layer

Sortie obtenue

NomExplicationType de données
out_las_dataset

Le jeu de données LAS qui a été modifié.

LAS Dataset Layer

Exemple de code

Exemple 1 d’utilisation de la fonction ClassifyLasByHeight (fenêtre Python)

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

arcpy.env.workspace = 'C:/data'
arcpy.ddd.ClassifyLasByHeight('lidar.lasd', 'Ground', 
                             [[3, 5], [4, 17], [5, 120]], 'HIGH_NOISE')
Exemple 2 d'utilisation de l'outil ClassifyLasByHeight (script autonome)

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

'''****************************************************************************
Name:        Classify Vegetation Points
Description: Classify points representing vegetation with LAS class code values
             of 3, 4, and 5. The code is designed for use as a script tool.
****************************************************************************'''
# Import system modules
import arcpy
import exceptions, sys, traceback

# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)
extent = arcpy.GetParameter(3)
calcStats = arcpy.GetParameter(4)

try:
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
    # Execute ChangeLasClassCodes
    arcpy.ddd.ClassifyLasByHeight(lasd, ground_source='GROUND', 
                                  height_classification=[[3, 5], 
                                                         [4, 17], 
                                                         [5, 120]], 
                                  noise='ALL_NOISE', compute_stats=calcStats, 
                                  extent=extent)

except arcpy.ExecuteError:
    print(arcpy.GetMessages())

Rubriques connexes