Résumé
Calcule des statistiques sur la distribution des mesures d’altitude des points de végétation capturés dans les données LAS.
Utilisation
Cet outil génère des dérivées statistiques de points situés au-dessus du sol afin de fournir une meilleure compréhension du couvert forestier. Les points LAS auxquels sont assignées une valeur de code de classe 0 ou 1, qui représente des points non classés, ainsi que les valeurs 3, 4 et 5, qui représentent des points de végétation, sont analysés.
Les données LAS traitées doivent avoir des points terrestres classés avant que cet outil ne soit exécuté. L’outil Classer le sol LAS permet de répondre à cette exigence.
Il sort un raster pour chaque option de statistiques et pourcentage de hauteur spécifiés. Le nom de chaque raster commence par le nom de base indiqué, suivi de la mesure de hauteur ou de la statistique spatiale. Pour le raster de moyenne, le mot « mean » est ajouté au nom de fichier. Pour l’écart type, « stdev » est ajouté au nom de fichier. Pour l’écart médian absolu, « mad » est ajouté au nom de fichier.
Utilisez le paramètre Minimum Height (Hauteur minimum) pour exclure les points extrêmement bas, surtout si les points terrestres n’ont pas été rigoureusement classés, car ils risquent de déformer les résultats de l’outil.
Utilisez le paramètre Minimum Number of Points (Nombre minimal de points) pour exclure les surfaces contenant un nombre insuffisant de points au-dessus du sol pour produire des résultats significatifs.
Syntaxe
arcpy.ddd.LasHeightMetrics(in_las_dataset, out_location, {base_name}, {statistics}, {height_percentiles}, min_height, min_points, cell_size)
Paramètre | Explication | Type de données |
in_las_dataset | Jeu de données LAS à traiter. | LAS Dataset Layer |
out_location | Dossier ou géodatabase dans lequel se trouveront les jeux de données raster en sortie. Lorsque l’emplacement en sortie est un dossier, les jeux de données raster générés sont au format TIFF. | Workspace |
base_name (Facultatif) | Nom de base des jeux de données raster en sortie. | String |
statistics [statistics,...] (Facultatif) | Spécifie les statistiques calculées pour les points non classés et de végétation au-dessus du sol qui se trouvent dans la surface de chaque cellule du raster en sortie.
| String |
height_percentiles [height_percentiles,...] (Facultatif) | Hauteur à laquelle le pourcentage spécifié de points de la cellule est inférieur. Par exemple, une valeur de 95 signifie que les valeurs de cellule générées indiquent la hauteur à laquelle se trouvent 95 % des points au-dessus du sol. | Long |
min_height | Hauteur minimale au-dessus du sol pour les points à vérifier. | Linear Unit |
min_points | Nombre minimal de points qui doivent être présents dans une cellule donnée pour le calcul des mesures de hauteur. Les cellules dont le nombre de points est inférieur au nombre minimal spécifié n’auront aucune donnée dans la sortie. | Long |
cell_size | Taille de cellule des jeux de données raster en sortie. | Linear Unit |
Sortie dérivée
Nom | Explication | Type de données |
derived_out_location | Emplacement des jeux de données raster en sortie. | Espace de travail |
output_rasters | Jeux de données raster en sortie. | Jeu de données raster |
Exemple de code
Exemple 1 d’utilisation de l’outil LasHeightMetrics (fenêtre Python)
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet',
minArea='30 Square Feet', compute_stats=True)
Exemple 2 d’utilisation de l’outil LasHeightMetrics (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())
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst