Repolode
MIERUNE

MIERUNE/point-tiler

A Rust CLI that converts LAS, LAZ and CSV point cloud data into 3D Tiles 1.1 with GLB output for Cesium.

Stars
92
Forks
15
Open issues
10
Last commit
19 days ago

What is it?

Point Tiler converts point cloud files in LAS, LAZ and CSV/TXT formats into 3D Tiles 1.1 tilesets. Unlike many open-source tilers that write the legacy .pnts format, it writes GLB files directly, and it can optionally apply KHR_mesh_quantization, EXT_meshopt_compression and GZIP to reduce output size.

Input coordinates are transformed with the built-in PROJ library, so any EPSG code can be used as input, with EPSG:4979 recommended for Cesium. Large datasets are handled by choosing between an in-memory and an external sort workflow based on a memory budget, so files do not need to be split manually. Extra per-point attributes such as classification and intensity can be embedded as GLB metadata.

The tool is built in Rust and uses Rayon for parallel processing. Windows is not supported by the install script, though it can be built with Cargo.

Key features

  • 01Converts LAS, LAZ, CSV and TXT point clouds to 3D Tiles 1.1 with GLB output
  • 02Optional quantization, meshopt compression and GZIP for smaller tiles
  • 03Parallel LAZ decoding and Rayon-based multithreaded processing
  • 04External sort workflow for datasets larger than the memory budget
  • 05Coordinate transformation to any EPSG code via PROJ
  • 06Optional embedding of extra point attributes as GLB metadata

Use cases

  • Publishing large aerial or LiDAR scans as streamable 3D Tiles for CesiumJS
  • Preparing LAZ survey data for web visualization without splitting files manually
  • Converting CSV point exports with x, y, z and color columns into tiles

Quick start

  1. 1

    Run the official install script from the README

  2. 2

    Install Rust, then download the repository (developer route)

  3. 3

    Run the example conversion with ptiler

    ptiler --input app/examples/data/sample.las \ --output app/examples/data/output \ --input-epsg 6677 \ --output-epsg 4979 \ --min 15 \ --max 18 \ --max-memory-mb 8192 \ --threads 8 \ --quantize \ --meshopt \ --gzip-compress \ --extra-fields classification,intensity

Things to know

  • The install script is not available on Windows; Windows users must build with Cargo.

Topics

#3d-tiles#point-cloud#cesium#lidar#gis#rust#geospatial#cesiumjs#pointcloud

FAQ

What is point-tiler?
A Rust CLI that converts LAS, LAZ and CSV point cloud data into 3D Tiles 1.1 with GLB output for Cesium. Point Tiler converts point cloud files in LAS, LAZ and CSV/TXT formats into 3D Tiles 1.1 tilesets. Unlike many open-source tilers that write the legacy .pnts format, it writes GLB files directly, and it can optionally apply KHR_mesh_quantization, EXT_meshopt_compression and GZIP to reduce output size.
Is point-tiler free to use? What license does it have?
point-tiler is open source under the MIT license. Check the license terms before using it in commercial products.
Is point-tiler still maintained?
Actively maintained. The last commit to point-tiler was on Oct 18, 2026.
What can I use point-tiler for?
Publishing large aerial or LiDAR scans as streamable 3D Tiles for CesiumJS Preparing LAZ survey data for web visualization without splitting files manually Converting CSV point exports with x, y, z and color columns into tiles
How do I install point-tiler?
Run the official install script from the README Install Rust, then download the repository (developer route) Run the example conversion with ptiler: ptiler --input app/examples/data/sample.las \ --output app/examples/data/output \ --input-epsg 6677 \ --output-epsg 4979 \ --min 15 \ --max 18 \ --max-memory-mb 8192 \ --threads 8 \ --quantize \ --meshopt \ --gzip-compress \ --extra-fields classification,intensity
Where can I get point-tiler?
The source code and installation instructions are on GitHub: https://github.com/MIERUNE/point-tiler

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects