Stream Massive Cities Over the Web

Use Cesium ion to tile your CityGML or KML/COLLADA into 3D Tiles for efficient streaming on any device with CesiumJS.

As the creators of 3D Tiles, we leverage its full potential at every step in our pipeline to handle millions of textured buildings and features.

The Command Line Interface (CLI) is easy to integrate into any platform, including Linux, Windows, AWS, and Azure. It's built from the ground up for performance and optimized for the best visual experience and precision.

CityGML to 3D Tiles pipeline

Analyze Metadata with Interactive Styling

The Cesium ion pipeline preserves metadata from CityGML and KML/COLLADA. These become queryable and can be used to style 3D tilesets using the 3D Tiles Styling Language .

Once data is tiled, it's easier to do real-time analysis, from determining optimal solar installations to mapping the growth of cities over time.

Clamp Buildings to Terrain

Accurately clamping CityGML and KML/COLLADA datasets to the underlying terrain is crucial for applications such as city planning, flood modeling, and line of sight analysis.

Our terrain clamping algorithm finds the best fit to avoid artifacts such as floating or sunken buildings, even over steep slopes. You can be confident that what you're seeing corresponds to the ground truth.

Clamping buildings to terrain

We extend a skirt when necessary to accurately fix buildings to terrain.

Easy to Use

Cesium ion brings together all the algorithms needed to convert from raw datasets to an efficient tileset for streaming in an easy-to-use, configurable CLI that can be run with a single command.

High Performance

Computationally intensive steps are multithreaded, from the initial parsing to the terrain clamping and tiling, giving the pipeline a significant performance advantage. It scales up using all available CPU cores.

Out-of-core memory management handles any size dataset, even on lower-end hardware.

Geometry-Aware Compression

To optimize load times, geometry can be compressed using Google Draco; this compression is 3D topology-aware, yielding better compression ratios than general-purpose compression.

The NYC CityGML was compressed from 4 GB down to 215 MB.

Decoding in CesiumJS is fast, using WebAssembly and done in parallel with web workers.

Millions of Buildings

Massive CityGML and KML/COLLADA datasets composed of millions of buildings, trees, and features are optimized into 3D tilesets with varying levels of resolution, geometry and texture batching, and instancing for reduced CPU and GPU overhead.

This all saves bandwidth, improves performance, and minimizes memory usage so you can visualize massive cities even on a mobile device.

Adaptive Tiling

Cities come in all shapes and sizes, with sprawling suburbs and dense neighborhoods, which means there often isn't one optimal tile size.

Our pipeline computes non-uniform tiles that take into account geometry and texture distribution in the dataset, yielding a balanced tileset and going far beyond traditional uniform 2D tiling approaches to ensure efficient streaming.

Tiles can even overlap and fit around buildings instead of splitting them.

Pixel-Perfect Precision

We know the community uses Cesium to make real world decisions, and that's why precision is at the core of everything we do.

Cesium ion outputs a precise geometric error so you can be confident about the accuracy at each level of detail. The terrain clamping step makes no compromises with accuracy. We preserve the highest resolution data at the leaf tiles so nothing is lost.

Check out more technical details from our participation in the Open Geospatial Consortium Testbed 13.

Interested in trying it out?

Email Tim Rivenbark for a demo.

Technical Resources

Check out the full documentation for the on-premises 3D Tiling Pipeline.