Prototyp und Beschreibung der Funktion distancesphere() (Funktion der freischaltpflichtigen Gruppe "Entfernungsberechnungen") |
distancesphere() Entfernung auf der Erdkugel in Metern zwischen zwei geographischen Koordinaten. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall distancesphere( double nGeoLon1, double nGeoLat1, double nGeoLon2, double nGeoLat2, double *nDistance); Prototyp der DLL-Funktion 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 Die Funktion rechnet die Entfernung auf der Erdoberfläche zwischen zwei geographischen Koordinaten aus und gibt sie als Meterangabe zurück. 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 distancegeo() erreicht. 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.nnn] übergeben werden. 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 Berechnung (ref) 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. |