Summary
Calculates statistics about the distribution of elevation measurements of vegetation points captured in LAS data.
Usage
Consider using this tool to calculate biomass over lidar collections from forested areas.
This tool requires the presence of ground classified points, and processes LAS point with class codes value of 0, 1, 3, 4, and 5.
Syntax
LasHeightMetrics_3d (in_las_dataset, out_location, {base_name}, {statistics}, {height_percentiles}, min_height, min_points, cell_size)
Parameter | Explanation | Data Type |
in_las_dataset | The LAS dataset to process. | LAS Dataset Layer |
out_location | The folder or geodatabase where the output raster datasets will reside. | Workspace |
base_name (Optional) | The base name for the output raster datasets. | String |
statistics [statistics,...] (Optional) | The statistics calculated for the unclassified and vegetation points above the ground that are inside the area of each cell in the output raster.
| String |
height_percentiles [height_percentiles,...] (Optional) | The height percentiles above ground for which to calculate the histogram. | Long |
min_height | The lowest height above ground for points that will be evaluated. | Linear Unit |
min_points | The lowest number of points that must be present in a given cell in order to calculate LAS height metrics. Cells with lower number of points than the specified minimum will have no data in the output. | Long |
cell_size | The cell size fo the output raster datasets. | Linear Unit |
Derived Output
Name | Explanation | Data Type |
derived_out_location | The location of output raster datasets. | Workspace |
output_rasters | The output raster datasets. |
Code sample
LasHeightMetrics example 1 (Python window)
The following sample demonstrates the use of this tool in the Python window.
arcpy.env.workspace = 'C:/data'
arcpy.ClassifyLasBuilding_3d('Highland.lasd', minHeight='9 feet',
minArea='30 Square Feet', compute_stats=True)
LasHeightMetrics example 2 (stand-alone script)
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''****************************************************************************
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())
Environments
Licensing information
- ArcGIS Desktop Basic: Requires 3D Analyst
- ArcGIS Desktop Standard: Requires 3D Analyst
- ArcGIS Desktop Advanced: Requires 3D Analyst