Prototyp und Beschreibung der Funktion point2pointutm() (Funktion der freischaltpflichtigen Gruppe "Entfernungsberechnungen") |
point2pointutm() Berechnung eines UTM-Zielpunkts auf dem Erdellipsoid mittels UTM- Startpunkt, Azimutalwinkel und Entfernung. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall point2pointutm( double nUtmEast1, double nUtmNorth1, double nDistance, double nAzimut, double *nUtmEast2, double *nUtmNorth2, unsigned short nEllipsoid) Prototyp der DLL-Funktion IN Visual Objects Syntax: _DLL function point2pointutm(; nUtmEast1 as real8,; // 8 Byte nUtmNorth1 as real8,; // 8 Byte nDistance as real8,; // 8 Byte nAzimut as real8,; // 8 Byte nUtmEast2 ref real8,; // 4 Byte nUtmNorth2 ref real8,; // 4 Byte nEllipsoid as word); // 2 Byte as logic pascal:geodll32.point2pointutm // 4 Byte Die Funktion rechnet die UTM-Koordinaten eines Zielpunktes auf dem Erdellipsoid aus. Die Berechnung erfolgt mittels der UTM-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 muss das UTM-Koordinatenpaar nUtmEast1 / nUtmNorth1 des Startpunkts übergeben werden. Der Ost-Wert muss die UTM-Meridianstreifennummer enthalten. Der Vorwärts-Azimutalwinkel nAzimut vom Startpunkt zum Zielpunkt muss in [Grad]-Notation [ggg.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 UTM-Koordinaten nUtmEast2 (UTM-Ostwert) und nUtmNorth2 (UTM-Nordwert) des Zielpunktes in Metern zurück. Der Ostwert enthält die UTM-Meridianstreifennummer. Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben: nUtmEast1 UTM-Ostwert des Startpunktes in Meter mit vorangestellter UTM- Meridianstreifennummer nUtmNorth1 UTM-Nordwert des Startpunktes in Meter nDistance Distanz zwischen den Punkten in Meter auf dem Erdellipsoid nAzimut Vorwärts-Azimutalwinkel vom Startpunkt in Richtung auf den Zielpunkt in [Grad]-Notation ggg.ggg nUtmEast2 UTM-Ostwert des Zielpunktes in Meter mit vorangestellter UTM- (ref) Meridianstreifennummer als Rückgabewert nUtmNorth2 UTM-Nordwert des Zielpunktes in Meter als Rückgabewert (ref) 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: 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. |