11.1 DEM, DSM, DTM — What's the Difference?
The three elevation rasters you'll meet constantly — and when to use each.
Key takeaways
- DEM is a generic term; DSM includes surface features (buildings, canopy); DTM is the bare-earth surface.
- Global free DEMs (SRTM, Copernicus, ALOS) cover the world at 10–90 m.
- Higher-resolution DEMs come from LiDAR, drone photogrammetry, or commercial aerial surveys.
Introduction
Elevation data is fundamental to GIS: it underpins hydrology, visibility, infrastructure, agriculture, and much more. Three closely related terms — DEM, DSM, DTM — get used loosely and interchangeably, but they mean different things. This short lesson clears that up.
Definitions
- DEM (Digital Elevation Model) — a generic term for any raster of elevation values. Could be DSM or DTM depending on source and processing.
- DSM (Digital Surface Model) — the elevation of the first reflective surface — typically tree canopy, building rooftops, bridges, and bare ground where nothing's on top.
- DTM (Digital Terrain Model) — the bare-earth elevation — trees and buildings removed, sometimes with additional structure information (breaklines, contours).
A rough mnemonic: DSM = what you see; DTM = what you'd see if you stripped everything off.
Canopy height model
If you have both DSM and DTM for the same area, subtracting gives you a Canopy Height Model (CHM):
$$CHM = DSM - DTM$$
Forest height, building height, crane height — all emerge from this difference.
Data sources
Free global
- SRTM (2000) — 30 m. DSM-like (canopy-top in forests, ground in open areas).
- ASTER GDEM — 30 m global.
- Copernicus DEM GLO-30 — 30 m, DSM-ish, newer than SRTM.
- ALOS PALSAR — 12.5 m via radar, limited coverage.
- OpenTopography — aggregator + cloud access.
Free national
Many countries publish LiDAR-derived DTMs. Examples:
- USA: USGS 3DEP 1 m LiDAR DTMs for most populated areas.
- Denmark: DHM 40 cm nationwide.
- UK: Environment Agency 1–2 m nationwide.
- Netherlands: AHN 25 cm nationwide.
Commercial high-res
- WorldDEM (Airbus) — 12 m DSM globally.
- NextMap — 1 m DSM.
- Vexcel / Nearmap — aerial photogrammetry at 10–15 cm.
Resolution and accuracy
Elevation rasters have three kinds of accuracy:
- Horizontal (x, y) — how precisely cells are geolocated.
- Vertical (z) — the accuracy of the elevation values.
- Data source — LiDAR → cm accuracy; radar / photogrammetry → metres.
A 1 m raster does not imply 1 m accuracy — it's the cell size, not the error.
Pixel area vs real surface area
A DEM's cell area is flat (e.g., 30 × 30 m = 900 m²). The real surface area of that cell is larger if the slope is steep. Some analyses (e.g., runoff coefficient by surface area) correct for this.
Processing from raw data
Creating a DTM from a LiDAR point cloud involves:
- Classify ground vs non-ground points.
- Interpolate bare-earth surface from ground returns.
- Grid to a raster at chosen resolution.
Tools: PDAL, LAStools, CloudCompare, QGIS processing.
Working with DEMs
Standard operations:
- Slope and aspect — Module 11.2.
- Hillshade — Module 11.3.
- Contours — Module 11.4.
- Watershed / hydrology — Module 11.5.
- Viewshed — Module 11.6.
- Elevation profile — elevation along a path.
GDAL ships a suite (gdaldem slope, gdaldem hillshade, gdal_contour) for all of these.
Choosing the right DEM
Match the question to the data:
- Continental climate modelling — SRTM 30 m, Copernicus DEM.
- Regional hydrology — Copernicus 30 m, national 10 m.
- Urban flood modelling — national 1 m LiDAR DTM.
- Forest canopy — LiDAR DSM + DTM → CHM.
- Construction site — drone orthophoto + DSM at 3–5 cm.
Common pitfalls
- Treating SRTM as DTM — it's closer to DSM in forested areas; don't use it to model runoff under canopy.
- Mixed DSM / DTM in one analysis — subtle biases accumulate.
- Vertical datum — is the elevation ellipsoidal (GNSS) or orthometric (sea-level)? Module 4.1 covers this.
- Nodata — check for nodata values (often
-9999) before statistics.
Self-check exercises
1. You need to model water flow through a forested catchment. Which elevation product?
A DTM — bare-earth — so water is routed correctly along the ground, not over tree canopy. SRTM and similar global DSM-like products overestimate elevation in forested areas, diverting flow unrealistically. National LiDAR DTMs are the gold standard.
2. How do you compute building heights across a city from open data?
Acquire DSM and DTM rasters at the same resolution and extent. Subtract: building_height_raster = DSM - DTM. Mask to building footprints (from OSM or a municipal dataset). Compute zonal max / mean per building. For best results, use a DSM with ≤1 m resolution.
3. A 30 m DEM has a "vertical accuracy of 16 m at 90% confidence". What does this tell you?
The elevation value for any cell is within ±16 m of the true height 90% of the time. This limits precision — you can't distinguish features with elevation differences smaller than ~16 m, and slope calculations at 30 m horizontal with 16 m vertical error are noisy on gentle terrain. For small-scale hydrology you'd want better data.
Summary
- DEM is generic; DSM is surface (first reflection); DTM is bare earth.
- Subtracting DSM − DTM gives canopy / building heights.
- Resolution and accuracy are different things.
- National LiDAR is the gold standard where available; SRTM / Copernicus cover the rest.
Further reading
- OpenTopography — free DEM aggregator with tutorials.
- Florinsky, I. V. — Digital Terrain Analysis in Soil Science and Geology.
- NOAA — Digital Elevation Models overview.
- USGS 3DEP program documentation.