LAS Dataset Statistics (Data Management)

License Level:BasicStandardAdvanced

Summary

Calculates or updates statistics for a LAS dataset and generates an optional statistics report.

Usage

Syntax

LasDatasetStatistics_management (in_las_dataset, calculation_type, {out_file}, {summary_level}, {delimiter}, {decimal_separator})
ParameterExplanationData 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:

  • SKIP_EXISTING_STATSLAS files with up-to-date statistics will be skipped, and statistics will only be calculated for newly added LAS files or ones that were updated since the initial calculation. This is the default.
  • OVERWRITE_EXISTING_STATSStatistics will be calculated for all LAS files, including ones that have up-to-date statistics. This is useful if the LAS files were modified in an external application that went undetected by ArcGIS.
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.

  • DATASETThe report will summarize statistics for the entire LAS dataset. This is the default.
  • LAS_FILESThe report will summarize statistics for the LAS files referenced by the LAS dataset.
String
delimiter
(Optional)

The field delimeter used in the text file.

  • SPACEA space will be used to delimit field values. This is the default.
  • COMMAA comma will be used to delimit field values. This option is not applicable if the decimal separator is also a comma.
String
decimal_separator
(Optional)

The decimal character used in the text file to differentiate the integer of a number from its fractional part.

  • DECIMAL_POINTA point is used as the decimal character. This is the default.
  • DECIMAL_COMMAA comma is used as the decimal character.
String

Code Sample

LasDatasetStatistics example 1 (Python window)

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")
LasDatasetStatistics example 2 (stand-alone script)

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)

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: Requires 3D Analyst or Spatial Analyst
ArcGIS for Desktop Standard: Yes
ArcGIS for Desktop Advanced: Yes
5/7/2015