Home

Awesome

lasR <img src="https://github.com/r-lidar/lasR/blob/main/man/figures/lasR200x231.png?raw=true" align="right"/>

license Lifecycle:Maturing R-CMD-check Codecov test coverage

R Package for Fast Airborne LiDAR Data Processing

The lasR package (pronounced "laser") is an R package designed to provide a platform to share efficient implementation of tools designed with the lidR package. It enables the creation and execution of complex processing pipelines on massive lidar data. It can read and write .las and .laz files, compute metrics using an area-based approach, generate digital canopy models, segment individual trees, thin point data, and process collections of files using multicore processing. lasR offers a range of tools to process massive volumes of lidar data efficiently in a production environment after the R&D phase with lidR.

lasR is not intended to replace the lidR package. While lidR is tailored for academic research, lasR focuses on production scenarios, offering significantly higher efficiency compared to lidR. For more details, see the comparison.

Installation

There are no current plans to release lasR on CRAN. Instead, it is hosted on r-universe:

install.packages('lasR', repos = 'https://r-lidar.r-universe.dev')

Since lasR is not available on CRAN, users cannot rely on the CRAN versioning system or the RStudio update button to get the latest version. Instead, when lasR is loaded with library(lasR), an internal routine checks for the latest version and notifies the user if an update is available. This approach allows for more frequent updates, ensuring users have access to the newest features and bug fixes without waiting for a formal release cycle.

library(lasR)
#> lasR 0.1.3 is now available. You are using 0.1.1
#> install.packages('lasR', repos = 'https://r-lidar.r-universe.dev')

Example

Here is a simple example of how to classify outliers before to produce a Digital Surface Model (DSM) and a Digital Terrain Model (DTM) from a folder containing airborne LiDAR point clouds. For more examples see the tutorial.

library(lasR)
folder = "/folder/of/laz/tiles/"
pipeline = classify_with_sor() + delete_noise() + chm(1) + dtm(1)
exec(pipeline, on = folder, ncores = 16, progress = T)

Main Differences with lidR

The following benchmark compares the time and RAM usage of lasR and lidR for producing a Digital Terrain Model (DTM), a Canopy Height Model (CHM), and a raster containing two metrics derived from elevation (Z) and intensity. The test was conducted on 120 million points stored in 4 LAZ files. For more details, check out the benchmark vignette.

<img src="man/figures/readme_benchmark.png" style="display: block; margin: auto;" />

For more details, see the relevant vignette.

Copyright Information

lasR is free and open source and relies on other free and open source tools.

About

lasR is developed openly by r-lidar.

The initial development of lasR was made possible through the financial support of Laval University. To continue the development of this free software, we now offer consulting, programming, and training services. For more information, please visit our website.

Install dependencies on GNU/Linux

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt-get update
sudo apt-get install libgdal-dev libgeos-dev libproj-dev