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
Bâtiment
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
ClassifyLasByHeight_3d (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. La présence de statistiques permet au filtrage de la couche du jeu de données LAS et aux options de symbologie de n'afficher que les valeurs d'attributs LAS qui existent dans les fichiers 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 |
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
- ArcGIS Desktop Basic: Requiert 3D Analyst
- ArcGIS Desktop Standard: Requiert 3D Analyst
- ArcGIS Desktop Advanced: Requiert 3D Analyst