# load LAS file
LASfile <- system.file("extdata", "las_chablais3.laz", package="lidaRtRee")
las_chablais3 <- lidR::readLAS(LASfile)
# set number of threads
lidR::set_lidr_threads(2)
# extract four point clouds from LAS object
llas <- list()
llas[["A"]] <- lidR::clip_circle(las_chablais3, 974350, 6581680, 10)
llas[["B"]] <- lidR::clip_circle(las_chablais3, 974390, 6581680, 10)
llas[["C"]] <- lidR::clip_circle(las_chablais3, 974350, 6581640, 10)
# normalize point clouds
llas <- lapply(llas, function(x) {
lidR::normalize_height(x, lidR::tin())
})
# compute metrics
clouds_metrics(llas)
# compute metrics with user-defined function
# mean and standard deviation of first return points above 10 m
user_func <- function(z, rn, hmin = 10) {
# first return above hmin subset
dummy <- which(z >= hmin & rn == 1)
return(list(
mean.z = mean(z[dummy]),
sd.z = stats::sd(z[z > hmin])
))
}
clouds_metrics(llas, func = ~ user_func(Z, ReturnNumber, 10))
Run the code above in your browser using DataLab