GIS5100 Module 2: Forestry and LiDAR
This week in Applications in GIS focused on LiDAR (Light Detection and Ranging) and how to handle LiDAR data in ArcGIS Pro to calculate forest height and forest biomass.
Using the decompressed version of the provided LiDAR data of
the study area in Shenandoah, Virginia (Fig. 1), we created a Digital Elevation Model (DEM) and Digital Surface
Model (DSM) to determine the tree canopy height of the study area.
![]() |
| Fig. 1: LiDAR image of Shenandoah, Virginia study area |
Creating DEM
Using the LiDAR .las file, right click in Contents ->
Filters -> LAS Points = Ground
The LAS Dataset to Raster geoprocessing tool was used to convert the LiDAR data into a raster format. This made a Digital Elevation Model (DEM). See Fig. 2 for this map output.
Creating a DSM
Using the LiDAR .las file, right click in Contents ->
Filters -> LAS Points = Non-Ground
The LAS Dataset to Raster geoprocessing tool was used
to convert the LiDAR data into a raster format. This made a Digital Surface
Model (DSM).
Making a Height Raster
Using the Minus tool, I subtracted the DEM and DSM
to create a Height raster. See Fig. 2 for this map output.
Calculating Biomass Density
We needed to create MultiPoint files of the .las file for
both the Ground and Vegetation – I used the LAS to MultiPoint geoprocessing
tool.
The “Average Point Spacing” was determined from our Point
File Information feature class that was created from our .las file.
I then converted the MultiPoint files that were just made
into rasters using the Point to Raster tool on both the Ground
MultiPoint and Vegetation MultiPoint files.
The cell size value was chosen based
off the Average Point Spacing value (1.005159) that was found in the Point File
Information layer attribute table – per lab, “the ideal cell size is 3 times
the determine average point spacing”, so the value for the cell size in this
instance was determined to be (3).
The IS NULL tool was then
used to create a binary file (“Ground_Null”, “Veg_Null”) – this binary file
assigned a 1 to all the values that weren’t null – this was done for the
newly created Ground and Vegetation raster files from the previous step.
From there, I ran the Con tool
on the binary files so that if a 1 is encountered, it will pull information
from the original raster, but if it encounters a 0, it will only accept it as a
true value. The Input true raster or constant value is set to (0) and Input
false raster or constant value in this tool is set to the Raster
file for each type respectively (ground or vegetation). The input is the binary
files (outputs from the IS NULL tool) for each respective type. The
outputs for the Con tool are “Count_Ground” and “Count_Veg” files.
Next, the Plus tool was used
to combine the “Count_Ground” and “Count_Veg” files – this will start the
process of determining overall density. This output results in an integer type,
but we want it to be a float type- to do that, I used the Float tool to
convert into float type.
To calculate the density, I used the Divide tool – the resulted (tree) Canopy Density raster. See Fig. 2 for this map output, as well as finished product.
![]() |
| Fig. 2: Digital Elevation Model (DEM), Canopy Density map, Canopy Height map, and Tree Canopy Height Distribution graph of the Shenandoah, Virginia study area |


Comments
Post a Comment