View source: R/leaves_traits.R
leaves_traits | R Documentation |
This function implements the "Voxel method" first described by Hosoi and Omasa (2006) to estimate tree LAI, Total Leaf Area and LAD profile. The voxel resolution is automatically computed from the point cloud as the average shortest distance of a point to its nearest neighbor as suggested in Li et al. 2016.
leaves_traits(leaves_pc, layer_thickness = 0.2)
leaves_pc |
a data.table containing the XYZ coordinates of a tree leaves |
layer_thickness |
numeric (optional). The layer tickness to compute LAD profiles. If not provided the voxel size if use as layer tickness. |
A list containing the LAI, TLA as numeric values and the LAD profile returned as a data.table.
Hosoi, F., & Omasa, K. (2006). Voxel-based 3-D modeling of individual trees for estimating leaf area density using high-resolution portable scanning lidar. IEEE transactions on geoscience and remote sensing, 44(12), 3610-3618.
Li, Y., Guo, Q., Tao, S., Zheng, G., Zhao, K., Xue, B., & Su, Y. (2016). Derivation, validation, and sensitivity analysis of terrestrial laser scanning-based leaf area index. Canadian Journal of Remote Sensing, 42(6), 719-729.
# import the data
file = system.file("extdata", "tree_leaves.las", package="lidUrb")
las = lidR::readLAS(file)
# filter noise
las = lidUrb::filter_noise(las,k = 6L,sigma = 0.8)
# segment foliage
las = lidUrb::LW_segmentation_dbscan(las)
las@data[,wood := as.numeric(p_wood >= 0.9)]
# compute leaves traits
leaves = lidUrb::leaves_traits(las@data[wood == 0])
# estimated LAI
leaves$LAI
# estimated Total Leaf Area
leaves$TLA
# plot the LAD profile
library(ggplot2)
ggplot(leaves$LAD_profile, aes(x = layer, y= LAD)) +
geom_line(size=1.1) +
coord_flip() +
theme(legend.position = "none") +
xlab("Layer elevation") +
ylab("Leaf Area Density")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.