Skip to content
Research Atlas

Understanding the Landscape · Lesson 1 of 5

Reading Elevation

~15 min

The Concept

Your first field assignment: understand the shape of Bluewater Basin before you trust a single measurement taken inside it. Your supervisor hands you a grid of numbers, a Digital Elevation Model (a big grid where every number is the height of the ground at that spot), or DEM for short, covering the whole watershed.

It looks like nothing at first: just rows and columns of numbers. Then she shows you what happens when you connect all the points at the same elevation with a line. Suddenly the ridge, the river valley, and the coastal flats appear.

Contour lines of Bluewater Basin, tightly packed near the ridge, widely spaced near the coastal flats.

A DEM is just a very fine grid of height measurements, like a spreadsheet where every cell is one patch of ground and its value is how high that patch sits above sea level. Nothing about it is complicated except its size: Bluewater Basin's DEM has over 2 million such cells.

A contour line (a line drawn through every spot that shares the same height) connects every point at exactly the same elevation, the same way a contour on a weather map connects every point at the same temperature. Where contour lines are close together, the land is steep; where they're far apart, it's flat. You can learn to read an entire landscape's shape from these lines alone, without ever seeing a photo of it.

The Analogy

A DEM is like a muffin tin turned upside down and covered in a bedsheet. If you traced a marker around the sheet everywhere it sits at exactly the same height above the table, you would draw a contour line. Tight rings around one muffin mean a steep bump. Wide, spread-out rings mean the sheet barely rises at all.

The Math (optional)

Elevation data is usually stored as a raster: a 2D grid where each cell has a row index i, a column index j, and a value z for elevation.

Grid cell elevation

zi,j=elevation at row i, column jz_{i,j} = \text{elevation at row } i, \text{ column } j

Every pixel in the DEM is one elevation reading, the entire map is just this repeated over ~2 million cells.

Try It

Drag the elevation threshold to draw your own contour line across Bluewater Basin.

The gold band marks every grid cell close to your chosen elevation — exactly what a contour line traces on a real topographic map.

Code (optional)

read_dem.pypython
import numpy as np

# dem is a 2D array: dem[row, col] = elevation in meters
dem = np.load("bluewater_dem.npy")

print("Grid shape:", dem.shape)
print("Highest point:", dem.max(), "m")
print("Lowest point:", dem.min(), "m")
print("Elevation at the ridge station (row 12, col 340):", dem[12, 340], "m")

Line by line

  • We load the DEM as a NumPy array, a fast grid of numbers, exactly like the spreadsheet analogy from the lesson.
  • dem.shape tells us how many rows and columns the grid has.
  • dem.max() and dem.min() find the highest ridge and lowest coastal point in the whole basin.
  • Indexing dem[row, col] reads the elevation at one specific location, the same way you'd click one cell in a spreadsheet.

Why Real Researchers Care

DEMs are the foundation of almost every environmental analysis you'll do in Research Atlas: slope (Lesson 2), watershed delineation (Lesson 3), and even the flood-risk model in Mission 7 all start from this same grid. Real research agencies like the USGS and ESA distribute DEMs for the entire planet at resolutions down to 10-30 meters per cell.

Quick Check

Q1. What does a single cell in a DEM actually store?

Q2. Where are contour lines closest together?

Your Goal

Using the contour-builder simulation above, find the elevation threshold where the contour line first separates the ridge from the rest of the basin into its own closed loop.

Hint: Closed loops appear around local high points, try dragging slowly near the top of the elevation range.

Teach It Back

Explain what a contour line is to someone who has never seen a topographic map, without using the word 'elevation' more than once.