Prototype and description of the function distancegeo() (Function of the unlock requiring group "Distance calculations") |
distancegeo() Distance on the earth ellipsoid in meters between two geographic coordinates. Prototype of the DLL function in C++ syntax (attend lower case!): extern "C" __declspec(dllimport) unsigned long __stdcall distancegeo( double nGeoLon1, double nGeoLat1, double nGeoLon2, double nGeoLat2, double *nDistance, unsigned short nEllipsoid); Prototype of the DLL function in Visual Objects syntax: _DLL function distancegeo(; nGeoLon1 as real8,; // 8 Byte nGeoLat1 as real8,; // 8 Byte nGeoLon2 as real8,; // 8 Byte nGeoLat2 as real8,; // 8 Byte nDistance ref real8,; // 4 Byte nEllipsoid as word); // 2 Byte as logic pascal:geodll32.distancegeo // 4 Byte The function calculates the distance on the earth ellipsoid between two geographical coordinates and returns it as distance in meters. The Vincenty Inverse Formula is used for the distance calculation on the earth ellipsoid, which computes the result with high accuracy. 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. In nEllipsoid the necessary ellipsoid is passed. If in nEllipsoid the value 0 is passed, then the geodetic ellipsoid WGS84 is used. If in nEllipsoid the value 1000 is passed, the function uses the semi axes of the user-defined earth ellipsoid passed before by the function setuserellsource(). 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 vggg.ggg nGeoLat1 Geographic latitude of the first point in [degrees] notation vgg.ggg nGeoLon2 Geographic longitude of the second point in [degrees] notation vggg.ggg nGeoLat2 Geographic latitude of the second point in [degrees] notation vgg.ggg nDistance Distance between the points in meters as result of the (ref) computation nEllipsoid Geodetic ellipsoid. The ellipsoid numbers are specified at the bottom part of the list "Systems sorted alphabetical". The numbers of the Reference Systems specified in the list "Systems sorted by countries" can be used also. 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. Unlocking: 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. |