Statistiques du jeu de données LAS (Gestion des données)
Récapitulatif
Calcule ou met à jour des statistiques pour un jeu de données LAS et génère un rapport de statistiques facultatif.
Utilisation
Les statistiques calculent l'espacement moyen des points pour chaque fichier LAS à l'aide d'une méthode de classification par fenêtres qui évalue de façon incrémentielle les petites surfaces du fichier afin de fournir une estimation.
Les statistiques permettent aux options de filtre d'une couche de jeu de données LAS d'afficher automatiquement les codes de classes et valeurs renvoyées disponibles trouvées dans les fichiers LAS référencés. Les options de filtre peuvent être spécifiées par l'intermédiaire de la boîte de dialogue Propriétés de la couche d'ArcMap et ArcScene.
-
Les informations suivantes sur les fichiers LAS sont stockées dans le jeu de données LAS et peuvent être examinées via la boîte de dialogue Propriétés du jeu de données LAS d'ArcCatalog :
- Plage des valeurs d'altitude et d'intensité
- Nombre de points de données par code de classe et valeur renvoyée
- Existence de valeurs RVB
- Version LAS et ID de format de point
- ID de projet et ID source du fichier
- Nom du logiciel utilisé pour générer le fichier LIDAR
Le fichier de rapport de statistiques facultatif présente les propriétés LAS de tous les fichiers du jeu de données LAS ou chaque fichier LAS individuel à un format texte qui peut être importé dans un grand nombre d'applications.
Syntaxe
Paramètre | Explication | Type de données |
in_las_dataset |
Jeu de données LAS en entrée. | LAS Dataset Layer |
calculation_type | Indique si les statistiques sont calculées pour tous les fichiers LIDAR ou uniquement pour ceux qui ne présentent pas de statistiques :
| Boolean |
out_file (Facultatif) |
Fichier texte en sortie comportant le résumé des statistiques du jeu de données LAS. | Text File |
summary_level (Facultatif) |
Indiquez le type de résumé contenu dans le rapport.
| String |
delimiter (Facultatif) |
Délimiteur de champ utilisé dans le fichier texte.
| String |
decimal_separator (Facultatif) | Le caractère décimal utilisé dans le fichier texte pour différencier la partie entière d'un nombre de sa partie fractionnaire.
| String |
Exemple de code
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python :
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.LASDatasetStatistics_3d("test.lasd", "NO_FORCE", "LAS_FILE",
"DECIMAL_POINT", "SPACE", "LAS_summary.txt")
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome :
'''*********************************************************************
Name: Modify Files in LAS Dataset& Calculate Stats for LASD
Description: Adds files & surface constraints to a LAS dataset, then
calculates statistics and generates report.
*********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
# Script variables
env.workspace = 'C:/data'
lasd = 'sample.lasd'
oldLas = ['2006', '2007/file2.las']
newLas = ['2007_updates_1', '2007_updates_2']
oldSurfaceConstraints = ['boundary.shp', 'streams.shp']
newSurfaceConstraints = [['sample.gdb/boundary', '<None>',
'Soft_Clip']
['sample.gdb/streams', 'Shape.Z',
'Hard_Line']]
arcpy.management.RemoveFilesFromLasDataset(lasd, oldLas,
oldSurfaceConstraints)
arcpy.management.AddFilesToLasDataset(lasd, newLas, 'RECURSION',
newSurfaceConstraints)
arcpy.management.LasDatasetStatistics(lasd, "UPDATED_FILES",
"lasd_stats.txt",
"LAS_FILE", "DECIMAL_POINT",
"SPACE", "LAS_summary.txt")
except arcpy.ExecuteError:
print arcpy.GetMessages()
except:
# Get the traceback object
tb = sys.exc_info()[2]
tbinfo = traceback.format_tb(tb)[0]
# Concatenate error information into message string
pymsg = "PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}"\
.format(tbinfo, str(sys.exc_info()[1]))
msgs = "ArcPy ERRORS:\n {0}\n".format(arcpy.GetMessages(2))
# Return python error messages for script tool or Python Window
arcpy.AddError(pymsg)
arcpy.AddError(msgs)