BUILD_COPC
Converts a LAS/LAZ point cloud into a COPC (Cloud Optimized Point Cloud) file using PDAL. The step reads the input point cloud and rewrites it using the COPC writer, producing a spatially indexed LAZ file optimized for streaming, random access, and web delivery.
COPC preserves all points and attributes from the original dataset but reorganizes the file into a hierarchical octree structure that enables efficient partial reads. This format is commonly used for cloud-hosted point cloud visualization and analytics.
Typical use: preparing LiDAR datasets for web distribution, streaming point cloud systems, or analytics pipelines.
Contract
| Type | BUILD_COPC |
| Accepts | input_las: las |
| Produces | output_copc: las |
| Params | none |
Note: the output artifact type is las because COPC is a LAS-compatible format (a spatially indexed LAZ container).
Inputs
| Slot | Type | Description |
|---|---|---|
input_las | las | Source point cloud dataset |
Outputs
| Slot | Type | Description |
|---|---|---|
output_copc | las | COPC-encoded LAZ point cloud |
What it does internally
- Downloads the input LAS from MinIO
- Builds a PDAL pipeline using
writers.copcwith fixed coordinate scaling (scale_x/y/z = 0.001, auto offsets) - Runs the pipeline — all points and attributes are preserved
- Runs
pdal infoon the output to capture metadata (bounding box, point stats) into the artifact record - Uploads the output COPC file to MinIO and returns the artifact
Recipe usage
json
{
"id": "build_copc",
"type": "BUILD_COPC",
"inputs": { "input_las": "job:input_las" },
"outputs": { "output_copc": "step:build_copc.output_copc" }
}Artifact storage path
artifacts/job_{id}/build_copc/output.copc.lazRelated executors
BUILD_EPT— EPT format, better for Cesium / large datasetsBUILD_POTREE— Potree tileset format, better for Potree-based viewers