#point-cloud #lidar #las #copc

copc-rs

Cloud Optimized Point Cloud (COPC) reader

3 releases (breaking)

0.3.0 Aug 31, 2023
0.2.0 Oct 21, 2022
0.1.0 Aug 10, 2022

#148 in Data formats

MIT/Apache

53KB
903 lines

copc-rs

crates.io version docs.rs docs

copc-rs is a library for reading Cloud Optimized Point Cloud (COPC) data.

Usage example

let laz_file = BufReader::new(File::open("autzen-classified.copc.laz")?);
let mut copc_reader = CopcReader::open(laz_file)?;
for point in copc_reader.points(LodSelection::Level(0), BoundsSelection::All)?.take(5) {
    println!("Point coordinates: ({}, {}, {})", point.x, point.y, point.z);
}

Run an example:

cargo run --example copc_http

Credits

This library depends heavily on the work of Thomas Montaigu (@tmontaigu) and Pete Gadomski (@gadomski).


lib.rs:

Library for reading Cloud Optimized Point Cloud (COPC) data.

Usage example:

use copc_rs::{BoundsSelection, CopcReader, LodSelection};

fn main() -> laz::Result<()> {
    let laz_file = BufReader::new(File::open("autzen-classified.copc.laz")?);
    let mut copc_reader = CopcReader::open(laz_file)?;
    for point in copc_reader
        .points(LodSelection::Level(0), BoundsSelection::All)
        .unwrap()
    {
        println!("{}, {}, {}", point.x, point.y, point.z);
    }
    Ok(())
}

Dependencies

~2.2–3MB
~56K SLoC