17.9 C
Saturday, August 13, 2022

Plotting a Digital Elevation Model profile in GEE

A digital elevation model is a representation of the bare ground topographic surface of the earth exclusive of trees, buildings and other objects on the earth’s surface. Digital elevation models are extracted from sources such as topographic maps, high-resolution LiDAR (Light Detection and Ranging) or IfSAR (interferometric Synthetic Aperture Radar). However, LiDAR and IfSAR techniques, are replacing topographic maps systematically in deriving digital elevation models.

The ifSAR technique is a radar mapping technology used to collect data about the terrain. It is the most effective method since it collects data under challenging conditions such as cloud cover, extreme weather conditions, rugged terrain, and remote locations. Moreover, radar technology is independent of darkness, therefore it can collect data during the night, unlike other techniques which depend on the concept of passive remote sensing, meaning that they have to depend on the sun’s electromagnetic radiation for data collection.

An example of ifSAR technology is the Shuttle Radar Topography Mission (SRTM) which obtains consistent, high-quality elevation data at near-global scope. This article focuses on illustrating how to derive a digital elevation model and plot it using data from SRTM Version 4 in Google Earth Engine.

Select an area of interest.

First, choose an area of interest using the geometry tool. Mt. Rainer is the area of interest.

Select an Image.

Secondly, choose an image from SRTM Version 4 dataset.

var elevation = ee.Image('CGIAR/SRTM90_V4');

Plot elevation at waypoints along the Area of Interest.

Thirdly, plot a set of points along the mountain each at a different elevation.

var waypoints = [
      ee.Geometry.Point([-121.7353, 46.78622]),
      {'name': 'Paradise Ranger Station'}),
      ee.Geometry.Point([-121.72529, 46.8093]), {'name': 'Pebble Creek'}),
      ee.Geometry.Point([-121.72585, 46.8102899]),
      {'name': 'Start of Glacier'}),
      ee.Geometry.Point([-121.7252699, 46.81202]), {'name': 'Glacier Point 1'}),
      ee.Geometry.Point([-121.72453, 46.81661]), {'name': 'Glacier Point 2'}),
      ee.Geometry.Point([-121.72508, 46.82262]), {'name': 'Little Africa'}),
      ee.Geometry.Point([-121.7278699, 46.82648]), {'name': 'Moon Rocks'}),
  ee.Feature(ee.Geometry.Point([-121.73281, 46.8354]), {'name': 'Camp Muir'}),
  ee.Feature(ee.Geometry.Point([-121.75976, 46.85257]), {'name': 'Summit'})
var rainierWaypoints = ee.FeatureCollection(waypoints);

Create a chart.

Fourthly, create a chart to show the elevation of each waypoint in meters.

var chart = ui.Chart.image.byRegion({
  image: elevation,
  regions: rainierWaypoints,
  scale: 200,
  xProperty: 'name'
  title: 'Mt. Rainier Summit Trail Elevation',
  vAxis: {
    title: 'Elevation (meters)'
  legend: 'none',
  lineWidth: 1,
  pointSize: 4


Next, print the chart in the console for visualization.


Display Final Results.

Finally, display the final results and compare.

Map.addLayer(elevation.clip(geometry), {min: 500, max: 4500});
Map.addLayer(rainierWaypoints, {color: 'FF0000'});
Map.setCenter(-121.75976, 46.85257, 11);

Elevation profile for Mt. Rainier.

Elevation profile with Waypoints.

Inspect the result

Click on the highest waypoint to verify if the results correspond with the chart result.

Link to the full code:



Join Our Mailing List

Risper Mutinda
Risper Mutinda
Hello. I am Risper Mutinda. I am a passionate Web and GIS Developer but more importantly, I am passionate about Technology.

Related Articles


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Stay Connected

- Advertisement -

Join Our Mailing List

Latest Articles