Prototyp und Beschreibung der Funktion point2pointsphere() (Funktion der freischaltpflichtigen Gruppe "Entfernungsberechnungen") |
point2pointsphere() Berechnung eines Zielpunkts auf der Erdkugel mittels Startpunkt, Azimutalwinkel und Entfernung. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall point2pointsphere( double nGeoLon1, double nGeoLat1, double nDistance, double nAzimut, double *nGeoLon2, double *nGeoLat2) Prototyp der DLL-Funktion IN Visual Objects Syntax: _DLL function point2pointsphere(; 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); // 2 Byte as logic pascal:geodll32.point2pointsphere // 4 Byte Die Funktion rechnet die geographischen Koordinaten eines Zielpunktes auf der Erdkugel aus. Die Berechnung erfolgt mittels der geographischen Koordinaten eines Startpunktes, dessen Vorwärts-Azimutalwinkels und der Entfernung in Metern zwischen den Punkten. Für die Erdform wird eine Kugel mit dem Radius 6371,221 km zugrunde gelegt. Da die Funktion nicht die ellipsoidförmige Gestalt der Erde berücksichtigt, ergibt sich zwangsläufig eine minimale Abweichung von der genauen Entfernung. Genauere Ergebnisse werden bei viel geringerer Ausführungsgeschwindigkeit mit der Funktion point2pointgeo() erreicht. 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. 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 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. |