Prototyp und Beschreibung der Funktion distancegeo()

(Funktion der freischaltpflichtigen Gruppe "Entfernungsberechnungen")

 

distancegeo()
Entfernung auf dem Erdellipsoid in Metern zwischen zwei geographischen
Koordinaten.

Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!):
extern "C" __declspec(dllimport) unsigned long __stdcall distancegeo(
     double nGeoLon1,
     double nGeoLat1,
     double nGeoLon2,
     double nGeoLat2,
     double *nDistance,
     unsigned short nEllipsoid);

Prototyp der DLL-Funktion 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


Die Funktion rechnet die Entfernung auf der Erdellipsoid zwischen
zwei geographischen Koordinaten aus und gibt sie als Meterangabe zurück.

Es wird die Vincenty Inverse Formel zur Entfernungsberechnung auf dem
Erdellipsoid verwendet, die das Ergebnis mit hoher Genauigkeit berechnet.

Der Funktion müssen die geographischen Koordinaten nGeoLon1 (Länge des
ersten Koordinatenpunktes) und nGeoLat1 (Breite des ersten
Koordinatenpunktes) sowie die geographischen Koordinaten nGeoLon2 (Länge
des zweiten Koordinatenpunktes) und nGeoLat2 (Breite des zweiten
Koordinatenpunktes) in [Grad]-Notation [ggg.ggg] übergeben werden.

In nEllipsoid wird das benötigte Ellipsoid übergeben. Wenn in nEllipsoid
der Wert 0 eingetragen ist, wird das WGS84-Ellipsoid zugrunde gelegt.
Wenn in nEllipsoid der Wert 1000 übergeben wird, benutzt die Funktion die
zuvor mit der Funktion setuserellsource() eingegebenen benutzerdefinierten
Halbachsen des Quellellipsoiden.

Das Ergebnis der Streckenberechnung wird in Metern im Parameter nDistance
von der Funktion zurückgegeben.


Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben:
nGeoLon1    Geographische Länge des ersten Punktes in [Grad]-Notation
            vggg.ggg

nGeoLat1    Geographische Breite des ersten Punktes in [Grad]-Notation
            vgg.ggg

nGeoLon2    Geographische Länge des zweiten Punktes [Grad]-Notation
            vggg.ggg

nGeoLat2    Geographische Breite des zweiten Punktes in [Grad]-Notation
            vgg.ggg

nDistance   Distanz zwischen den Punkten in Meter als Ergebnis der
(ref)       Berechnung

nEllipsoid  Geodätisches Ellipsoid.
            Die Ellipsoide sind im unteren Bereich der Liste
            "Systeme alphabetisch sortiert" aufgeführt. Es können auch
            die Nummern der in der Liste "Systeme nach Ländern sortiert"
            aufgeführten Bezugssysteme verwendet werden.

returnWert  Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE.


Für geographische Koordinaten in [Grad]-Notation gilt:
v           Optionales Vorzeichen für Längen westlich von Greenwich und
            Breiten südlich des Äquators.
g           Grad und dezimaler Bruchteil eines Grades.


Freischaltung:
Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe
"Entfernungsberechnungen". Sie wird zusammen mit den anderen Funktionen
der Gruppe durch die Eingabe der bei der Vertriebsfirma erworbenen
Freischaltparameter per Aufruf der Funktion setunlockcode() zur
uneingeschränkten Nutzung frei geschaltet. Ohne die Freischaltung sind nur
wenige Funktionsaufrufe zu Testzwecken (Sharewareprinzip) möglich.