Thanks to visit codestin.com
Credit goes to lib.rs

#point-cloud #lidar #lepcc #i3s

sys lepcc-ffi

Safe Rust bindings for the Esri LEPCC point-cloud compression library (XYZ, RGB, Intensity, FlagBytes)

2 releases

Uses new Rust 2024

0.1.1 Mar 18, 2026
0.1.0 Mar 18, 2026

#631 in Compression

Apache-2.0

155KB
3.5K SLoC

Codestin Search App Codestin Search App

lepcc-ffi

Rust bindings for Esri's LEPCC (Limited Error Point Cloud Compression) library.

LEPCC is the codec behind I3S PointCloud layers. When you fetch a geometry or attribute blob from a lepcc-xyz, lepcc-rgb, or lepcc-intensity resource, this is what decodes it.

Usage

use lepcc_ffi::Context;

// XYZ positions
let ctx = Context::new();
let points: Vec<[f64; 3]> = ctx.decode_xyz(&blob)?;

// RGB colors
let ctx = Context::new();
let colors: Vec<[u8; 3]> = ctx.decode_rgb(&blob)?;

// Intensity
let ctx = Context::new();
let intensity: Vec<u16> = ctx.decode_intensity(&blob)?;

The Context handles the underlying C allocation and frees it on drop.

Building

The crate compiles the LEPCC C++ sources directly via the cc crate, so you just need a C++ compiler on your PATH — no separate install of the LEPCC library required.

git clone --recurse-submodules https://github.com/calebbuffa/lepcc-rs
cd lepcc-rs
cargo build

License

Apache-2.0 — same as the bundled LEPCC library. See extern/lepcc/LICENSE.TXT.

Dependencies

~110–700KB
~15K SLoC