LAS-Dataset-Statistiken (Data Management)
Zusammenfassung
Berechnet oder aktualisiert Statistiken für ein LAS-Dataset und generiert einen optionalen Statistikbericht.
Verwendung
Für die Statistik wird der durchschnittliche Punktabstand für jede LAS-Datei mit einer Klasseneinteilungsmethode berechnet, die kleine Bereiche der Datei inkrementell auswertet, um eine präzise Schätzung zu bestimmen.
Im Rahmen der Statistikfunktionen sind Filteroptionen für LAS-Dataset-Layer vorhanden, mit denen die verfügbaren Klassencodes und Rückgabewerte aus den referenzierten LAS-Dateien automatisch angezeigt werden können. Die Filteroptionen können im Dialogfeld "Layer-Eigenschaften" in ArcMap und ArcScene definiert werden.
-
Die folgenden Informationen zu den LAS-Dateien werden im LAS-Dataset gespeichert und können in ArcCatalog im Dialogfeld "Eigenschaften: LAS-Dataset" überprüft werden:
- Bereich der Höhen- und Intensitätswerte
- Anzahl von Datenpunkten pro Klassencode und Rückgabewert
- Vorhandensein von RGB-Werten
- LAS-Version und Punktformat-ID
- ID von Projekt und Dateiquelle
- Name der Software, mit der die LIDAR-Datei generiert wurde
Die optionale Statistikberichtsdatei bietet einen Überblick über die LAS-Eigenschaften aller Dateien im LAS-Dataset oder jeder einzelnen LAS-Datei. Die Berichtsdatei liegt in einem Textformat vor, das in eine Reihe von Anwendungen importiert werden kann.
Syntax
Parameter | Erläuterung | Datentyp |
in_las_dataset |
Das Eingabe-LAS-Dataset. | LAS Dataset Layer |
calculation_type | Gibt an, ob statistische Berechnungen für alle LIDAR-Dateien durchgeführt werden oder nur für jene, die keine Statistiken aufweisen:
| Boolean |
out_file (optional) |
Die Ausgabetextdatei, die die Zusammenfassung der LAS-Dataset-Statistiken enthält. | Text File |
summary_level (optional) |
Geben Sie den Typ der im Bericht enthaltenen Zusammenfassung an.
| String |
delimiter (optional) |
Das in der Textdatei verwendete Feldtrennzeichen.
| String |
decimal_separator (optional) | Das in der Textdatei verwendete Dezimalzeichen, mit dem der ganzzahlige Teil einer Zahl von ihrem Bruchteil unterschieden wird.
| String |
Codebeispiel
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht:
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")
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht:
'''*********************************************************************
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)