ALS processing for forest inventory using LAStools and lidR

Authors
Affiliation

Liam A.K. Irwin

Integrated Remote Sensing Studio, University of British Columbia

Brent A. Murray

Integrated Remote Sensing Studio, University of British Columbia

Sadie J.S. Russell

Integrated Remote Sensing Studio, University of British Columbia

Published

September 29, 2025

People

Presenters:

Liam Irwin (UBC)

Brent Murray (UBC)

Sadie Russell (UBC)

Materials

This repository contains the material for an 3 hour lidR tutorial workshop. You should install the material on your own machine from this repository. It contains the code and point-clouds we will use. The workshop intends to:

  • Present an overview lidar processing with LAStools and lidR
  • Give users an understanding of how LAStools and lidR may fit their needs
  • Exercises will be done depending on available time - users are encouraged to work on these after the workshop!

Download Workshop Materials

You can download the complete workshop package containing all code, data, and exercises here:

Download the entire Silvilaser 2025 lidar processing tutorial package (.zip, 296 MB)

Download only the classified lidar files for 05_engine (.zip, 93 MB)

Download only the normalized lidar files for 05_engine (.zip, 94 MB)

Unzip the first to a folder, and run the .Rproj file with RStudio installed for the easiest experience.

If only downloading the classified or normalized lidar files, unzip them to the data folder your working directory.

Target Folder and Data Structure for Workshop Contents

Target Folder and Data Structure for Workshop Contents

Requirements

R version and Rstudio

  • You need to install a recent version of R i.e. R 4.x or newer.
  • We will work with Rstudio. This IDE is not mandatory to follow the workshop but is highly recommended.

R Packages

Tip

Easy setup for new users: Please open the SL25_lidRtutorial_package.Rproj in RStudio. Next, open 01_read.R to run code to automatically install packages.

Please install the lidR package in its latest version (4.2.1/4.2.2).

install.packages("lidR")

To run all code in the tutorial locally, you will need to install the following packages. You can use lidR without them or follow along with provided code and outputs.

libs <- c("terra","viridis","future","sf","mapview")

install.packages(libs)

In the metrics section we introduce and work with a user-made package that supports lidR with additional functions to generate layers useful in vegetation and biodiversity mapping.

To follow along with these steps; install lidRmetrics from GitHub (not available on CRAN), this requires the devtools package

if (!requireNamespace("devtools", quietly = TRUE)) {
  install.packages("devtools")
}

devtools::install_github("ptompalski/lidRmetrics")

Datasets

We will be working with a sample ALS dataset collected in 2016 with a RIEGEL LMS-Q780 over the Forêt Montmorency in Quebec.

This area serves as a research forest for the Université Laval and is managed by the Ministère des Forêts, de la Faune et des Parcs (MFFP) du Quebec.

Quebec ALS data is avaliable for download from the Ressources naturelles et Faune (RNF) portal.

Workshop schedule

  • Introduction to Lidar, LAStools, and lidR (09:00)
  • Preprocessing with LAStools (9:20)
  • Reading LAS and LAZ files (09:30)
  • Point Classification and Filtering (9:35)
  • Digital Terrain Models and Height Normalization (9:40)
  • Canopy Height Models (9:50)
  • Lidar Summary Metrics (9:55)
  • Break (10:15-10:45)
  • File Collection Processing Engine (10:45)
  • Regions of Interest (11:0)
  • Area Based Approach (11:10)
  • Individual Tree Detection and Segmentation (11:30)
  • Questions (11:50)

Resources

We strongly recommend having the following resources available to you:

When working on exercises:

lidR

lidR is an R package to work with lidar data developed at Laval University (Québec, Canada). It was developed & continues to be maintained by Jean-Romain Roussel and was made possible between:

  • 2015 and 2018 thanks to the financial support of the AWARE project NSERC CRDPJ 462973-14; grantee Prof. Nicholas C. Coops.

  • 2018 and 2021 thanks to the financial support of the Ministère des Forêts, de la Faune et des Parcs (Québec).

  • 2021 and 2024 thanks to the financial support of Laval University.

The current release version of lidR can be found on CRAN and source code is hosted on GitHub.

Note

Since 2024, the lidR package is no longer supported by Laval University, but the software will remain free and open-source. r-lidar has transitioned into a company to ensure sustainability and now offers independent services for training courses, consulting, and development. Please feel free to visit their website for more information.

LAStools

LAStools is a collection of highly efficient, batch-scriptable, multicore command line tools for processing LiDAR data. It was originally developed by Martin Isenburg and is continually developed and improved by a team at rapidlasso.

Note

LAStools is not open-source software, but many of its powerful tools are freely avaliable to use, including those we will use in this workshop.

Other tools require a license for commercial or educational use that can be purchased from rapidlasso.

Please visit the LAStools website for more information on how to download and install the software.

The inital processing steps we will use in this workshop can be completed with the free version of LAStools, or you can make use of the pre-processed data provided in the workshop materials package.