Skip to content

Comparison of Digital Elevations Models (DEMs)

Jonathan Hudson edited this page Feb 29, 2024 · 3 revisions

Overview

Getting free and accurate DEM (Digital Elevation Model) data is not easy. There are a number of obvious sources, each with some issues. The data is typically SRTM augmented with ASTER GDEM and possibly some local sources.

  • Bing Elevations provides a "Global" (56° S - 60° N) 3 Arcsecond (90m) services. Outside of this it's 900 (30 Arcsecond), other than the continental US where it claims 10m resolution. In practice, the data is of inconsistent quality, at least outside the continental USA. A Bing key is required to access the data, there are some (quite generous) limitations, in particular a maximum of 1024 points for a single request. Requests are charged against the Bing key's usage allocation.

  • Mapzen is a collection of open source data from numerous sources, SRTM, ASTER GDEM and national. In general it's globally available (80S - 83N) in 1 Arc second resolution and is of consistent quality.

It can be accessed in (at least) two ways:

  • OpenTopo provides a web service; it is free but has access limits that make it less than useful:

    • Limit of 100 points per request
    • One request per second
    • 1000 requests per 24 hour period.

    As an INAV mission can have 120 points, these restrictions are less than useful for annotating a mission and prohibitive for terrain analysis or line of sight analysis.

  • AWS S3 direct download. It is possible to download 1°x1° tiles from an Amazon S3 bucket without restriction. These tiles are in the well known HGT format, 1 Arc second resolution. The tiles in the S3 bucket are Gzipped. These can be stored locally and accessed on demand. Bilinear interpolated data is comparable in quality to OpenTopo.

Usage

mwp and flightlog2kml use local Mapzen tiles. The INAV Configurator uses Bing Elevations if you have Bing as the map provider, otherwise it uses the OpenTopo aster30m data set (which is more consistent, subject to the usage allocations above).

The relative performance, for example:

local (mapzen) : 54.137127, -4.719438, elev = 434 in 36.389µs
bing (sea-level) : 54.137127, -4.719438, elev = 427 in 103.232191ms
topo (aster30m) : 54.137127, -4.719438, elev = 427 in 149.727057ms

The national survey reports the elevation at this location is 443m.

i.e. Once the local tile is cached, local data is much faster. Local and OpenTopo Mapzen data is is consistent and more accurate.

local (mapzen) : 54.263225, -4.461683, elev = 619 in 32.136µs
bing (sea-level) : 54.263225, -4.461683, elev = 615 in 201.497012ms
topo (aster30m) : 54.263225, -4.461683, elev = 613 in 275.598595ms

National Survey 621m.

local (mapzen) : 54.149460, -4.669270, elev = 476 in 39.649µs
bing (sea-level) : 54.149460, -4.669270, elev = 470 in 203.695742ms
topo (aster30m) : 54.149460, -4.669270, elev = 485 in 124.950202ms

National Survey 483m.

In most cases, Bing is the least accurate compared to national survey. Note that in all cases topo (mapzen) would give the same value as local (mapzen).

The uncompressed HGT files are c. 25MB (1 Arc second); the downloaded Gzip compressed file is typically in the range 5MB - 7MB.

Bulk Usage

For operations like mission LOS analysis, where more than 10,000 points are often required, local DEM is by far the most practical option, for example, using a 16km sample mission and dense (500 "slice") LOS analysis (using 39165 elevation points over 500 requests):

losdem

local 89.942949ms
bing 38.417938888s

OpenTopo was not sampled, as it would have taken at least 500s, blown half the daily access and failed as the largest "slice" required 176 points (and 171 out of 500 slices required more than 100 points).

Clone this wiki locally