Prototyp und Beschreibung der Funktion point2pointgeo()

(Funktion der freischaltpflichtigen Gruppe "Entfernungsberechnungen")

 

point2pointgeo()
Berechnung eines Zielpunkts auf dem Erdellipsoid mittels Startpunkt,
Azimutalwinkel und Entfernung.

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

Prototyp der DLL-Funktion IN Visual Objects Syntax:
_DLL function point2pointgeo(;
     nGeoLon1 as real8,;                   // 8 Byte
     nGeoLat1 as real8,;                   // 8 Byte
     nDistance as real8,;                  // 8 Byte
     nAzimut as real8,;                    // 8 Byte
     nGeoLon2 ref real8,;                  // 4 Byte
     nGeoLat2 ref real8,;                  // 4 Byte
     nEllipsoid as word);                  // 2 Byte
as logic pascal:geodll32.point2pointgeo    // 4 Byte


Die Funktion rechnet die geographischen Koordinaten eines Zielpunktes auf dem
Erdellipsoid aus. Die Berechnung erfolgt mittels der geographischen Koordinaten
eines Startpunktes, dessen Vorwärts-Azimutalwinkels und der Entfernung in
Metern zwischen den Punkten.

Es wird die "Vincenty Direct Formel" zur Berechnung auf dem Erdellipsoid
verwendet, die das Ergebnis mit hoher Genauigkeit zurückgibt.

Der Funktion müssen die geographischen Koordinaten nGeoLon1 (Geograpische
Länge) und nGeoLat1 (Geograpische Breite) des Startpunkts und der Vorwärts-
Azimutalwinkel nAzimut vom Startpunkt zum Zielpunkt in [Grad]-Notation
[vggg.ggg] übergeben werden. Der Azimutalwinkel wird im Bereich 0 bis 360 Grad
übergeben, wobei 0 Grad nach Norden weist und 90 Grad nach Osten. Die
Entfernung zwischen den Punkten wird in nDistance in Metern übergeben.

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.

Die Funktion gibt als Ergebnis die geographischen Koordinaten nGeoLon2
(Geograpische Länge) und nGeoLat2 (Geographische Breite) des Zielpunkts in
[Grad]-Notation [vggg.ggg] zurück.


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

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

nDistance   Distanz zwischen den Punkten in Meter auf der Erdkugel

nAzimut     Vorwärts-Azimutalwinkel vom Startpunkt in Richtung auf den
            Zielpunkt in [Grad]-Notation ggg.ggg

nGeoLon2    Geographische Länge des Zielpunktes in [Grad]-Notation vggg.ggg
(ref)       als Rückgabewert

nGeoLat2    Geographische Breite des Zielpunktes in [Grad]-Notation vgg.ggg
(ref)       als Rückgabewert

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.