Résumé
Reclasse les points Lidar en fonction de leur hauteur par rapport à la surface du sol.
Utilisation
Cet outil permet de reclasser les points LAS dont les valeurs de codes de classes sont égales à 0 ou 1 en fonction de leur hauteur par rapport à la surface du sol créée à l'aide de retours lidar auxquels les valeurs de codes de classes 2 ou 8 sont attribuées. Si les retours terrestres lidar utilisent des valeurs différentes de 2 ou 8, utilisez l'outil Modifier les codes de classes LAS pour que la définition du code de classe soit conforme aux spécifications de format de fichier LAS.
Vous pouvez utiliser cet outil pour classer la végétation dans les données lidar collectées sur des zones éloignées avec une présence de bâtiments minimale.
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.
-
Le format LAS prend en charge la classification de chaque point en fonction des spécifications définies par l'ASPRS (American Society for Photogrammetry and Remote Sensing). La plateforme ArcGIS applique le schéma de classification spécifié pour la version 1.4 du fichier LAS :
Valeur de classification Type de classification 0
Jamais classé
1
Non attribuée
2
Sol
3
Végétation basse
4
Moyenne végétation
5
Haute végétation
6
Construction
7
Niveau sonore faible
8
Clé de modèle/Réservé
9
Eau
10
Ferroviaire
11
Surface routière
12
Superposition/Réservé
13
Fil métallique
14
Conducteur métallique
15
Tour de transmission
16
Connecteur métallique
17
Tablier de pont
18
Niveau sonore élevé
19 – 63
Réservé pour la définition ASPRS (prise en charge de LAS 1.1 à 1.3 jusqu'au code de classe 31)
32 – 255
Défini par l'utilisateur (uniquement pris en charge dans LAS 1.0 et certaines versions de 1.4)
Syntaxe
arcpy.ddd.ClassifyLasByHeight(in_las_dataset, ground_source, height_classification, {noise}, {compute_stats}, {extent}, {process_entire_files}, boundary)
Paramètre | Explication | Type 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 | Source des mesures terrestres qui seront utilisées pour déterminer la hauteur au-dessus du sol.
| 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 sont utilisées pour définir la reclassification des points LAS. La plage Z de la première entrée s'étendra de la surface du sol à la valeur height_from_ground spécifiée. La plage Z des entrées suivantes s'étendra 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 comme sonores en fonction de leur proximité avec le sol. Les artefacts sonores 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.
| String |
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.
| Boolean |
extent (Facultatif) | Spécifiez l'étendue des données qui seront évaluées par cet outil. | Extent |
process_entire_files (Facultatif) | Indiquez comment appliquer l'étendue de traitement.
| Boolean |
boundary | Entité surfacique qui définit la région pour laquelle des points terrestres LAS sont évalués. | Feature Layer |
Sortie dérivée
Nom | Explication | Type 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 ClassifyLasByHeight (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasByHeight_3d('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())
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst