Classer le sol LAS (3D Analyst)

Résumé

Classe des points au sol dans des données lidar.

Illustration

Classer le sol LAS

Utilisation

  • Cet outil implique que le jeu de données LAS en entrée dispose d’un système de coordonnées projetées. Les données stockées dans un système de coordonnées géographiques peuvent être reprojetées en utilisant l’outil Extraire LAS avec un système de coordonnées projetées spécifié dans le paramètre d’environnement Système de coordonnées en sortie.

  • Seuls les points LAS avec la valeur de code de classe 0, 1 ou 2 peuvent être affectés en tant que points terrestres. Si vos fichiers LAS utilisent d’autres valeurs de code de classe pour représenter des mesures non classées ou terrestres, utilisez l’outil Modifier les codes de classes LAS pour les réaffecter correctement. Le processus de classification ignore également les points auxquels l’indicateur de classification de superposition ou de retenue est affecté.

  • Pensez à utiliser le paramètre DEM Resolution (Résolution MNE) pour générer des résultats plus rapides si les points classifiés terrestres doivent être utilisés pour générer une surface raster au sol d’une résolution spécifique. Le gain de performance est obtenu en réduisant le nombre de points affectés au code de classe terrestre tout en conservant la couverture requise pour la résolution spécifiée.

  • Lors de la classification des retours LAS sur un terrain présentant des caractéristiques de pente divergentes, par exemple des zones relativement plates qui côtoient des emplacements dotés de profils de pente escarpée, exécutez le classificateur terrestre une première fois selon la méthode standard et une seconde fois selon la méthode de détection agressive en activant l’option de réutilisation du sol. Appliquez une étendue de traitement ou spécifiez une limite de polygone pour limiter cette opération à la seule région nécessaire.

  • Les emplacements qui comportent des ponts et des bretelles d’autoroute doivent être examinés, car ils risquent d’être classés par erreur comme terrestres.

Syntaxe

arcpy.3d.ClassifyLasGround(in_las_dataset, method, {reuse_ground}, {dem_resolution}, {compute_stats}, {extent}, boundary, {process_entire_files})
ParamètreExplicationType de données
in_las_dataset

Jeu de données LAS à traiter. Seuls les derniers points LAS renvoyés avec les valeurs de code de classe 0, 1 et 2 sont évalués.

LAS Dataset Layer
method

Spécifie la méthode utilisée pour détecter les points terrestres.

  • STANDARDCette méthode utilise une tolérance de variation de pente qui permet de capturer les ondulations graduelles de la topographie du sol généralement non détectées par l’option conservatrice. En revanche, elle ne permet pas de capturer le type de relief accidenté détecté par l’option agressive. Il s’agit de l’option par défaut.
  • CONSERVATIVEComparée aux autres options, cette méthode utilise une restriction plus sévère sur la variation de la pente du sol pour différencier le sol de la végétation de basse altitude, comme l’herbe et les arbustes. Elle convient mieux aux topographies présentant une courbure minimale.
  • AGGRESSIVECette méthode détecte les zones terrestres aux reliefs accentués, tels que crêtes et sommets, qui sont généralement ignorées par la méthode STANDARD. Cette méthode convient mieux la deuxième fois que vous exécutez cet outil, lorsque le paramètre reuse_ground est défini sur REUSE_GROUND. N'utilisez pas cette méthode dans les zones urbaines ou rurales planes, car elle risquerait de classer comme terrestres les objets plus grands, tels que des pylônes, la végétation et certains bâtiments.
String
reuse_ground
(Facultatif)

Indique si les points terrestres existants seront reclassés ou réutilisés.

  • RECLASSIFY_GROUNDLes points terrestres actuels sont reclassés. Les points qui ne sont pas considérés comme terrestres se voient réattribuer la valeur de code de classe 1 représentant des points non classés. Il s’agit de l’option par défaut.
  • REUSE_GROUNDLes points terrestres actuels sont acceptés et réutilisés sans aucun test et aident à déterminer les points non classés.
Boolean
dem_resolution
(Facultatif)

Distance qui génère uniquement un sous-ensemble de points qui peuvent être classés comme terrestres, ce qui accélère le processus. Utilisez ce paramètre si vous avez besoin d’une méthode plus rapide pour générer une surface de MNE. La distance minimale est de 0,30 mètre, mais la distance spécifiée doit être au moins égale à 1,5 fois l'espacement moyen des points des données lidar pour que ce processus puisse avoir lieu.

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

  • MAXOF : l’étendue maximale de toutes les entrées est utilisée.
  • MINOF : l’étendue minimale de 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 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

Sortie dérivée

NomExplicationType de données
out_las_dataset

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

Couche du jeu de données LAS

Exemple de code

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

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

arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasGround_3d('metro.lasd', 'CONSERVATIVE', 
                           boundary='study_area.shp', 
                           process_entire_files='PROCESS_ENTIRE_FILES')
Exemple 2 d'utilisation de l'outil ClassifyLasGround (script autonome)

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

'''****************************************************************************
Name:        Classify Ground & Vegetation in Forest Environment
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

# Set Local Variables
inLas = arcpy.GetParameterAsText(0)
recursion = arcpy.GetParameterAsText(1)
lasd = arcpy.GetParameterAsText(2)

try:
    arcpy.CheckOutExtension('3D')
    # Execute CreateLasDataset
    arcpy.management.CreateLasDataset(inLas, lasd, folder_recursion=recursion)
    # Make an initial pass of ground classifier
    arcpy.ddd.ClassifyLasGround(lasd, method="Conservative")
    # Make a secondary pass to capture ridges
    arcpy.ddd.ClassifyLasGround(lasd, method="Aggressive", 
                                reuse_ground="REUSE_GROUND")
    # Classify vegetation
    arcpy.ddd.ClassifyLasByHeight(lasd, ground_source='GROUND', 
                                  height_classification=[[3, 5], 
                                                         [4, 17], 
                                                         [5, 120]], 
                                  noise='HIGH_NOISE', compute_stats="COMPUTE_STATS")
    arcpy.CheckInExtension('3D')

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

Informations de licence

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

Rubriques connexes