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.