Prototype and description of the function getelevation30()

(Function of the unlock requiring group "Elevation calculations")


Elevation from the 30 sec. elevation model GLOBE for a point.

Prototype of the DLL function in C++ syntax (attend lower case!):
extern "C" __declspec(dllimport) unsigned long __stdcall getelevation30(
     double nGeoLon,
     double nGeoLat,
     unsigned long lInterpol,
     short *nElevation);

Prototype of the DLL function in Visual Objects syntax:
_DLL function getelevation30(;
     nGeoLon AS REAL8,;                     // 8 Byte
     nGeoLat AS REAL8,;                     // 8 Byte
     lInterpol AS LOGIC,;                   // 4 Byte
     nElevation REF SHORTINT);              // 4 Byte
as logic pascal:geodll32.getelevation30     // 4 Byte

The function determines the ground level elevation from the 30 seconds
elevation model (1 km raster) GLOBE at a point defined by geographical

The 30 seconds elevation model of the NASA Shuttle Radar Topographic Mission
"Global Land One-Kilometer Base Elevation (GLOBE)" as data set G.O.O.D. is
free available for private and commercial purposes. An other data set
B.A.D, which is balanced with the national Elevation models of many
countries, can be acquired for commercial use economically priced from
the GLOBE Task Team. With a license for the GeoDLL function group "Elevation
calculations" you only acquired the right to use the functions to compute
the elevation data. The elevation data are subject to the copyright of the
"GLOBE Task Team". This organization revised and supplemented the original
data of the NASA. Please consider the terms of use and the copyright
conditions of the GLOBE Task Team.

The 30 seconds elevation model consists of altogether 16 files with
elevation data of the whole world. Each file covers a range of 90 lines of
longitude and 40 or 50 lines of latitude. The ground elevations are put
down in a 30 seconds raster grid. That corresponds to a resolution of
maximal 925 x 925 meters in equator proximity. In direction to the poles
the grid consolidates with increasing resolution over the geographical
latitude. The elevation data are horizontal georeferenced with geographic
coordinates in the Reference System WGS84. Vertical the ground elevation is
georeferenced as the "Mean Sea Level" in integral meters. Further
information you find on the Internet site of the "National Geophysical Data
Center (NGDC)".

You can download the data of the 30 seconds elevation model from the
Internet site of the "National Geophysical Data Center". The current
Internet address is "". Click on
the link "GLOBE Data" inside the navigation column. Activate on the new
opened Internet site the link "Any or all 16 tiles". Click inside the world
raster map with the right mouse button on the segments, from which you
need elevation data. Select in the context menu the option "Save link as..."
to copy the data to your computer. Alternatively a ftp server is available
under "". Register "anonymous" as UserID and your email
address as password.

After unpacking the ZIP compressed data they are present ready for use as
binary data files. To be able to use the data with GeoDLL functions, first
the data path to the elevation data must be make known to GeoDLL by calling
the function setelev03datapath().

Differences between the elevation models GLOBE and CGIAR:
Elevation model:             GLOBE             CGIAR
GeoDLL function              getelevation30()  getelevation03()
Range longitude [degrees]    -180 to 180       -180 to 180
Range latitude [degrees]     -90 to 90         -60 to 60
Resolution [sec]             30 x 30           3 x 3
Resolution [m]               925 x ‹= 925      90 x ‹= 90
Horizontal reference         WGS84             WGS84
Vertical reference           Mean Sea Level    Mean Sea Level
Horizontal deviation [m]     ‹ 6               ‹ 6
Vertical deviation [m]       ‹ 10              ‹ 7
Number of files              16                1728
File size [MB]               101/126           70
Range per file [degrees]     90 x 40/50        5 x 5

The parameters are passed and/or returned as follows:
nGeoLon     Geographic longitude of the point to get the ground elevation
            from in [degrees] notation vggg.ggg in the Reference System

nGeoLat     Geographic latitude of the point to get the ground elevation
            from in [degrees] notation vgg.ggg in the Reference System

lInterPol   TRUE: The ground elevation is interpolated from the 4 corner
            points of the 30 x 30 seconds raster field containing the
            coordinate. The computation is exact, but relative slow.
            FALSE: The ground elevation corresponds to the value of the
            30 x 30 seconds raster field containing the coordinate. The
            computation is less exact, but relative fast.

nElevation  Ground elevation over the Mean Sea Level in meters as result of
(ref)       the computation. In the presence of a water cover the value 0
            is returned. If an error occurs the function returns the value

returnVal   In case of an error the function returns FALSE, otherwise TRUE.

For geographic coordinates in [degrees] notation applies:
v           Optional sign for longitudes west of Greenwich and latitudes
            south of the equator.
g           degrees and decimal fraction of a degree.

This function is a component of the unlock requiring function group
"Elevation calculations". It is unlocked for unrestricted use together with
the other functions of the group by passing the unlock parameters, acquired
from the software distribution company, trough the function setunlockcode().
Without unlocking only a few function calls for test purposes (shareware
principle) are possible.