GeoElevationData

GeoElevationData[]

gives the elevation above sea level at $GeoLocation.

GeoElevationData[loc]

gives the elevation at the geographic location loc.

GeoElevationData[{loc1,loc2}]

gives an array of elevation values within the bounding box given by {loc1,loc2}.

GeoElevationData[GeoPosition[{{lat1,lon1},{lat2,lon2},}]]

gives the list of elevations at the positions {lati,loni}.

GeoElevationData[loc,etype]

gives the elevation of type etype for the location loc.

GeoElevationData[loc,etype,format]

gives the elevation in the specified format.

Details and Options

  • The location loc can be specified as latitude and longitude coordinates {lat,lon}, GeoPosition[], or as a named entity Entity[].
  • GeoElevationData returns by default orthometric height, namely the elevation with respect to the geoid (the surface of constant gravitational potential equal to that of mean sea level).
  • In GeoElevationData[loc,etype] possible types etype of elevation include:
  • Automaticequivalent to "Orthometric"
    "Center"elevation of the topography with respect the Earth's center
    "Geodetic"elevation of the topography with respect to the ellipsoid
    "Orthometric"elevation of the topography with respect to the geoid
    "Undulation"elevation of the geoid with respect to the ellipsoid
  • For a specific location, GeoElevationData returns by default a Quantity corresponding to the closest point in the underlying elevation dataset.
  • For a region, GeoElevationData returns by default a QuantityArray of elevation values. Successive rows of the array correspond to decreasing latitude, and successive columns correspond to increasing longitude. The QuantityArray has a unit that may be specified using UnitSystem.
  • GeoElevationData[Entity[]] returns an array of values irrespective of whether the entity is "extended" or not.
  • The spatial resolution of an elevation array is dependent on available data.
  • In GeoElevationData[loc,etype,format] possible output formats include:
  • Automaticequivalent to "QuantityArray"
    "QuantityArray"Quantity or QuantityArray object
    "Quantity"Quantity object, or an array of them
    "GeoPosition"GeoPosition with points {lat,lon,height}
    "GeoPositionXYZ"GeoPositionXYZ with Earth-centered points {x,y,z}
    "Region"geometric region with elevation of the area
  • The following options can be given to GeoElevationData:
  • Background0background value to use for missing data
    GeoArraySizeAutomaticarray dimensions of the result
    GeoCenterAutomaticcenter coordinates to use
    GeoGridRangeAllprojected coordinate range to include
    GeoGridRangePaddingAutomatichow much to pad the projected range
    GeoModelAutomaticmodel of the Earth (or other body) to use
    GeoProjection"Equirectangular"projection to use
    GeoRangeAutomaticgeographic area range to include
    GeoRangePaddingAutomatichow much to pad the geographic range
    GeoResolutionAutomaticgeo distance between neighboring values
    GeoZoomLevelAutomaticlevel of resolution of the elevation array
    UnitSystem$UnitSystemunit system in which to return elevations
  • The options GeoRange, GeoCenter and GeoRangePadding refer to the {lat,lon} coordinate ranges on the Earth's surface. The options GeoGridRange and GeoGridRangePadding refer to projected coordinate ranges on the flat map.
  • The original elevation data is stored in "Equirectangular" projection. For other projections, the result is obtained by bilinear interpolation of the equirectangular data.
  • The following settings for UnitSystem can be used:
  • "Imperial"return results in imperial units
    "Metric"return results in metric units
  • GeoElevationData[, GeoModelbody] gives elevation for a location or region on the Moon, Mars or other solid planetary body.
  • The spatial resolution of the requested elevation data can be selected with GeoResolutionresol, where resol is a Quantity distance, or with GeoZoomLevelzoom, where zoom is a positive integer. These are the maximum zoom levels available for each celestial body and their corresponding resolutions at the equator:
  • "Earth"max zoom 12resolution
    "Mars"max zoom 7resolution
    "Mercury"max zoom 6resolution
    Moonmax zoom 8resolution
    "Pluto"max zoom 5resolution

Examples

open allclose all

Basic Examples  (8)

Get the elevation above sea level at the current $GeoLocation:

Explicitly request metric units:

View the underlying expression:

Get the elevation above sea level at the location of Mount Everest:

The interpolated result is lower than the actual elevation at the peak:

Get an array of elevations for a region of 4 kilometers of radius around Mount Everest:

Compute the minimum and maximum values in that region:

Plot the array of elevations as a 3D surface:

Plot the elevation around Denver, Colorado, using ReliefPlot:

Plot using ArrayPlot:

Elevation along the equator at 1° intervals of longitude:

By default, elevation is given with respect to the geoid, called orthometric elevation:

Return geodetic elevation, with respect to the ellipsoid:

The difference is the so-called undulation (height of the geoid with respect to the ellipsoid) at that point:

By default, the elevation at a location is returned as a Quantity object:

Return a GeoPosition object with height information instead:

Elevation of the landing site of Apollo 11, in the Mare Tranquillitatis:

Scope  (8)

Elevation over mean sea level at the current geo location:

Get the ocean depth at the International Date Line on the equator:

Use GeoPosition to unambiguously identify the coordinates as a latitude/longitude pair:

Array of elevation data for an extended geographic entity:

Array of elevation data for a rectangle specified by the {lat,lon} coordinates of its corner positions:

Specify ranges of latitude and longitude:

Array of elevation data with one or both locations given as geographic entities:

Elevations at respective positions:

By default GeoElevationData reports orthometric elevation, with respect to the geoid:

This is geodetic elevation, with respect to the reference ellipsoid:

The difference is the so-called undulation, the geodetic elevation of the geoid:

The highest mountain on the Earth is Mount Everest when measuring elevation from the geoid:

However, Chimborazo is the mountain which is furthest from the center of the Earth:

Options  (12)

Background  (1)

Specify the output value of points for which elevation is not defined:

They correspond to the black pixels surrounding the world in this plot:

GeoArraySize  (1)

These are the dimensions of the default elevation matrix for Spain:

Specify the dimensions of the result:

GeoCenter  (1)

Specify the geo center of the region:

GeoGridRange  (1)

Compute the ranges of projected coordinates corresponding to a region in a given geo projection:

Download geo elevation data for that same projected region in the same projection:

GeoGridRangePadding  (1)

Expand the region by a given amount in projected coordinates:

GeoModel  (1)

Compare elevation maps of the same ranges of latitudes and longitudes for the Earth and the Moon:

GeoProjection  (1)

Use a conformal projection, like the Mercator projection, to get correct angles and shapes at local scales:

The equirectangular projection produces large distortion of shapes far from the equator:

GeoRange  (1)

The GeoRange option specifies the latitude and longitude ranges to cover:

GeoRangePadding  (1)

By default, GeoElevationData adds some geo range padding around the specified location:

Specify the amount of geo range padding as a Quantity distance:

For a point-like geo entity, removing the geo range padding produces an elevation matrix of one element:

That value coincides with the elevation at the corresponding geo position:

GeoResolution  (1)

Download elevation data around the Eiffel Tower, with an average distance of 100 ft. between the locations of neighboring array values:

GeoZoomLevel  (1)

Show the elevations around Anchorage at default resolution:

Use GeoZoomLevel to specify a different resolution:

UnitSystem  (1)

Show the elevation of Mount Everest in the default unit system:

Request elevation data in metric units:

Request elevation data in imperial units:

Applications  (7)

Elevations at a list of positions, in this case along the geodesic from Quito to Milan:

Divide the geodesic in 500 steps and compute all intermediate positions:

Compare with a relief map:

Show the average slope direction across the United States:

Determine the correlations of height values of a region centered at the US:

Define functions to compute distances and height differences between pairs of points:

Form a random set of distance and height difference pairs:

Consider "small" distances only:

Bin the data:

Make an ansatz that heights are correlated according to :

Plot the results:

Undulation map of the world:

Overlay on a "StreetMapNoLabels" map of the world:

A 3D model of Switzerland:

Construct 3D models with varying amounts of detail:

Add more detail with a larger GeoZoomLevel:

A model of the Copernicus crater on the surface of the Moon:

Properties & Relations  (4)

Plot the elevation around Denver, Colorado, using ReliefPlot (which requires reversing the data so it is plotted with successive rows corresponding to decreasing latitude):

Plot using ArrayPlot (which does not require reversing the data):

Compare to the result returned by the "ReliefMap" geo style:

GeoElevationData returns elevations matrices for all entities, even if the matrix only contains one element:

Extract the single element of the matrix:

This value corresponds to the elevation at the geo position of that entity:

The height returned for an geo position corresponds to an interpolated value:

As a result of interpolation, the height returned depends on GeoZoomLevel:

The (maximum) height of the entity may differ from the interpolated GeoElevationData value:

Height information in the input is ignored:

Possible Issues  (3)

With nonavailable GeoZoomLevel specifications, the maximum available zoom is used:

Heights in GeoPosition are geodetic heights. Hence the elevation type does not affect the result:

GeoElevationData[entity] is equivalent to GeoElevationData[GeoBoundingBox[entity]]:

Therefore the data may include points outside the natural boundaries of the entity, for example deep in the ocean:

Neat Examples  (2)

Make a grid of regions representing the 9 tallest mountains:

Download elevation data for this region:

Make a 3D plot:

Introduced in 2014
 (10.0)
 |
Updated in 2016
 (11.0)
2017
 (11.2)
2019
 (12.0)