{"id":193468,"name":"lasR","description":"Production of canopy height model, digital terrain model, tree detection and segmentation on large coverage.","url":"https://github.com/r-lidar/lasr","last_synced_at":"2026-05-17T22:07:39.597Z","repository":{"id":211026275,"uuid":"725260350","full_name":"r-lidar/lasR","owner":"r-lidar","description":"Fast and Pipable Airborne LiDAR Data Tools","archived":false,"fork":false,"pushed_at":"2026-05-11T06:24:49.000Z","size":109652,"stargazers_count":70,"open_issues_count":24,"forks_count":14,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-05-11T19:06:00.466Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://r-lidar.github.io/lasR/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r-lidar.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"Jean-Romain"}},"created_at":"2023-11-29T19:16:56.000Z","updated_at":"2026-05-09T16:22:50.000Z","dependencies_parsed_at":"2024-01-19T16:40:27.375Z","dependency_job_id":"b35088d3-9ad3-474b-bf72-bbe94a208811","html_url":"https://github.com/r-lidar/lasR","commit_stats":{"total_commits":766,"total_committers":1,"mean_commits":766.0,"dds":0.0,"last_synced_commit":"be72f80d9448243edfef5503f8ca90b7e27bbcc4"},"previous_names":["r-lidar/lasr"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/r-lidar/lasR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lidar","download_url":"https://codeload.github.com/r-lidar/lasR/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32997764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-13T13:14:54.681Z","status":"ssl_error","status_checked_at":"2026-05-13T13:14:51.610Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"owner":{"login":"r-lidar","name":"R lidar","uuid":"93974705","kind":"organization","description":"R + lidar","email":null,"website":"https://github.com/r-lidar","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/93974705?v=4","repositories_count":5,"last_synced_at":"2023-03-05T21:37:51.016Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/r-lidar","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T23:18:51.790Z","updated_at":"2023-03-05T21:37:51.025Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lidar","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lidar/repositories"},"packages":[{"id":12141236,"name":"pylasr","ecosystem":"pypi","description":"Python bindings for LASR library - Fast Airborne LiDAR Data Processing","homepage":"https://github.com/r-lidar/lasR","licenses":"GPL-3.0","normalized_licenses":["GPL-3.0"],"repository_url":"https://github.com/r-lidar/lasR","keywords_array":["lidar","point cloud","gis","remote sensing","airborne laser scanning"],"namespace":null,"versions_count":2,"first_release_published_at":"2025-09-25T06:55:39.000Z","latest_release_published_at":"2026-02-19T08:07:47.000Z","latest_release_number":"0.17.4","last_synced_at":"2026-04-06T07:01:38.975Z","created_at":"2025-09-25T07:00:48.441Z","updated_at":"2026-04-06T07:01:38.976Z","registry_url":"https://pypi.org/project/pylasr/","install_command":"pip install pylasr --index-url https://pypi.org/simple","documentation_url":"https://r-lidar.github.io/lasR/","metadata":{"funding":null,"documentation":"https://r-lidar.github.io/lasR/","classifiers":["Development Status :: 4 - Beta","Intended Audience :: Developers","Intended Audience :: Science/Research","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.9","Topic :: Scientific/Engineering :: GIS","Topic :: Software Development :: Libraries :: Python Modules"],"normalized_name":"pylasr","project_status":null},"repo_metadata":{"id":211026275,"uuid":"725260350","full_name":"r-lidar/lasR","owner":"r-lidar","description":"Fast and Pipable Airborne LiDAR Data Tools","archived":false,"fork":false,"pushed_at":"2025-12-28T12:22:19.000Z","size":104052,"stargazers_count":52,"open_issues_count":12,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-29T06:56:43.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://r-lidar.github.io/lasR/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r-lidar.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"Jean-Romain"}},"created_at":"2023-11-29T19:16:56.000Z","updated_at":"2025-12-27T12:13:46.000Z","dependencies_parsed_at":"2024-01-19T16:40:27.375Z","dependency_job_id":"395df61d-cc78-4693-a394-11a07347fd0e","html_url":"https://github.com/r-lidar/lasR","commit_stats":{"total_commits":766,"total_committers":1,"mean_commits":766.0,"dds":0.0,"last_synced_commit":"be72f80d9448243edfef5503f8ca90b7e27bbcc4"},"previous_names":["r-lidar/lasr"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/r-lidar/lasR","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lidar","download_url":"https://codeload.github.com/r-lidar/lasR/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2FlasR/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28122839,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-29T02:00:07.021Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"},"owner_record":{"login":"r-lidar","name":"R lidar","uuid":"93974705","kind":"organization","description":"R + lidar","email":null,"website":"https://github.com/r-lidar","location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/93974705?v=4","repositories_count":5,"last_synced_at":"2023-03-05T21:37:51.016Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/r-lidar","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2022-11-15T23:18:51.790Z","updated_at":"2023-03-05T21:37:51.025Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lidar","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r-lidar/repositories"},"tags":[]},"repo_metadata_updated_at":"2026-03-05T20:21:21.708Z","dependent_packages_count":0,"downloads":209,"downloads_period":"last-month","dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":48.18872138775042,"dependent_packages_count":8.525446914942126,"stargazers_count":12.374708871335464,"forks_count":16.670989796503452,"docker_downloads_count":null,"average":21.439966742632866},"purl":"pkg:pypi/pylasr","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/pylasr","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/pypi/pylasr","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/pylasr/dependencies","status":null,"funding_links":["https://github.com/sponsors/Jean-Romain"],"critical":null,"issue_metadata":{"last_synced_at":"2025-12-28T02:01:18.024Z","issues_count":137,"pull_requests_count":33,"avg_time_to_close_issue":871416.8282828283,"avg_time_to_close_pull_request":403341.14814814815,"issues_closed_count":99,"pull_requests_closed_count":27,"pull_request_authors_count":3,"issue_authors_count":24,"avg_comments_per_issue":2.854014598540146,"avg_comments_per_pull_request":1.8484848484848484,"merged_pull_requests_count":25,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":59,"past_year_pull_requests_count":29,"past_year_avg_time_to_close_issue":481382.3611111111,"past_year_avg_time_to_close_pull_request":473335.26086956525,"past_year_issues_closed_count":36,"past_year_pull_requests_closed_count":23,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":14,"past_year_avg_comments_per_issue":3.23728813559322,"past_year_avg_comments_per_pull_request":2.0344827586206895,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":21,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2Flasr/issues","maintainers":[{"login":"Jean-Romain","count":36,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Jean-Romain"},{"login":"agrigoriev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agrigoriev"}],"active_maintainers":[{"login":"Jean-Romain","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Jean-Romain"},{"login":"agrigoriev","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agrigoriev"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pylasr/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pylasr/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pylasr/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pylasr/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pylasr/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/pylasr/codemeta","maintainers":[{"uuid":"ksemchh","login":"ksemchh","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/ksemchh/","role":null,"created_at":"2025-09-26T01:51:43.780Z","updated_at":"2025-09-26T01:51:43.780Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/ksemchh/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":864085,"maintainers_count":369234,"namespaces_count":0,"keywords_count":280639,"github":"pypi","metadata":{"funded_packages_count":53810},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-05-13T05:09:37.527Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}}],"commits":{"id":1549034,"full_name":"r-lidar/lasr","default_branch":"main","total_commits":1057,"total_committers":4,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":264.25,"dds":0.07284768211920534,"past_year_total_commits":268,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":67.0,"past_year_dds":0.2798507462686567,"last_synced_at":"2026-05-12T23:27:33.409Z","last_synced_commit":"865d09f869de822b9870a7e10ffc5218c0f803e7","created_at":"2024-05-28T00:08:27.069Z","updated_at":"2026-05-12T23:27:28.039Z","committers":[{"name":"Jean-Romain","email":"jean-romain.roussel.1@ulaval.ca","login":"Jean-Romain","count":980},{"name":"ksemchh","email":"ksemchh@vk.com","login":"ksemchh","count":47},{"name":"Alex Grig","email":"alex@devake.com","login":"agrigoriev","count":29},{"name":"andreas kollert","email":"andreas.kollert@uibk.ac.at","login":null,"count":1}],"past_year_committers":[{"name":"Jean-Romain","email":"jean-romain.roussel.1@ulaval.ca","login":"Jean-Romain","count":193},{"name":"ksemchh","email":"ksemchh@vk.com","login":"ksemchh","count":46},{"name":"Alex Grig","email":"alex@devake.com","login":"agrigoriev","count":28},{"name":"andreas kollert","email":"andreas.kollert@uibk.ac.at","login":null,"count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2Flasr/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-13T00:00:10.629Z","repositories_count":6233772,"commits_count":894148613,"contributors_count":34889637,"owners_count":1152584,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues_stats":{"full_name":"r-lidar/lasr","html_url":"https://github.com/r-lidar/lasr","last_synced_at":"2026-05-13T20:04:48.519Z","status":"active","issues_count":147,"pull_requests_count":50,"avg_time_to_close_issue":904768.1698113207,"avg_time_to_close_pull_request":323906.9210526316,"issues_closed_count":106,"pull_requests_closed_count":38,"pull_request_authors_count":3,"issue_authors_count":26,"avg_comments_per_issue":3.129251700680272,"avg_comments_per_pull_request":2.22,"merged_pull_requests_count":34,"bot_issues_count":0,"bot_pull_requests_count":0,"past_year_issues_count":58,"past_year_pull_requests_count":41,"past_year_avg_time_to_close_issue":699743.6388888889,"past_year_avg_time_to_close_pull_request":403742.8965517241,"past_year_issues_closed_count":36,"past_year_pull_requests_closed_count":29,"past_year_pull_request_authors_count":3,"past_year_issue_authors_count":9,"past_year_avg_comments_per_issue":3.7758620689655173,"past_year_avg_comments_per_pull_request":1.9268292682926829,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":26,"created_at":"2024-05-28T00:08:36.639Z","updated_at":"2026-05-13T20:04:48.519Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2Flasr","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/r-lidar%2Flasr/issues","issue_labels_count":{"bug":40,"Feature request":15,"enhancement":14,"documentation":8,"question":7,"multithreading":3,"devel":3,"Python":3,"wontfix":1},"pull_request_labels_count":{},"issue_author_associations_count":{"NONE":115,"COLLABORATOR":30,"CONTRIBUTOR":2},"pull_request_author_associations_count":{"COLLABORATOR":36,"CONTRIBUTOR":11,"NONE":3},"issue_authors":{"wiesehahn":69,"Jean-Romain":28,"FevetS":6,"jmmonnet":4,"kalinowskapatrycja":4,"eikeschott":4,"georgewoolsey":4,"summitbri":3,"samuelgrubinger":3,"agrigoriev":2,"FloFranz":2,"ksemchh":2,"kadyb":2,"harryseely":2,"Prakash-Basnet":1,"JakubCha":1,"JohnKilbride":1,"liamirwin":1,"ygc2l":1,"wildintellect":1,"ColinPSweeney":1,"lefsky":1,"robmusktppl":1,"cedricr":1,"danielrode":1,"kjtheron":1},"pull_request_authors":{"agrigoriev":28,"ksemchh":11,"Jean-Romain":11},"host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-05-15T00:00:53.591Z","repositories_count":14606319,"issues_count":34196153,"pull_requests_count":111971963,"authors_count":11263262,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"},"past_year_issue_labels_count":{"bug":14,"Feature request":7,"question":5,"enhancement":4,"Python":3,"documentation":2},"past_year_pull_request_labels_count":{},"past_year_issue_author_associations_count":{"NONE":43,"COLLABORATOR":13,"CONTRIBUTOR":2},"past_year_pull_request_author_associations_count":{"COLLABORATOR":32,"CONTRIBUTOR":9},"past_year_issue_authors":{"wiesehahn":29,"Jean-Romain":11,"FevetS":6,"eikeschott":4,"agrigoriev":2,"ksemchh":2,"samuelgrubinger":2,"ColinPSweeney":1,"Prakash-Basnet":1},"past_year_pull_request_authors":{"agrigoriev":25,"ksemchh":9,"Jean-Romain":7},"maintainers":[{"login":"Jean-Romain","count":39,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Jean-Romain"},{"login":"agrigoriev","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agrigoriev"}],"active_maintainers":[{"login":"agrigoriev","count":27,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/agrigoriev"},{"login":"Jean-Romain","count":18,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/Jean-Romain"}]},"events":{"total":{"DeleteEvent":7,"MemberEvent":1,"PullRequestEvent":40,"ForkEvent":7,"DiscussionEvent":6,"IssuesEvent":111,"WatchEvent":42,"IssueCommentEvent":292,"PublicEvent":1,"PushEvent":319,"PullRequestReviewEvent":55,"PullRequestReviewCommentEvent":61,"CreateEvent":22,"CommitCommentEvent":1},"last_year":{"DeleteEvent":7,"PullRequestEvent":31,"ForkEvent":4,"DiscussionEvent":6,"IssuesEvent":78,"WatchEvent":15,"IssueCommentEvent":196,"PushEvent":203,"PullRequestReviewEvent":55,"PullRequestReviewCommentEvent":61,"CreateEvent":22,"CommitCommentEvent":1}},"keywords":[],"dependencies":[{"ecosystem":"actions","filepath":".github/workflows/R-CMD-check.yaml","sha":null,"kind":"manifest","created_at":"2023-12-06T04:39:19.067Z","updated_at":"2023-12-06T04:39:19.067Z","repository_link":"https://github.com/r-lidar/lasR/blob/main/.github/workflows/R-CMD-check.yaml","dependencies":[{"id":14929050828,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14929050829,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14929050830,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14929050831,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14929050832,"package_name":"r-lib/actions/check-r-package","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/pkgdown.yml","sha":null,"kind":"manifest","created_at":"2023-12-06T04:39:19.092Z","updated_at":"2023-12-06T04:39:19.092Z","repository_link":"https://github.com/r-lidar/lasR/blob/main/.github/workflows/pkgdown.yml","dependencies":[{"id":14929050850,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v4","direct":true,"kind":"composite","optional":false},{"id":14929050851,"package_name":"r-lib/actions/setup-pandoc","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14929050852,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14929050853,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14929050854,"package_name":"JamesIves/github-pages-deploy-action","ecosystem":"actions","requirements":"v4.4.1","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/test-coverage.yaml","sha":null,"kind":"manifest","created_at":"2023-12-06T04:39:19.116Z","updated_at":"2023-12-06T04:39:19.116Z","repository_link":"https://github.com/r-lidar/lasR/blob/main/.github/workflows/test-coverage.yaml","dependencies":[{"id":14929050870,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":14929050871,"package_name":"r-lib/actions/setup-r","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14929050872,"package_name":"r-lib/actions/setup-r-dependencies","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":14929050873,"package_name":"actions/upload-artifact","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"cran","filepath":"DESCRIPTION","sha":null,"kind":"manifest","created_at":"2023-12-06T04:39:19.135Z","updated_at":"2023-12-06T04:39:19.135Z","repository_link":"https://github.com/r-lidar/lasR/blob/main/DESCRIPTION","dependencies":[{"id":14929050890,"package_name":"R","ecosystem":"cran","requirements":"\u003e= 3.6.0","direct":true,"kind":"depends","optional":false},{"id":14929050891,"package_name":"methods","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":14929050892,"package_name":"utils","ecosystem":"cran","requirements":"*","direct":true,"kind":"imports","optional":false},{"id":14929050893,"package_name":"knitr","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":14929050894,"package_name":"rmarkdown","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":14929050895,"package_name":"sf","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":14929050896,"package_name":"terra","ecosystem":"cran","requirements":"*","direct":true,"kind":"suggests","optional":false},{"id":14929053142,"package_name":"testthat","ecosystem":"cran","requirements":"\u003e= 3.0.0","direct":true,"kind":"suggests","optional":false}]}],"score":11.276696674107363,"created_at":"2024-05-28T00:08:24.464Z","updated_at":"2026-05-17T22:07:39.599Z","avatar_url":"https://github.com/r-lidar.png","language":"C++","category":"Biosphere","sub_category":"Forest Remote Sensing","monthly_downloads":209,"total_dependent_repos":0,"total_dependent_packages":0,"readme":"lasR \u003cimg src=\"https://github.com/r-lidar/lasR/blob/main/man/figures/lasR200x231.png?raw=true\" align=\"right\"/\u003e\n======================================================================================================\n\n![license](https://img.shields.io/badge/Licence-GPL--3-blue.svg)\n![Lifecycle:Maturing](https://img.shields.io/badge/Lifecycle-Maturing-339999)\n[![R-CMD-check](https://github.com/r-lidar/lasR/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/r-lidar/lasR/actions/workflows/R-CMD-check.yaml)\n[![Codecov test coverage](https://codecov.io/gh/r-lidar/lasR/branch/main/graph/badge.svg)](https://app.codecov.io/gh/r-lidar/lasR?branch=main)\n\n**Fast Airborne LiDAR Data Processing**\n\nThe `lasr` library (pronounced \"laser\") is a C++ library for large scale airborne point cloud processing with C++, R an Python APIs. It enables the creation and execution of **complex processing pipelines** on massive lidar data. It can read and write `.las`, `.laz`, `.copc.laz` (local and remote storage) and `.pcd` files, compute metrics using an area-based approach, generate digital canopy models, segment individual trees, decimate point data, and process collections of files using multicore processing strategies. \n\n`lasr` offers a range of tools to process massive volumes of lidar data efficiently in a production environment using either the `C++` API, the R API (`lasR` package) or the Python API (`pylasr` package).\n\n💵 [Sponsor `lasr`](https://github.com/sponsors/Jean-Romain). It is free and open source, but requires time and effort to develop and maintain.\n\n## Documentation\n\n- 📖 Start with the [tutorial](https://r-lidar.github.io/lasR/articles/tutorial.html) to learn how to use `lasR` in R.\n- 🐍 For Python users, see the [Python documentation](https://github.com/r-lidar/lasR/tree/main/python) and [examples](https://github.com/r-lidar/lasR/tree/main/python/examples).\n\nThe most comprehensive source of documentation is the [R package `lasR` documentation](https://r-lidar.github.io/lasR/),  \nas `lasr` is primarily an R package. Even Python users should start with the [R tutorial](https://r-lidar.github.io/lasR/), while the examples are written in R, the tutorial is more about the general concepts than about coding.\n\n## APIs\n### R API\n\nThere is no current plan to release `lasR` on CRAN. Instead, it is hosted on `r-universe`:\n\n```r\ninstall.packages('lasR', repos = 'https://r-lidar.r-universe.dev')\n```\n\nSince `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.\n\n```r\nlibrary(lasR)\n#\u003e lasR 0.1.3 is now available. You are using 0.1.1\n#\u003e install.packages('lasR', repos = 'https://r-lidar.r-universe.dev')\n```\n\n### Python API\n\n`pylasr` is the Python API for `lasr`, providing a clean, Pythonic interface to the high-performance C++ library for processing large-scale LiDAR point clouds.\n\nPrerequisites\n\n- Python 3.9+\n- C++17 compatible compiler\n- GDAL (\u003e= 2.2.3), GEOS (\u003e= 3.4.0), PROJ (\u003e= 4.9.3)\n\nBuild from source\n\n```bash\ngit clone https://github.com/r-lidar/lasR.git\ncd lasR/python\npip install -e .\n```\n\nPre-built packages will be available on PyPI in the future. For now, please build from source.\n\n### C++ API\n\nTo use `lasr` in a C++ program, it must be linked to `gdal` and `proj`. Other dependencies are provided in the `vendor` directory. Tools available to the public are given in [`api.h`](https://github.com/r-lidar/lasR/blob/main/src/LASRapi/api.h).\n\n## Examples\n\nBelow is a simple example of a pipeline that classifies and removed outliers before to produce a Digital Surface Model and a Digital Terrain Model from a folder containing airborne LiDAR point clouds. For more examples see the  [tutorial](https://r-lidar.github.io/lasR/articles/tutorial.html).\n\n### R\n\n```r\nlibrary(lasR)\nfolder = \"/folder/of/laz/tiles/\"\npipeline = classify_with_sor() + delete_noise() + chm(1) + dtm(1)\nexec(pipeline, on = folder, ncores = 16, progress = TRUE)\n```\n\n### Python\n\n```py\nimport pylasr\nfolder = \"/folder/of/laz/tiles/\"\npipeline = (pylasr.classify_with_sor() + \n            pylasr.delete_points([\"Classification == 18\"]) + \n            pylasr.dsm(1, \"dsm.tif\") + \n            pylasr.dtm(1, \"dtm.tif\"))\n\npipeline.set_progress(True)\npipeline.set_concurrent_files_strategy(16)\nresult = pipeline.execute(folder)\n```\n\n### C++\n\nThe C++ API is significantly more complex to use. The R and Python APIs aim to provide high-level interfaces in high-level languages, making usages simpler and more user-friendly. The low-level C++ API was never intended for standalone use; instead, it serves as a bridge for building other high-level APIs.\n\n```cpp\n#include \"api.h\"\n\nusing namespace api;\n\nstd::string on = \"/folder/of/laz/tiles/\"\n\n// platform independent tmp files\nstd::filesystem::path temp_dir = std::filesystem::temp_directory_path();\nstd::filesystem::path temp_dsm = temp_dir / \"dsm.tif\";\nstd::filesystem::path temp_dtm = temp_dir / \"dtm.tif\";\n\nPipeline tri = triangulate(0, {\"Classification %in% 2 9\"});\nPipeline dtm = rasterize_triangulation(tri.get_stages().front().get_uid(), 1, temp_dtm.string());\n\nPipeline p;\np += classify_with_sor();\np += delete_points({\"Classification == 18\"});\np += rasterize(1, 1, {\"max\"}, {\"\"}, temp_dsm.string());\np += tri;\np += dtm;\n\np.set_files(on);\np.set_concurrent_files_strategy(8);\np.set_progress(false);\n\nstd::string file = p.write_json();\n\nreturn execute(file);\n```\n\n## Main Differences with `lidR`\n\nThe following benchmark compares the time and RAM usage of `lasR` (R API) 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](https://r-lidar.github.io/lasR/articles/benchmarks.html).\n\n\u003cimg src=\"man/figures/readme_benchmark.png\" style=\"display: block; margin: auto;\" /\u003e\n\n- **Pipelines**: `lasR` introduces pipelines to optimally chain multiple operations on a point cloud, a feature not available in `lidR`.\n- **Algorithm Efficiency**: `lasR` uses more powerful algorithms designed for speed and efficiency.\n- **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.\n- **Memory Usage**: Unlike `lidR`, which loads the point cloud into an R `data.frame`, `lasR` stores point clouds in a C++ structure that is not exposed to the user, minimizing memory usage.\n- **Dependencies**: `lasR` has a single strong dependency on `gdal`. If `sf` and `terra` are installed, the user experience is enhanced, but they are not mandatory.\n\nFor more details, see the relevant [vignette](https://r-lidar.github.io/lasR/articles/why.html#main-differences-between-lasr-and-lidr).\n\n## Copyright Information\n\n`lasr` is free and open source and relies on other free and open source tools.\n\n- For `lasr`:\n  - © 2023-2025 Jean-Romain Roussel\n  - Licence: GPL-3\n- For `lasR` (R bindings):\n  - © 2023-2025 Jean-Romain Roussel\n  - Licence: GPL-3\n- For `pylasr` (Python bindings):\n  - © 2025 Alexey Grigoryev\n  - Licence: GPL-3\n- For `LASlib` and `LASzip`:\n  - © 2007-2021 Martin Isenburg - \u003chttp://rapidlasso.com\u003e\n  - Licence: LGPL  (modified to be R-compliant by Jean-Romain Roussel)\n  - See the dedicated readme for more details about the modifications made and alternative linking.\n- For `chm_prep`:\n  - © 2008-2023 Benoît St-Onge - [Geophoton-inc/chm_prep](https://github.com/Geophoton-inc/chm_prep)\n  - Licence: GPL-3\n- For `json` parser:\n  - Lohmann, N. (2023). JSON for Modern C++ (Version 3.11.3) [Computer software]. https://github.com/nlohmann\n  - Licence: MIT\n- For `delaunator`:\n  - © 2018 Volodymyr Bilonenko. [delfrrr/delaunator-cpp](https://github.com/delfrrr/delaunator-cpp)\n  - Licence: MIT\n- For `Eigen`:\n  - Guennebaud, Gaël and Jacob, Benoît and others\n  - Eigen: A C++ linear algebra library http://eigen.tuxfamily.org\n  - Licence: MPL2\n- For `Cloth Simulation Filter (CSF)`\n  - © 2017 State Key Laboratory of Remote Sensing Science, Institute of Remote Sensing Science and Engineering, Beijing Normal University\n  - Licence: Apache\n  - 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.\n- For `Incremental Delaunay`\n  - © 2020 Heinich Porro [hporro/IncrementalDelaunay](https://github.com/hporro/IncrementalDelaunay)\n  - Licence: MIT\n  - With important revisions and improvements by Jean-Romain Roussel.\n- For `nanoflann`\n  - Copyright 2008-2009  Marius Muja (mariusm@cs.ubc.ca). All rights reserved.\n  - Copyright 2008-2009  David G. Lowe (lowe@cs.ubc.ca). All rights reserved.\n  - Copyright 2011 Jose L. Blanco (joseluisblancoc@gmail.com). All rights reserved.\n  - Licence: BSD\n\n## About\n\n`lasr` is developed openly by [r-lidar](https://www.r-lidar.com/).\n\nThe initial development of `lasr` was made possible through the financial support of [Laval University](https://www.ulaval.ca/en). To continue the development of this free software, we now offer consulting, programming, and training services. For more information, please visit [our website](https://www.r-lidar.com/).\n\n## Install dependencies on GNU/Linux\n\n```\nsudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable\nsudo apt-get update\nsudo apt-get install libgdal-dev libgeos-dev libproj-dev\n```\n\n","funding_links":["https://github.com/sponsors/Jean-Romain"],"readme_doi_urls":[],"works":{},"citation_counts":{},"total_citations":0,"keywords_from_contributors":[],"project_url":"https://ost.ecosyste.ms/api/v1/projects/193468","html_url":"https://ost.ecosyste.ms/projects/193468"}