Skip to content

tum-gis/etiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

etiles

A Rust library and CLI tool for processing 3D Tiles data.

Early stage of development. Developed at the TUM Chair of Geoinformatics. Contributions welcome.

Features:

  • Converts point clouds to 3D Tiles 1.1 using octree spatial indexing
  • Supports LAS, LAZ, E57, XYZ, and XYZ+Zstandard input formats
  • Reprojects from any EPSG coordinate system to ECEF (EPSG:4978) using PROJ
  • Encodes RGB colors from input point clouds into GLB tiles
  • Outputs implicit tiling subtrees for efficient streaming

etiles-cli

A command-line tool for converting point clouds to 3D Tiles.

Installation

Download pre-built executables for your platform from the release page.

On macOS, you need to remove the quarantine attribute after downloading:

xattr -d com.apple.quarantine ./etiles-cli

Docker:

docker pull ghcr.io/tum-gis/etiles-cli

From source:

cargo install [email protected] # replace with the latest version

Usage

etiles-cli convert-point-cloud \
  --input-path /path/to/pointcloud.las \
  --output-path /path/to/output.tar \
  --source-crs 25832

For a full list of options:

etiles-cli convert-point-cloud --help

Convert an entire directory of point cloud files:

etiles-cli convert-point-cloud \
  --input-path /path/to/point_clouds/ \
  --output-path /path/to/output.tar \
  --source-crs 25832

Docker:

docker run --rm \
  -v /path/to/data:/data \
  ghcr.io/tum-gis/etiles-cli \
  convert-point-cloud \
  --input-path /data/pointcloud.las \
  --output-path /data/output.tar \
  --source-crs 25832

Options

Option Default Description
--input-path Path to a point cloud file or directory
--output-path Output .tar archive path
--source-crs EPSG code of the input coordinate system
--maximum-points-per-octant 100000 Maximum points per octree node
--no-shuffle Disable random shuffling of points before conversion
--seed 1 Seed for reproducible shuffling

Supported input formats

Format Extension
LAS .las
LAZ .laz
E57 .e57
XYZ .xyz
XYZ + Zstandard .xyz.zst

Output format

Both the CLI and library produce a TAR archive containing:

  • tileset.json — root 3D Tiles 1.1 document with implicit tiling metadata
  • content/content_{level}_{x}_{y}_{z}.glb — binary glTF tiles with point positions and colors
  • subtrees/{level}.{x}.{y}.{z}.subtree — implicit tiling subtree availability metadata

The single-file archive simplifies transfer and can be extracted on the target machine.


etiles (library)

A Rust library for integrating 3D Tiles generation into your own application.

Installation

[dependencies]
etiles = "0.0.2-alpha.1" # replace with the latest version

License

Licensed under either of MIT or Apache-2.0 at your option.

About

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors