A guide to elevation issues

Chapman and Wieczorek’s Georeferencing Best Practices has an excellent section on elevations. The discussion there is fairly technical, so in this post I’m offering a short FAQ on the practical aspects of adding elevations to event or occurrence records.

Why do it?

An elevation will help define a location if the coordinate uncertainty is more than a few meters or the sampling area is steep. Elevation data is also useful for species distribution analysis, and for grouping locations into categories like “alpine” and “lowland”.

What’s biologically meaningful elevation?

Elevation above the local mean sea level.

Can I get accurate elevations from an ordinary handheld GPS?

Not usually. Satellite-based GPS elevations aren’t elevations above sea level, they’re elevations above a particular mathematical model of the Earth’s surface. The difference between this model and local sea level can be tens of meters. Further, satellite-based GPS elevations have an intrinsic uncertainty that can be 2-3 times the uncertainty of the coordinates. Satellite-based GPS elevations like “1017” are seriously over-accurate. (See Footnote, below)

Barometric elevations are much better, but they require a barometer-equipped GPS and frequent recalibration in the field, preferably at spots with accurately known elevations.

Can I get accurate elevations from a smartphone equipped with a GPS?

Not usually. See above on satellite-based GPS elevations.

How can I get or check elevations if I don’t have a GPS or smartphone?

Many countries have spatial-data websites where you can enter a lat/lon or a batch file of lat/lons and get the corresponding elevations above the local mean sea level, or see the spot(s) on a map that has elevation contours.

A useful free service is OpenTopoMap, which shows a map with elevation contours for a lat/lon you enter and allows you to upload a GPS waypoint file (.gpx) to plot more than one point.

Google uses a mathematical model of the Earth to calculate elevations in Google Earth and Google Maps. My experience in Australia is that Google elevations are usually only a few meters different from the elevations on contour maps based on local mean sea level (see Footnote).

How best to enter elevation data in Darwin Core?

Put what you have in verbatimElevation, then modify it as necessary to fill both minimumElevationInMeters and maximumElevationInMeters. If you only have one elevation, put it in both minEIM and maxEIM. Considering the sometimes large errors in GPS elevations, it makes sense to approximate these to the nearest 10 m, for example from “1017” verbatim to “1020”.

How can I include elevation uncertainty in Darwin Core?

You can’t. There isn’t an elevationUncertaintyInMeters field, or an elevationProtocol or elevationSources or elevationRemarks. If your elevation comes from checking a contour map, you could put the contour value that was below your location in minEIM and the contour value above your location in maxEIM.


Yes, there’s a verticalDatum field in Darwin Core for entering the name of the elevation model used as a base for elevation data. These names, however, and their meanings aren’t normally available to GPS, smartphone or map users.

Footnote. Last week I placed my Garmin eTrex 10 on a permanent survey mark in my town. The GPS calculated the elevation as 45.970104 meters (according to the .gpx file) and rounded that off in the display as 46 m.

In Google Earth/Maps the mark is at 37 m.

The correct elevation above local mean sea level for the mark is 34 m (33.967 m).

Robert Mesibov (“datafixer”); robert.mesibov@gmail.com


Do you think there should be a elevationUncertaintyInMeters?

@pieter, that might be confusing to GBIF data users, because GBIF does something a little strange with elevations (and depths) in processing. It averages minEIM and maxEIM if these are both supplied and calls the result “elevation” (“depth”), and calls the average deviation “elevation accuracy” (“depth accuracy”).

I think a DwC term or terms that explains how the elevation was determined would be more helpful, like the georeferenceProtocol and georeferenceSources terms for coordinates.