LAS Dataset Statistics (Data Management)
Summary
Calculates or updates statistics for a LAS dataset and generates an optional statistics report.
Usage
Statistics calculate average point spacing for each LAS file by using a binning method that incrementally evaluates small areas of the file to determine an estimate.
Statistics enable filtering options for a LAS dataset layer to automatically display the available class codes and return values found in the referenced LAS files. The filtering options can be specified through the Layer Properties dialog box in ArcMap and ArcScene.
-
The following information about the LAS files will be stored in the LAS dataset and can be reviewed through the LAS Dataset Properties dialog box in ArcCatalog:
- Range of elevation and intensity values
- Number of data points per class code and return value
- Existence of RGB values
- LAS version and point format ID
- Project ID and file source ID
- Name of software used to generate the lidar file
The optional statistics report file provides an overview of LAS properties of all files in the LAS dataset or each individual LAS file in a text format that can be imported into any number of applications.
Syntax
Parameter | Explanation | Data Type |
in_las_dataset |
The input LAS dataset. | LAS Dataset Layer |
calculation_type | Specifies whether statistics will be calculated for all lidar files or only for those that do not have statistics:
| Boolean |
out_file (Optional) |
The output text file that will contain the summary of the LAS dataset statistics. | Text File |
summary_level (Optional) |
Specify the type of summary contained in the report.
| String |
delimiter (Optional) |
The field delimeter used in the text file.
| String |
decimal_separator (Optional) | The decimal character used in the text file to differentiate the integer of a number from its fractional part.
| String |
Code Sample
The following sample demonstrates the use of this tool in the Python window:
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")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''*********************************************************************
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)