2026/09/02 –, Conference Management Room3
point-tiler is a Rust CLI that converts massive LAS/LAZ point clouds into modern 3D Tiles (v1.1) via a glTF/GLB-centric workflow. This session covers city-scale reliability: LAZ-first I/O, coordinate/axis handling, external sorting beyond RAM, and practical compression choices.
In theory, converting point cloud data to 3D Tiles is a "simple" task. You choose a tool, select your LAS files, and run it. However, in practice, pipelines often grind to a halt due to subtle yet troublesome issues. Examples include Coordinate Reference Systems (CRS) or axis definitions that don't match the data, workflows that assume uncompressed LAS despite LAZ being the industry standard, and city-scale point cloud data that far exceeds available memory. Furthermore, conversion often takes several hours, and it is not uncommon for the resulting file count and size to be massive. A casual "just try re-running it" approach becomes a costly habit.
In this session, I will provide a deep, implementation-level explanation using "point-tiler"—a Rust-based CLI tool I developed and released to bring ease of automation to large-scale data conversion. We will examine the entire pipeline in detail: streaming reads of massive amounts of LAS/LAZ files, parallel decoding of LAZ, coordinate handling, spatial sorting for efficient tiling, and GLB-centric output compliant with the latest 3D Tiles 1.1 workflow.
We will also delve into how tile hierarchies are actually constructed. What processing is required to accurately calculate bounding volumes? How should we vary the target values for tile extent and density? We will explore how "conversion speed," "output size," and "visual aesthetics" interact with one another.
I will also explain "scaling beyond memory limits." In point-tiler, we adhere to user-defined memory limits and employ external sorting—a technique where sorted runs are offloaded to temporary storage and then merged—allowing for the processing of large datasets without manual partitioning. I will explain the factors that truly impact execution time in large-scale processing (disk I/O, memory bandwidth, temporary disk throughput), how to plan and manage temporary storage, and why simple parallelization can be counterproductive (I/O contention, allocator overhead, and cache impact).
Finally, I will compare this approach with common alternatives. I will also discuss output optimization, weighing compatibility against file size. Specifically, we will look at when KHR_mesh_quantization is effective, the value of introducing EXT_meshopt_compression, and the role of gzip in delivery via CDN.
Participants will gain concrete patterns for building reliable, large-scale data conversion tools, including I/O optimization, setting memory limits, estimating temporary storage size, selecting safe default values, and avoiding the pitfalls of parallel processing.
If you have experience using Point Tiler (the subject of this session) or other point cloud data processing tools such as py3dtiles and PDAL, it will be helpful for deepening your understanding.
・https://github.com/MIERUNE/point-tiler
・https://py3dtiles.org
・https://pdal.org/en/2.9.3
Point Tiler & CesiumJS
I make my conference contribution available under the CC BY 4.0 license. The conference contribution comprises the abstract, the text contribution for the conference proceedings, the presentation materials as well as the video recording and live transmission of the presentation:I serve as an Engineering Manager at MIERUNE Inc. While dedicating myself to raising two children as a father, I am involved in GIS and web development.
Areas of expertise and interest: Rust / WebGIS / Point Cloud / AWS / PLATEAU ADVOCATE / Cesium Certified Developer / Agentic Engineering