Himalayas as seen with the 3D Terrain Viewer. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Terrain Viewer in EO Browser: A Play of Light and Shadow

Explore the world in 3D with any satellite visualization!

Monja Šebela
Sentinel Hub Blog
Published in
10 min readJun 21, 2021

--

The new EO Browser terrain viewer is amazing! It got a significant upgrade with an all new engine and additional features. You can use it to view satellite imagery from all angles. Custom visualizations as well, to highlight the relevant features of the image on terrain surface. Now isn’t that awesome?

The coolest part is that you have quite a bit of freedom in how 3D visualizations appear. It is possible to manipulate vertical scaling, shading properties and even the angle of the Sun! Let’s take a look at all the features the tool has to offer.

Navigation

Before we begin— you can find the Terrain Viewer tool in EO Browser by first visualizing an image and then clicking on the cube icon on the right. A quick introduction to the tool can be found in our EO Browser webinar, —but let’s introduce it here in more detail.

First, check the Help panel (question mark in the top right navigation bar) to see how to navigate the 3D view. This can be done in three ways:

  • With the mouse.
  • With the buttons of the navigation panel on the left of the 3D view.
  • With the keyboard.

One can pan, rotate, tilt and zoom the camera. Not only can you use these tools to view the 3D terrain from different angles, but you can also “travel” over the landscape and create beautiful animations. It takes a bit to get a handle on the controls, but it’s really fun!

Animation of the Himalayas, made using the 3D Terrain Viewer. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

If you zoom out enough, you will see the whole globe, which you can rotate and navigate. If you’re wondering about the black spots at the poles — that’s because our 3D feature uses the WebMercator projection, which only has information up to ± 85 degrees latitude, leaving the poles blank.

By clicking on the first button (which looks like a target) in the top navigation bar your camera will be positioned over the visualized area top down at a set height of about 40 km above sea level (which is roughly equivalent to a zoom level 13 in EO Browser). This is particularly useful if you want to quickly return the camera into a default position or if you have zoomed out too much and lost your visualized image. The light bulb icon activates shading, the Sun icon activates Sun shadows and tools, and the gear icon opens the Settings panel with various shadow, shading and terrain options. We will look at all of these options in detail.

Vertical Terrain Scaling

It is possible to change the intensity of terrain elevation differences by moving the Vertical Terrain Scaling slider in the Settings dialogue. The default value, the natural elevation, is set to 100 %. Changing this value is useful in flatter areas, where differences in elevation are not as easily perceived, and can be better emphasized by increasing the slider above 100 %. Use this feature wisely to avoid mis-representation of data.

Vertical terrain scaling over Danakil Depression, Ethiopia. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Note that the 3D model (NASA ASTER GDEM V2 in this case) is distorted over water surfaces, and this can sometimes make them appear to have unequal elevation. The ruggedness of the Ptuj lake below says nothing of the lake floor terrain, but is an anomaly due to radar backscatter (source for ASTER GDEM), which creates noise over water.

Terrain anomalies of the lake Ptuj, Slovenia. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Light and Shadow

This feature allows you to manipulate the shading and shadows of your scene with several parameters. The default values, which you can restore at any time by clicking the Reset Values buttons, are set to represent realistic proportions and representative shading of the terrain. By changing these parameters, you can emphasize certain features, or achieve a certain look to suit your needs, but terrain might appear less realistic, similar to the vertical terrain scaling.

Sun and Atmosphere

You can change the lighting of the scene based on the position of the Sun at any day of the year at any time of the day. This adds shadows to the scene. To do this, enable the Sun option. This can be useful for a number of reasons — for example, you can check when the Sun rises at a particular point on the globe in winter, and how the position of the Sun affects the shadows. The time is set to UTC, because UTC is globally accepted and is not ambiguous. The time defaults to your current time, which you can restore by clicking the Current time button.

Changes in shadows throughout the day on October 30, based on the position of the Sun. Mountains of New Zealand with Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Note that satellite images sometimes contain terrain shadows that are “baked” into the image itself. You can see one such example below, where the deep shadows of Grand Canyon are already part of the image. By changing the time and position of the Sun, one cannot affect these shadows nor remove them. By adding the light from the Sun, additional shadows appear. Therefore, terrain with fewer shadows results in better light and shadow manipulations.

Grand Canyon with shadows “baked” in. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

If we turn off the Sun option, it’s as if the camera is carrying the light — we won’t see any shadows, as all the objects along the line of sight will be illuminated. If we turn it on, the Sun will be the light source, and we will see terrain shadows, because the Sun is at a different angle than the camera.

The Sky/Atmosphere option is on by default in the Settings and shows the sky with the Sun. If you turn it off, the sky is black. It’s really cool to watch the Sun move across the sky and enjoy the sunset colors over your imagery.

Sunset over Mauna Kea, Hawaii. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Shadow Parameters

There are additional options that allow you to manipulate the Sun projected shadows in the settings. To enable these, the Sun option must also be enabled. Click on the Parameters in the Settings, to bring them up.

The first option is shadow visibility —this is essentially the transparency of shadows, ranging from completely transparent (not visible) to fully opaque (black shadows).

The shadow rendering distance option changes the size of the area in which shadows are calculated. These are calculated within a square centered on the current camera position. The higher the value, the larger the square — you can see this in the animation below, where the shadows extend further into the distance as we increase the value, and disappear towards us as we decrease it. The reason the Terrain Viewer doesn’t show all the shadows right away is because shadow calculation is computationally expensive.

