Skip to content

BUILD_POTREE

Generates a Potree-compatible point cloud tileset from a LAS/LAZ dataset. The step first normalizes the input dataset using PDAL to ensure a valid bounding box and consistent LAS structure. The corrected dataset is then processed using PotreeConverter, producing a hierarchical octree tileset optimized for interactive visualization in Potree-based viewers.

Typical use: publishing LiDAR datasets for browser-based visualization using Potree or Potree-derived web viewers.


Contract

TypeBUILD_POTREE
Acceptsinput_las: las
Producesoutput_potree: potree
Paramsnone

Inputs

SlotTypeDescription
input_laslasSource point cloud dataset

Outputs

SlotTypeDescription
output_potreepotreePotree tileset directory

The Potree output is a directory containing metadata.json, octree.bin, hierarchy.bin, and related files.


What it does internally

1. Normalize the input dataset

Before running PotreeConverter, the workflow runs:

pdal translate input.las fixed.las

This normalizes the LAS structure, repairs bounding box issues, and prevents PotreeConverter crashes on malformed files. This preprocessing step is important — PotreeConverter can fail on certain raw LAS files that PDAL handles gracefully.

2. Run PotreeConverter

PotreeConverter fixed.las -o tileset

Produces a hierarchical octree tileset with all necessary metadata and binary octree structures required by Potree clients.

3. Upload and return

The entire tileset directory is uploaded to MinIO and returned as the output_potree artifact.


Recipe usage

json
{
  "id": "build_potree",
  "type": "BUILD_POTREE",
  "inputs":  { "input_las": "job:input_las" },
  "outputs": { "output_potree": "step:build_potree.output_potree" }
}

Artifact storage path

artifacts/job_{id}/build_potree/

  • BUILD_COPC — COPC format, better for streaming/analytics
  • BUILD_EPT — EPT format, better for Cesium / large datasets