PointClouds.jl

PointClouds.jl: Fast & flexible processing of lidar data - Published in JOSS (2025)

https://github.com/efpl-columbia/pointclouds.jl

Science Score: 96.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Academic email domains
  • Institutional organization owner
    Organization efpl-columbia has institutional domain (efpl.engineering.columbia.edu)
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

julia lidar point-cloud
Last synced: 6 months ago · JSON representation

Repository

Fast & flexible processing of lidar point-cloud data

Basic Info
Statistics
  • Stars: 6
  • Watchers: 2
  • Forks: 0
  • Open Issues: 6
  • Releases: 0
Topics
julia lidar point-cloud
Created about 2 years ago · Last pushed 7 months ago
Metadata Files
Readme License

README.md

PointClouds.jl

Fast & flexible processing of lidar data

PointClouds.jl lets you query publicly available lidar point-cloud datasets, download the data for regions of interest, and explore & process the data locally. You can access all attributes stored in LAS/LAZ files and construct purpose-built processing pipelines that extract information about the local environment from point-cloud data.

Features & Goals

Online Documentation

PointClouds.jl aims to provide all functionality for an ergonomic, high-performance workflow to acquire and process point-cloud data. The initial development is focused on producing robust primitives for such a workflow. Over time, we expect the functionality to expand, building out a comprehensive library of point-cloud processing algorithms similar to PDAL and lidR.

  • spatial queries of the USGS 3DEP lidar data with near-total coverage of the United States
  • reading & writing LAS/LAZ files (v1.0 – v1.4), including files that do not fit into memory
  • lazy filtering & updating of LAS/LAZ points
  • parsing LAS coordinate reference system (CRS) data in WKT & GeoTIFF formats; coordinate transforms
  • multi-threaded in-memory processing of point-cloud data, including neighborhood-based processing
  • rasterization of point-cloud data based on points within pixel footprint, points within radius of pixel center, and k nearest neighbors of pixel center

For more details, see the documentation.

Quickstart

To start using PointClouds.jl, add it to a Julia environment e.g. using the Pkg REPL:

julia-repl (@v1.10) pkg> add PointClouds

[!TIP] Since PointClouds.jl is rather new and under active development, backwards-incompatible changes may occur regularly. It is therefore recommended to add a specific version to your Julia environment (e.g. with Pkg.compat or Pkg.pin and to be careful when updating to new (non-patch) versions.

After that, the package can be loaded as usual:

julia-repl julia> using PointClouds

Use LAS(filename) to access the point data of an existing LAS/LAZ file:

julia-repl julia> pts = LAS("USGS_LPC_Sandy_Supplemental_NCR_VA_MD_DC_QL2_LiDAR_18SUJ322306.laz") 16,107,898-point LAZ (v1.2, PDRF 1, 01 Jun 2015) Source ID => 65535 Project ID => AEB2BAA1-2BEF-41FC-B9BB-BDA288E8D77B System ID => "" Software ID => "GeoCue LAS Updater" X-Coordinates => 322500.0 … 323999.99 Y-Coordinates => 4.3065e6 … 4.30799999e6 Z-Coordinates => -88.88 … 767.73 Return-Counts => [1 => 13,783,924, 2 => 1,993,048, 3 => 310,661, 4 => 19,622, 5 => 643] Extra Data => [0x00, 0x00, 0xdd, 0xcc] Variable-Length Records => LASF_Projection[34735] "GeoTiff Projection Keys" (200 bytes) => LASF_Projection[34736] "GeoTiff double parameters" (80 bytes) => LASF_Projection[34737] "GeoTiff ASCII parameters" (217 bytes)

Refer to the documentation to learn how to work with LAS/LAZ data, load point data from public datasets, and set up in-memory processing pipelines. Follow the tutorial for a more in-depth introduction.

Help & Contributing

If you run into a problem or would like to request a new feature, feel free to create a new issue after checking the list of open issues.

We also welcome contributions to the code, the tests, and the documentation – feel free to open a pull request. If you want to make sure your work fits within the plans and scope of PointClouds.jl, it might be best to first open an issue or draft PR to discuss the changes, especially when a significant amount of work is involved. The documentation contains some additional information for developing PointClouds.jl.

Attribution & License

JOSS Paper MIT License

A JOSS paper describes the motivation for PointClouds.jl and gives an overview of the functionality. Please cite this work if you use PointClouds.jl for your scientific publications.

PointClouds.jl is freely available under the terms of the MIT License.

Owner

  • Name: Environmental Flow Physics Lab
  • Login: efpl-columbia
  • Kind: organization
  • Location: New York, NY, USA

Dept. of Civil Engineering and Engineering Mechanics at Columbia University

JOSS Publication

PointClouds.jl: Fast & flexible processing of lidar data
Published
July 08, 2025
Volume 10, Issue 111, Page 7952
Authors
Manuel F. Schmid ORCID
Columbia University, New York, NY, USA
Jeffrey D. Massey
Amazon, Seattle, WA, USA
Marco G. Giometto ORCID
Columbia University, New York, NY, USA, Amazon, Seattle, WA, USA
Editor
Kristen Thyng ORCID
Tags
point clouds lidar remote sensing julia

GitHub Events

Total
  • Create event: 4
  • Commit comment event: 6
  • Issues event: 4
  • Watch event: 5
  • Issue comment event: 8
  • Push event: 22
Last Year
  • Create event: 4
  • Commit comment event: 6
  • Issues event: 4
  • Watch event: 5
  • Issue comment event: 8
  • Push event: 22

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 8
  • Total pull requests: 0
  • Average time to close issues: 26 days
  • Average time to close pull requests: N/A
  • Total issue authors: 3
  • Total pull request authors: 0
  • Average comments per issue: 2.25
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 5
  • Pull requests: 0
  • Average time to close issues: 5 days
  • Average time to close pull requests: N/A
  • Issue authors: 2
  • Pull request authors: 0
  • Average comments per issue: 2.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mfsch (3)
  • evetion (3)
  • SimonDanisch (2)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • julia 22 total
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 7
juliahub.com: PointClouds

Fast & flexible processing of lidar point-cloud data

  • Versions: 7
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 22 Total
Rankings
Downloads: 2.4%
Dependent repos count: 3.2%
Average: 7.3%
Dependent packages count: 16.3%
Last synced: 6 months ago

Dependencies

.github/workflows/testing.yaml actions
  • actions/checkout v4 composite
  • extractions/setup-just v2 composite
  • julia-actions/cache v2 composite
  • julia-actions/setup-julia v2 composite