Shadow rendering distance changes over New Zealand mountains. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Shadow map size affects the quality of your shadows. There are three different options available. Note that increasing the shadow precision uses more computer memory. You can see the difference between the two below — it’s quite striking!

Shadow map size comparison, Himalayas (low resolution of 1024 x 1024 px on the left, high resolution of 4096 x 4096 px on the right). Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Shading Parameters

Note that shadow and shading are not the same thing. Shading is about direct unobstructed light reaching the object, while shadows appear when the light is obstructed by objects. To see shadows, we need shading first, because we need the information about the ambient, diffuse and specular factors. But we can observe shading without shadows — we can turn off the Sun or the Sun projected shadows in the settings, and still play around with it.

There are three shading parameters you can manipulate — ambient, diffuse and specular. To enable them, open Options and click Edit.

Comparison of ambient, diffuse and specular lighting types. 🌐

The first slider controls the ambient factor, which affects how much light reaches the scene regardless of the position or angle of the light (in this case, Sun).

The diffuse factor impacts the amount of illumination, based on the angle and distance of the light reaching the surface. When the light reaches the surface perpendicularly, the lighting is strongest, and when the light comes from below, the scene looks completely black.

The specularity options influence how the light is dispersed from the surface. The specular factor simply controls the amount of the parameter, while specular power controls the properties of the parameter. The lower the specular power, the wider the light will scatter, based on the angle of the light. To understand what this means, imagine a mirror. If the mirror is completely smooth, it will reflect light sharply in one direction. If we set specular power high, the surface will act as a smooth mirror. If we set the specular power low, the surface will scatter light in different directions, much like if the mirror was dirty or rough. If specular power is set to 1, the surface will behave as a diffuse surface.

You can change these parameters to make the scene brighter/darker and more appealing, or to make certain details more visible.

The animation over the New Zealand Mountains, showing the behaviour of the ambient, diffuse and specular shading factors. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

To turn off shading, toggle the shading icon in the toolbar off. Note that this also disables the Sun option. Turning on the Sun option will also turn on shading (since shadows depend on shading). Another way to simulate disabled shading is to set the ambient factor to maximum and the diffuse and specular factor to minimum. This way you will see the image exactly the same as it was taken. However, without terrain shading it will be harder to understand the topography of the area, as it’s an important aspect of 3D visualizations.

If this is all too much to handle - don’t worry! You can experiment with the settings, or leave them as default. If you want to learn more about the topic, you can check out this resource on different lighting types.

Save, Share and Download

When you’re satisfied with your 3D visualization, you can save it by clicking the pin button at the bottom, which will save the location, visualization, and camera angle of your 3D scene to your pin list. You can also share it by clicking the share button next to the pin button. This will create a link that opens the 3D viewer in EO Browser with the location, visualization and camera angle you set. Note that your other 3D settings do not preserve when you share the scene with others. That’s because heavier settings could disturb performance for someone with a less powerful machine. The image you see in 3D can be downloaded in PNG format (don’t forget to enable show captions if you want to add information to the image!).

Practical Use Cases

To give you an idea of what the Terrain Viewer can be used for and how the above settings can be applied for specific purposes, here are four examples.

Learn About the Area

See how Sabina used our 3D feature to explore the marathon bike trail in the Dolomites! She used it to find out if there was snow on a particular section of the track in May and June, and when the Sun would rise and set. To learn more about the area, she even used high-resolution commercial SPOT data in Terrain Viewer.

Maratona dles Dolomites, from Sabina’s blog post.

Uncover Terrain Features

Nyiragongo volcano, as seen with Copernicus Sentinel-2 imagery. Processed by Sentinel Hub. 🌐

An obvious use case for Terrain Viewer is to reveal elevation features that cannot be derived from a 2D image. One such example is the Nyiragongo volcano, which looks completely flat on a 2D Sentinel-2 image. Looking at the 3D terrain, we can see that the volcanic caldera is not just a burning hole on the ground, but is at the top of the steep, conical stratovolcano.

The clouds and smoke are a part of the Sentinel-2 image, and we have no elevation information for them — that’s why they are lying flat over terrain. For this visualization, we increased the vertical terrain scaling slightly to further emphasize the height of the volcano. The position of the Sun was chosen so that the shadows are visible, but not overwhelming the scene. Shading factors were increased slightly to brighten the scene and show details in smaller bumps on the volcano.

Nyiragongo volcano, as seen with the 3D Terrain Viewer. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Create Awesome 3D Art

Trying out different visualizations in 3D is so much fun! For the following false color visualization we increased the ambiance and diffuse factors to preserve the vivid colors of the terrain, despite the setting Sun. Without changing these parameters, the naturally lit mountains would be much darker.

3D view of the Himalayas with a sunset, visualized with a custom script. Copernicus Sentinel-2 imagery, processed by Sentinel Hub. 🌐

Unexpected One — Searching for a Missing Person

Sometimes even the creators of a feature can’t foresee all the possible uses people will find for it. To our astonishment, the Terrain Viewer was used to solve the missing person case, when a hiker got lost in Los Angeles National Park. The hiker took a photo of the surrounding area, without knowing exactly where he was, and the EO Browser user Benjamin helped find him by comparing the photo to the 3D terrain in EO Browser. How cool is that!

The process used to find the hiker is described in this Twitter thread.

So, it’s time to visit EO Browser and try out the Terrain Viewer!

Isn’t it amazing that we can use such powerful tools for free? I hope you are as excited as I am, and I wish you an exciting exploration of our world!

--

--