Expand description
Fast, memory-efficient converter from LAS/LAZ to COPC (Cloud-Optimized Point Cloud).
§Pipeline
The conversion pipeline is enforced at compile time via typestate:
use copc_converter::{Pipeline, PipelineConfig};
let config = PipelineConfig {
memory_budget: 12_884_901_888,
temp_dir: None,
temporal_index: false,
temporal_stride: 1000,
progress: None,
chunk_target_override: None,
temp_compression: copc_converter::TempCompression::None,
node_storage: copc_converter::NodeStorage::Files,
};
let files = copc_converter::collect_input_files("input.laz".into()).unwrap();
Pipeline::scan(&files, config).unwrap()
.validate().unwrap()
.distribute().unwrap()
.build().unwrap()
.write("output.copc.laz").unwrap();Structs§
- Built
- Pipeline stage: octree has been built with LOD thinning.
- Chunk
Plan - Re-exported chunk plan types so the binary can build a report from them.
Output of [
analyze_chunking]: the full chunk plan plus useful metadata about how it was computed. - Distributed
- Pipeline stage: points have been distributed to leaf voxels.
- Header
Bounds Mismatch - Re-exported chunk plan types so the binary can build a report from them. Per-axis differences between the LAS header bounds and the actual round-tripped point coordinates observed during counting.
- Pipeline
- Type-safe conversion pipeline. Each stage exposes only the next step.
- Pipeline
Config - Configuration for the conversion pipeline.
- Planned
Chunk - Re-exported chunk plan types so the binary can build a report from them. A single chunk in the plan: an octree voxel at some level, plus its estimated point count derived from the counting grid.
- Scanned
- Pipeline stage: input files have been scanned.
- Validated
- Pipeline stage: inputs have been validated.
Enums§
- Error
- Errors returned by the conversion pipeline.
- Node
Storage - Storage layout for per-node point data during the build stage.
- Progress
Event - Events emitted during pipeline execution.
- Temp
Compression - Compression codec for distribute-stage scratch files.
Traits§
- Progress
Observer - Observer for pipeline progress events. Implement this to receive callbacks.
Functions§
- collect_
input_ files - Expand a single input path into a list of LAZ/LAS files.
If
rawis a directory, all.laz/.lasfiles in it are returned (sorted). Ifrawis a file, it is returned as-is. - compute_
chunk_ target - Re-exported chunk plan types so the binary can build a report from them. Compute the dynamic chunk target size from the memory budget and worker count, applying clamping and a parallelism floor.
- select_
grid_ size - Re-exported chunk plan types so the binary can build a report from them. Pick the counting grid resolution based on total point count and the memory budget.
Type Aliases§
- Result
- Result type for the conversion pipeline.