lasR
Production of canopy height model, digital terrain model, tree detection and segmentation on large coverage.
https://github.com/r-lidar/lasr
Category: Biosphere
Sub Category: Forest Remote Sensing
Last synced: about 2 hours ago
JSON representation
Repository metadata
Fast and Pipable Airborne LiDAR Data Tools
- Host: GitHub
- URL: https://github.com/r-lidar/lasr
- Owner: r-lidar
- License: gpl-3.0
- Created: 2023-11-29T19:16:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-12T07:49:03.000Z (16 days ago)
- Last Synced: 2025-04-27T17:43:18.623Z (about 3 hours ago)
- Language: C++
- Homepage: https://r-lidar.github.io/lasR/
- Size: 85.2 MB
- Stars: 21
- Watchers: 1
- Forks: 2
- Open Issues: 5
- Releases: 1
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS.md
- Funding: .github/FUNDING.yml
- License: COPYING
README.md
lasR
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
.
- 📖 Start with the tutorial to learn how to use
lasR
. - 💻 Install
lasR
in R with:install.packages('lasR', repos = 'https://r-lidar.r-universe.dev')
. - 💵 Sponsor
lasR
. It is free and open source, but requires time and effort to develop and maintain.
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)
lidR
Main Differences with 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.
- Pipelines:
lasR
introduces pipelines to optimally chain multiple operations on a point cloud, a feature not available inlidR
. - Algorithm Efficiency:
lasR
uses more powerful algorithms designed for speed and efficiency. - Language and Performance: Entirely written in C/C++,
lasR
has no R code except for the API interface. This makes it highly optimized for performance. - Memory Usage: Unlike
lidR
, which loads the point cloud into an Rdata.frame
,lasR
stores point clouds in a C++ structure that is not exposed to the user, minimizing memory usage. - Dependencies:
lasR
has a single strong dependency ongdal
. Ifsf
andterra
are installed, the user experience is enhanced, but they are not mandatory.
For more details, see the relevant vignette.
Copyright Information
lasR
is free and open source and relies on other free and open source tools.
- For
lasR
:- © 2023-2024 Jean-Romain Roussel
- Licence: GPL-3
- For
LASlib
andLASzip
:- © 2007-2021 Martin Isenburg - http://rapidlasso.com
- Licence: LGPL (modified to be R-compliant by Jean-Romain Roussel)
- See the dedicated readme for more details about the modifications made and alternative linking.
- For
chm_prep
:- © 2008-2023 Benoît St-Onge - Geophoton-inc/chm_prep
- Licence: GPL-3
- For
json
parser:- Lohmann, N. (2023). JSON for Modern C++ (Version 3.11.3) [Computer software]. https://github.com/nlohmann
- Licence: MIT
- For
delaunator
:- © 2018 Volodymyr Bilonenko. delfrrr/delaunator-cpp
- Licence: MIT
- For
Eigen
:- Guennebaud, Gaël and Jacob, Benoît and others
- Eigen: A C++ linear algebra library http://eigen.tuxfamily.org
- Licence: MPL2
- For
Cloth Simulation Filter (CSF)
- © 2017 State Key Laboratory of Remote Sensing Science, Institute of Remote Sensing Science and Engineering, Beijing Normal University
- Licence: Apache
- W. Zhang, J. Qi, P. Wan, H. Wang, D. Xie, X. Wang, and G. Yan, “An Easy-to-Use Airborne LiDAR Data Filtering Method Based on Cloth Simulation,” Remote Sens., vol. 8, no. 6, p. 501, 2016.
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
Owner metadata
- Name: R lidar
- Login: r-lidar
- Email:
- Kind: organization
- Description: R + lidar
- Website: https://github.com/r-lidar
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/93974705?v=4
- Repositories: 5
- Last ynced at: 2023-03-05T21:37:51.016Z
- Profile URL: https://github.com/r-lidar
GitHub Events
Total
- Issues event: 31
- Watch event: 26
- Issue comment event: 92
- Public event: 1
- Push event: 111
- Pull request event: 5
- Fork event: 3
Last Year
- Issues event: 31
- Watch event: 26
- Issue comment event: 92
- Public event: 1
- Push event: 111
- Pull request event: 5
- Fork event: 3
Committers metadata
Last synced: 6 days ago
Total Commits: 780
Total Committers: 2
Avg Commits per committer: 390.0
Development Distribution Score (DDS): 0.001
Commits in past year: 436
Committers in past year: 2
Avg Commits per committer in past year: 218.0
Development Distribution Score (DDS) in past year: 0.002
Name | Commits | |
---|---|---|
Jean-Romain | j****1@u****a | 779 |
Alex Grigoryev | a****v@g****m | 1 |
Committer domains:
- ulaval.ca: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 94
Total pull requests: 4
Average time to close issues: 4 days
Average time to close pull requests: about 19 hours
Total issue authors: 19
Total pull request authors: 2
Average comments per issue: 4.54
Average comments per pull request: 3.25
Merged pull request: 3
Bot issues: 0
Bot pull requests: 0
Past year issues: 65
Past year pull requests: 3
Past year average time to close issues: 3 days
Past year average time to close pull requests: 1 day
Past year issue authors: 17
Past year pull request authors: 2
Past year average comments per issue: 4.83
Past year average comments per pull request: 4.0
Past year merged pull request: 2
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- wiesehahn (42)
- Jean-Romain (18)
- jmmonnet (5)
- kalinowskapatrycja (4)
- georgewoolsey (4)
- kadyb (3)
- summitbri (3)
- harryseely (2)
- wildintellect (2)
- FloFranz (2)
- liamirwin (1)
- JohnKilbride (1)
- JakubCha (1)
- ygc2l (1)
- samuelgrubinger (1)
Top Pull Request Authors
- agrigoriev (2)
- Jean-Romain (2)
Top Issue Labels
- bug (37)
- enhancement (14)
- Feature request (9)
- documentation (7)
- question (7)
- multithreading (3)
- devel (3)
- wontfix (1)
Top Pull Request Labels
Dependencies
- actions/checkout v4 composite
- r-lib/actions/check-r-package v2 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- JamesIves/github-pages-deploy-action v4.4.1 composite
- actions/checkout v4 composite
- r-lib/actions/setup-pandoc v2 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- actions/checkout v3 composite
- actions/upload-artifact v3 composite
- r-lib/actions/setup-r v2 composite
- r-lib/actions/setup-r-dependencies v2 composite
- R >= 3.6.0 depends
- methods * imports
- utils * imports
- knitr * suggests
- rmarkdown * suggests
- sf * suggests
- terra * suggests
- testthat >= 3.0.0 suggests
Score: 3.9512437185814275