Visualization 2 December 2024 13 min read

Building Digital Twin Cities: CesiumJS, deck.gl, and the 3D Tiles Revolution

Urban digital twins are becoming essential for city planning and infrastructure management. We examine the technology stack powering next-generation 3D city visualization.

Digital TwinCesiumJSdeck.gl3D TilesUrban Planning
Aerial view of a modern city skyline at dusk
Denys Nevozhai on Unsplash

Urban digital twins have evolved from research curiosity to municipal necessity. Cities worldwide are building 3D replicas of their infrastructure for planning, emergency response, and citizen engagement. At the core of these systems lies a technology stack that's become surprisingly standardized: CesiumJS, deck.gl, and the 3D Tiles specification.

What Is an Urban Digital Twin?

A digital twin goes beyond traditional 3D city models. While a static model might show building geometries, a true digital twin integrates real-time sensor data, simulation capabilities, and temporal analysis. It's not just what the city looks like, but how it behaves—traffic flows, energy consumption, air quality, flooding scenarios.

The practical value is in decision support. When a city considers a new development, a digital twin can simulate shadow impacts on neighbors, model traffic changes, estimate stormwater runoff, and visualize view corridors—all before ground is broken.

CesiumJS: The Global 3D Canvas

CesiumJS is the open-source JavaScript library that renders 3D globes and maps in the browser. Originally developed for aerospace visualization, it's become the de facto standard for high-fidelity geospatial 3D. Bentley Systems acquired Cesium in September 2024, signaling the technology's maturity for enterprise infrastructure.

Cesium ion fields over 300 million monthly requests from more than 30,000 active users. CesiumJS has been downloaded more than 10 million times, making it the most widely deployed 3D geospatial engine.
Bentley Systems Acquisition Announcement, 2024

What makes CesiumJS compelling for digital twins is its handling of global-scale data. The library manages terrain, buildings, and imagery across the entire Earth's surface with level-of-detail rendering that keeps performance consistent whether you're viewing a continent or a single building.

3D Tiles: The OGC Standard

3D Tiles is the OGC community standard for streaming massive heterogeneous 3D geospatial datasets. Think of it as the equivalent of vector tiles for 3D content—a hierarchical spatial data structure that enables efficient streaming and rendering.

3D Tiles Content Types

  • Batched 3D Models (b3dm) — Buildings and infrastructure with per-feature metadata
  • Instanced 3D Models (i3dm) — Repeated objects like trees, street furniture
  • Point Clouds (pnts) — LiDAR data with billions of points
  • Composite Tiles — Multiple content types in a single tile
  • Implicit Tiling — Octree/quadtree structures without explicit tile JSON

The key innovation is that 3D Tiles separates content from structure. You can swap out a building model without regenerating the entire tileset, attach real-time sensor data to features, and style content dynamically based on application state.

deck.gl: Data-Driven Visualization

While CesiumJS excels at photorealistic global visualization, deck.gl (developed by Uber's visualization team) takes a different approach—WebGL-powered, data-driven layers optimized for massive point datasets, flow maps, and analytical visualization.

With deck.gl 7.3, Uber added support for 3D Tiles, enabling hybrid applications that combine Cesium's terrain and building models with deck.gl's analytical layers. This is powerful for digital twins that need both realistic context and data overlay.

deck-gl-3dtiles.js
import { Tile3DLayer } from '@deck.gl/geo-layers';

const layer = new Tile3DLayer({
  id: 'city-buildings',
  data: 'https://tiles.cesium.ion.com/3dtiles/tileset.json',
  pointSize: 2,
  onTileLoad: (tileHeader) => {
    // Attach real-time sensor data to features
    attachSensorData(tileHeader);
  }
});

Case Study: Virtual City Systems

Virtual City Systems (VCS) has built their VC Map platform on CesiumJS, serving cities across Europe. Their modular software suite handles CityGML ingestion, mesh processing, and real-time visualization. Notably, VCS released VC Map as open source in 2021.

The platform demonstrates what's possible: large-scale geospatial datasets—terrain, CityGML models, mesh data, and point clouds—rendered efficiently in the browser. Strategic planning becomes visual, public engagement becomes interactive.

Our GovHack Experience

We built a GovHack-winning Digital Twin for Hobart that pushed the offline-first approach. Using Three.js for rendering and PMTiles on S3 for tile storage, we demonstrated that compelling 3D city visualization doesn't require enterprise infrastructure.

The architecture prioritized accessibility: PWA capabilities for offline use, progressive loading for slow connections, and minimal compute requirements. For government projects where reliability trumps features, this approach proves that digital twins can be deployed without massive IT investment.

Our Perspective

Digital twins are reaching practical maturity. The technology stack is stable, open standards dominate, and the tooling has matured significantly. What's often missing isn't technology but governance—who maintains the twin, how is data freshness ensured, what's the update workflow?

For organizations considering digital twins, my advice is to start with visualization and add simulation capabilities incrementally. A well-maintained 3D model with integrated building data delivers immediate value for planning and engagement. Real-time sensor integration and predictive simulation can follow once the foundation is solid.

Tell us about your project

Our Offices

  • Canberra
    ACT, Australia