What causes differences between DEMs?

Different elevation datasets have different height values for the exact same location. Here are some reasons why.


A higher resolution dataset is able to resolve smaller features which are averaged out by the large pixel size of lower resolution datasets.


Some datasets are just better. Even at a given resolution, different sensing methods have varying quality, and post-processing can introduce further differences in accuracy.

Accuracy isn’t always constant for an entire dataset. Clearly this is the case for gpxz’s composite dataset, but even datasets advertised as single-source may contain areas filled from other datasets.

Vertical datum

Elevation isn’t an absolute measurement, rather it is the difference in height between a point and sea level, and different datasets use different definitions for sea level.

Many countries and regions have their own definition of sea level, sometimes pre-dating electronic mapping. This can cause a locally-consistent offset between two datasets. The science and history of these sea level definitions is really interesting, the wikipedia page for geodesy has more.

Surface vs terrain

An elevation dataset has to make decisions about where to measure elevation from

  • The tops of tress or the forest floor?
  • The roofs of buildings, or the ground floor?
  • The bed of a lake/river or the water surface?
  • The bottom of the ocean or the water surface?

These combinations of decisions results in different kinds of DEMs

  • A digital surface model (DSM) always takes the highest elevation. This is the easiest elevation to measure, and is often used in low-resolution datasets.
  • A digital terrain model (DTM) tries to find the level of the dirt, which is often more useful for end users but requires sensor equipment that can penetrate vegetation.
  • A bare-earth DTM applies post-processing to remove buildings, which is difficult and can introduce artefacts.
  • LIDAR doesn’t penetrate water very well, so even a DTM might use water surface elevation, or have quality issues in locations with water. In hydrology applications, practitioners will often “burn in” river depths from other sources.
  • Sea/ocean depth data is known as bathymetry, and is collected using different methods than land elevation. Any dataset including both (like gpxz) is likely to be a composite.


Our environment is constantly changing. DSMs are affected by changing vegetation, snow, and building construction. Even DTMs are affected by landslides, excavation, earthquakes, and geological shift, and meandering rivers.

By the time an elevation dataset is released, the raw sensor data it is based on can be years old. The larger the dataset the older the imagery, and datasets can merge data from different passes years apart.

The documentation for the dataset you’re using should detail at least the period of image acquisition. Some datasets will provide more granular information about exactly when each portion of the dataset was acquired.