Prototype and description of the function distancesphere()

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


Distance on the earth sphere in meters between two geographic coordinates.

Prototype of the DLL function in C++ syntax (attend lower case!):
extern "C" __declspec(dllimport) unsigned long __stdcall distancesphere(
     double nGeoLon1,
     double nGeoLat1,
     double nGeoLon2,
     double nGeoLat2,
     double *nDistance);

Prototype of the DLL function in Visual Objects syntax:
_DLL function distancesphere(;
     nGeoLon1 as real8,;                   // 8 Byte
     nGeoLat1 as real8,;                   // 8 Byte
     nGeoLon2 as real8,;                   // 8 Byte
     nGeoLat2 as real8,;                   // 8 Byte
     nDistance ref real8);                 // 2 Byte
as logic pascal:geodll32.distancesphere    // 4 Byte

The function calculates the distance on the earth sphere between two
geographical coordinates and returns it as distance in meters.

For the earth surface a sphere with the radius 6371.221 km is taken as basic.
Since the function does not consider the ellipsoidal surface of the earth,
inevitably a minimum deviation from the exact distance results. More exact
results are reached by much lower calculation speed with the function

The geographic coordinates nGeoLon1 (longitude) and nGeoLat1 (latitude) of the
first point as well as the geographic coordinates nGeoLon2 (longitude) and
nGeoLat2 (latitude) of the second point must be passed in [degrees]-notation
[vggg.ggg] to the function.

The result of the distance calculation is returned in the parameter nDistance
in meters.

The parameters are passed and/or returned as follows:
nGeoLon1    Geographic longitude of the first point in [degrees] notation

nGeoLat1    Geographic latitude of the first point in [degrees] notation

nGeoLon2    Geographic longitude of the second point in [degrees] notation

nGeoLat2    Geographic latitude of the second point in [degrees] notation

nDistance   Distance between the points in meters as result of the
(ref)       computation

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
"distance 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.