Skip to main content

Uber and Cesium Team to Expand the 3D Tiles Ecosystem

In collaboration with Uber, we’re excited to announce that you can now load 3D Tiles using loaders.gl (v1.3 release). This addition means that visualization and analysis engines, like the ones used at Uber, now support 3D Tiles and can stream massive 3D geospatial datasets—making 3D geospatial data more accessible and usable in many more platforms.

This support is critical with the ever increasing amount of 3D geospatial data being generated from autonomous cars, drones, and other sources—further expanding what you can do with it. We’re excited to team with Uber to build the foundations for the 3D Tiles ecosystem.

loaders.gl is an open source visualization tool and JavaScript library created by Uber that features loaders for big data visualization independent of the visualization API. With loaders.gl, software developers can quickly add open standards such as 3D Tiles and glTF to their engines and apps.

Uber has built an application to stream massive 3D point clouds using deck.gl for rendering, loaders.gl for loading 3D Tiles, and Cesium ion for tiling and serving 3D Tiles.

Uber application architecture with (1) deck.gl for visualization, (2) loaders.gl for API-agnostic 3D Tiles loading, and (3) Cesium ion for 3D tiling and hosting.

“The size of geospatial data sets are growing rapidly and are already several orders of magnitude bigger than what most current-generation open source visualization tools and frameworks can handle,” said lb Green of Uber. “3D Tiles helps us render massive point clouds and expand how we can visualize geospatial insights and, as a result, improve transportation experiences for Uber’s customers.”

Using 3D Tiles and deck.gl, Uber can render Melbourne, Australia’s 355 million data points and achieve an unprecedented level of geospatial detail. Visualization courtesy of Uber.

The 3D Tiles loader in loaders.gl does the heavy lifting of selecting which tiles in a 3D tileset should be loaded for a given view and then decoding those tiles by using loaders.gl’s glTF loader. This allows engines that want to support 3D Tiles to focus on mapping the loaders.gl data structures to their engine’s rendering data structures instead of having to write a complete 3D Tiles rendering engine from scratch.

Example application architecture showing how your engine can utilize loaders.gl and Cesium to easily, efficiently, and robustly support 3D Tiles.

With loaders.gl + Cesium ion, we want to make it as easy as possible for engines to adopt 3D Tiles. Cesium ion provides efficient 3D tiling algorithms for a variety of input formats via a REST API and UI and efficient serving via S3 and CloudFront. On the client side, optimized 3D tileset traversal is encapsulated in loaders.gl.

To get started, check out the massive 3D point cloud application built with deck.gl + loaders.gl + Cesium ion.