Short answer

Cell size is not a cosmetic property of a DEM — it sets the smallest landform the data can represent and silently rescales every derivative you compute from it. Slope flattens as cells grow, curvature loses its extremes, ruggedness drops, and drainage networks lose their finer branches. The practical consequence is that a slope value, a roughness index, or a catchment area is only meaningful alongside the resolution it was computed at, and "use the finest DEM" is the wrong default as often as it is the right one.

Why a derivative depends on the grid

Terrain derivatives are local operators: slope, aspect, and curvature are calculated from a moving 3×3 window of cells, using the elevation differences between a centre cell and its neighbours. The horizontal distance in that calculation is the cell size. So slope is, at heart, rise over a run equal to the cell spacing. When the cell is 1 m, the algorithm measures elevation change over roughly 1 m of ground; when the cell is 30 m, it measures change over 30 m and averages everything in between into a single gradient.

This is why coarsening a DEM is a low-pass filter on the landscape. The standard Horn (1981) slope algorithm used by both gdaldem slope and ArcGIS Spatial Analyst fits a plane to the 3×3 window; a wider window over a larger cell cannot "see" a 5 m cliff inside a 30 m cell, so that cliff is averaged into the surrounding gentler ground.

The slope-flattening effect, quantified

The well-documented pattern is that maximum and mean slope decrease as cell size increases. A 1 m LiDAR DEM might report local slopes above 60° on a rock face; resample the same area to 30 m and the same face may read 25–35° because the steep step is now spread across a wide cell. This is not measurement error — both numbers are correct for their grid. It becomes an error only when someone compares them as if they were the same quantity, for example feeding a slope threshold derived from 10 m data into a workflow built on 30 m data.

The same applies to:

  • Curvature, which uses second derivatives and is even more sensitive: profile and plan curvature extremes collapse rapidly with coarsening.
  • Ruggedness / TRI / TPI, which measure neighbourhood variability and therefore shrink as the neighbourhood ground area grows.
  • Aspect, which becomes unstable on the flatter gradients that coarse cells produce, because aspect is undefined where slope approaches zero.

A worked comparison

To see the effect on your own data instead of trusting a rule of thumb, build a small resolution ladder from one source DEM and compare slope statistics:

# Start from a 1 m DEM in a projected, metric CRS (e.g. EPSG:25831)
for res in 1 5 10 30; do
  gdalwarp -tr $res $res -r average -tap dem_1m.tif dem_${res}m.tif
  gdaldem slope dem_${res}m.tif slope_${res}m.tif -compute_edges
  gdalinfo -stats slope_${res}m.tif | grep -E "Minimum|Maximum|Mean|StdDev"
done

Use -r average for the resampling because you are deliberately aggregating a continuous surface to a coarser cell, which is the physically honest way to coarsen elevation. Reading the printed statistics back, you will typically see the maximum slope fall and the mean slope drift downward at each step, while the standard deviation contracts — the landscape literally gets smoother as the grid coarsens. In QGIS the equivalent is Raster ▸ Analysis ▸ Slope after Warp (Reproject) at each target resolution.

Drainage and flow are even more sensitive

Hydrological derivatives amplify the effect because flow direction is a discrete decision per cell. As cells grow:

  • Small channels narrower than the cell disappear, so drainage density drops.
  • Flow paths get "blocky" — restricted to eight directions over larger steps — and catchment divides shift, changing computed catchment area and the location of confluences.
  • Flat areas expand, which forces more flow-routing assumptions and can reroute drainage entirely.

Conversely, very fine DEMs over noisy or vegetated surfaces create spurious pits and braided artefacts that need pit filling (e.g. Wang & Liu fill in QGIS, or r.fill.dir) before flow accumulation is trustworthy. Finer is not automatically cleaner.

DEM vs DSM: the resolution trap

Resolution interacts with surface type. A 1 m DSM (digital surface model) includes buildings, tree canopy, and bridges; computing slope from it gives you the slope of rooftops and canopy edges, not the ground. A 1 m DTM (bare-earth) is what you want for geomorphology. Choosing a finer product without checking whether it is a surface or terrain model is a frequent and expensive mistake — the extra detail is real, but it is the wrong surface.

How to choose a cell size

Match the resolution to the process scale, not to the catalogue:

  • 1–2 m: engineering, landslide scarps, gully erosion, microtopography, archaeology. Needs bare-earth LiDAR and pit handling.
  • 5–10 m: local geomorphology, slope stability screening, site terrain context.
  • 10–30 m (SRTM, Copernicus GLO-30): regional relief, watershed delineation over large areas, continental mosaics.

If you must compare areas mapped at different resolutions, resample everything to the coarsest common cell size first, then derive. Comparing a 1 m slope map with a 30 m slope map directly is comparing two different physical quantities.

Validation and QA

  • Report cell size and the slope algorithm with every terrain statistic. A slope class map without its resolution is uninterpretable.
  • Check gdalinfo for square cells: a non-square pixel (e.g. 9.8 × 12.1) means the DEM is in a geographic CRS or was warped without -tr, and slope will be directionally biased.
  • Inspect the histogram of slope before and after coarsening to see how much of the steep tail you lost.
  • Use -compute_edges so the outer ring of cells is not dropped to NoData, which otherwise creates a one-cell hollow border.

Common mistakes and why they happen

  • Comparing derivatives across resolutions. The numbers are not on the same scale; coarse data is intrinsically smoother. Fix: resample to a common cell size first.
  • Defaulting to the finest DEM. Microtopography and noise dominate; for regional questions a finer grid adds cost and artefacts without adding signal. Fix: pick resolution by process scale.
  • Deriving slope from a DSM. You measure canopy and roofs, not terrain. Fix: confirm DTM vs DSM in the metadata.
  • Deriving terrain in a geographic CRS. Degree cells are anisotropic, so slope is biased by latitude. Fix: reproject to a metric CRS first.

Bathyl perspective

We carry cell size as a first-class attribute of every terrain product, the way a lab carries the magnification of a thin-section photo. A slope threshold, a ruggedness class, or a catchment boundary is stated together with the resolution it was computed at, so a reviewer can judge whether the number actually answers the question being asked rather than the question the grid happened to support.

Related reading

Sources