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. |