This sample shows how to process point cloud data to classify points as vegetation, and then create a vegetation density raster and a canopy height raster that can be opened and viewed in ENVI.

The install_dir\data\lidar\Hemlock_*.laz data is ideal to use with this extension. It is heavily forested and will give the best approximation. These data were made available by the Rochester Institute of Technology via the SHARE 2012 experiment.

Use the sample code to become familiar with extensions. This sample provides information on how to:

  • Prompt for user .las, .laz, .ini, or current project input.
  • Get the classification values for all points and the total number of points in the input file.
  • Determine if the input is classified.
  • Process the input data to generate the DEM and DSM (the DSM will simulate the tree height).
  • Process the data to classify trees and generate a point cloud.
  • Calculate the total point data.
  • Calculate the vegetation density data.
  • Start ENVI.
  • Subtract DEM from DSM to calculate canopy height above terrain.
  • Get the dimensions and DATA_IGNORE_VALUE from the DEM file.
  • Generate the tree height and density rasters.
  • Display the tree height and density rasters.

Tip: When displayed in ENVI, the forest density raster can be colored to better illustrate variance in the density. Right-click Density.dat in the Layer Manager and select Change Color Table > Rainbow.

View the Sample Code


  1. Start the IDL Workbench.
  2. Select File > Open and navigate to the PRO Code file INSTALL_DIR\ENVIxx\examples\lidar\forest_density.pro. The file opens in the IDL Workbench.

Run the Sample Code from the ENVI Toolbox


  1. Copy the PRO code source file INSTALL_DIR\ENVIxx\examples\lidar\forest_density.pro to a directory that ENVI searches for extensions. See Deploy Extensions for directory information.

  2. Launch ENVI+IDL by clicking ENVI+IDL from the Windows Start menu.
  3. In the ENVI Toolbox, select Extensions > LiDAR > Samples and double-click Map Forest Density.

Note: Depending on your user account privileges, you may not be able to save changes to the sample extensions. Refer to Toolbox Extensions for information on copying the samples to a user-writeable location.