Project Description
This project visualizes the city of Manizales, Colombia, along with the Nevado del Ruiz volcano, using CesiumJS. The visualization integrates a Digital Terrain Model (DTM), a CityGML model of Manizales, and a 4D particle simulation of smoke/ash emissions.
It was developed as the final project for the 3D/4D GIS course in my MSc. Remote Sensing & Geoinformatics program.
Objectives
- Visualize Manizales' topography and city model in 3D using CesiumJS.
- Load and render terrain tiles and 3D buildings from OpenStreetMap.
- Simulate real-time volcanic activity using a 4D smoke particle system.
- Enable interactive control of terrain contour styling with Cesium's UI bindings.
Methodology
Using Cesium Ion, I loaded terrain data and building models of Manizales. The camera is programmed to fly directly to the area of interest. A particle system simulates the eruption of ash or smoke from Nevado del Ruiz using a circular emitter and lifelike particle parameters.
A toolbar with sliders and color pickers was implemented using Cesium.knockout
to dynamically adjust contour lines on the terrain. The globe’s material is updated in real time to reflect user interactions.
The simulation also integrates elevation-based rendering, normals for slope enhancement, and material switching for terrain contour visualization.


Code & Access
The full code is written in JavaScript and uses CesiumJS with Cesium Ion asset IDs. You can explore the code and visualize the project by accessing:
- Visit the city where I studied my bachellor (3D Map)
- GitHub Repository (3D/4D Visualization of Manizales)
Technologies: CesiumJS, CityGML, JavaScript, Cesium Ion, OpenStreetMap 3D Tiles.