Showcasing GoTiler v3: a fast, feature-rich, out-of-core tiler from point clouds to compressed 3D Tiles

Hi everyone,

I have just released the v3 version of GoTiler (some of you might know it as gocesiumtiler, I’ve just renamed it), the command-line tool and library I’ve been maintaining for a few years to turn point clouds into 3D Tiles for viewers like CesiumJS.

It’s a big update with many useful changes so I wanted to share it here.

Main Features:

  1. Fast and out-of-core: Brand new engine, uses every CPU core and fast NVMe drives, and tiles billion-point clouds without running out of RAM at over 4M pts/sec depending on the available hardware and input formats.
  2. Compressed tiles by default: 3D Tiles 1.1 output is compressed by default using EXT_meshopt_compression (or optionally the newer KHR_meshopt_compression) and KHR_mesh_quantization, cutting tileset size by even 70% or more.
  3. LAS, LAZ and E57 input: every LAS/LAZ version (1.0–1.4) and point format, plus E57 scans.
  4. Automatic reprojection: reads the CRS from LAS GeoTIFF or WKT metadata and transforms coordinates with the embedded PROJ library. Ungeoreferenced clouds can be still processed and placed on the globe manually.
  5. 3D Tiles 1.0 and 1.1: .pnts or glTF (.glb) tiles, optionally packed into a single .3tz archive.
  6. Uniform tiles, one setting: set --points-per-tile and the cloud is split into tiles of about that size for a uniform tile size. Geometric error and ADD/REPLACE refinement can be tuned.
  7. Per-point attributes: export intensity, classification, GPS time, LAS extra bytes or any other attribute of the input cloud.
  8. Colorization: color points by any attribute or coordinate with 36 color ramps and gradient controls, or directly from an RGB GeoTIFF orthophoto.
  9. Subsampling and merging: thin out huge clouds while tiling, or merge a folder of files into one tileset.
  10. Self-contained: one executable plus its bundled PROJ data, with live progress bars. No runtime, shared library, Docker or other tools to install.

…and more! please checkout the GitHub page for a full list.

Demo
You can preview some tilesets generated with it here, including the classified Helsinki dataset and a 350M-point scan of Melbourne: Gocesiumtiler demo

gotiler-cli-preview-gif
15.9M points from a thinned Helsinki dataset tiled in 3.7 seconds on an Intel Core i5-13600K with a Samsung 980 PRO NVMe SSD. This is just a quick preview: the tool scales to billions of points.

Getting started:
Prebuilt binaries for v3 are available for Windows x64, Linux x64 and now Linux ARM64: a single executable plus its PROJ data folder, nothing to install. You can download GoTiler from the Releases page of GitHub.

Usage is as simple as:

gotiler -o ./out ./input.laz

GitHub

Feedback is very welcome, in particular if you notice any issue or you have any suggestion please open an issue on GitHub.