Description Usage Arguments Value Author(s) Examples
Delineate and compute ground-projected area of individual tree crowns detected from LiDAR-derived CHM
1 |
chm |
A LiDAR-derived Canopy Height Model (CHM) RasterLayer or SpatialGridDataFrame file. |
loc |
A matrix or dataframe with three columns (tree xy coordinates and height). |
maxcrown |
A single value of the maximum individual tree crown radius expected. Default 10.0 m. |
exclusion |
A single value from 0 to 1 that represents the % of pixel exclusion. E.g. a value of 0.5 will exclude all of the pixels for a single tree that has a height value of less than 50% of the maximum height from the same tree. Default value is 0.3. |
Returns a list that contains the individual tree canopy boundary polygons and the 4-column matrix with the tree xy coordinates, heights and ground-projected canopy area (with units of square meters).
Carlos Alberto Silva
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | # This takes > 5s
library(raster)
# Import the LiDAR-derived CHM file
data(chm) # or set a CHM. e.g. chm<-raster("CHM_stand.asc")
# Set the loc parameter
sCHM<-CHMsmoothing(chm, filter="mean", ws=5) # smoothing CHM
loc<-FindTreesCHM(sCHM, fws=5, minht=8) # or import a tree list
# Set the maxcrown parameter
maxcrown=10.0
# Set the exclusion parameter
exclusion=0.3 # 30
# Compute individual tree detection canopy area
canopy<-ForestCAS(chm, loc, maxcrown, exclusion)
#==================================================================================#
# Retrieving the boundary for individual tree detection and canopy area calculation
#==================================================================================#
boundaryTrees<-canopy[[1]]
# Plotting the individual tree canopy boundary over the CHM
plot(chm, main="LiDAR-derived CHM")
# adding tree canopy boundary
plot(boundaryTrees, add = TRUE, border = 'red', bg = 'transparent')
#============================================================================#
# Retrieving the list of individual trees detected for canopy area calculation
#============================================================================#
canopyList<-canopy[[2]] # list of ground-projected areas of individual tree canopies
summary(canopyList) # summary
# Spatial location of the trees
library(sp)
XY<-SpatialPoints(canopyList[,1:2]) # Spatial points
plot(XY, col = "black", add = TRUE, pch = "*") # adding tree location to the plot
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.