Prototyp und Beschreibung der Funktion coordcalcextra()

(Funktion der freischaltpflichtigen Gruppe "Koordinatentransformationen")

 

coordcalcextra()
Berechnung von Extra-Parametern während Koordinatentransformationen mit
den Funktionen coordtrans*().
Meridiankonvergenz, Zentralmeridian und geographische Punktkoordinate.

Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!):
extern "C" __declspec(dllimport) unsigned long __stdcall coordcalcextra(
     double *nGeoLonQ,
     double *nGeoLatQ,
     double *nOriginQ,
     double *nConvergenceQ,
     double *nGeoLonZ,
     double *nGeoLatZ,
     double *nOriginZ,
     double *nConvergenceZ);

Prototyp der DLL-Funktion in Visual Objects Syntax:
_DLL function coordcalcextra(;
     nGeoLonQ ref real8,;                  // 4 Byte
     nGeoLatQ ref real8,;                  // 4 Byte
     nOriginQ ref real8,;                  // 4 Byte
     nConvergenceQ ref real8,;             // 4 Byte
     nGeoLonZ ref real8,;                  // 4 Byte
     nGeoLatZ ref real8,;                  // 4 Byte
     nOriginZ ref real8,;                  // 4 Byte
     nConvergenceZ ref real8);             // 4 Byte
as logic pascal:geodll32.coordcalcextra    // 4 Byte


Die Funktion berechnet bei jeder Koordinatentransformation, die mit
Funktionen des Typs coordtrans*() durchgeführt wird, zusätzliche (extra)
Parameter. Voraussetzung dafür ist das vorherige Einschalten der
Berechnungen mit der Funktion setcalcextra(). Jeweils nach einer
Koordinatentransformation können die Extra-Parameter abgefragt
werden.

Die bei einer Koordinatentransformation berechneten Extra-Parameter
bleiben solange erhalten, bis die Funktion setcalcextra() das nächste Mal
mit dem auf TRUE gesetzten Parameter aufgerufen wird.

Folgende Extra-Parameter stehen zur Verfügung:
  Längengrad der geographischen Punktkoordinate im Quellsystem.
  Breitengrad der geographischen Punktkoordinate im Quellsystem.
  Längengrad des Zentralmeridians im Quellsystem.
  Meridiankonvergenz an der Punktkoordinate im Quellsystem.
  Längengrad der geographischen Punktkoordinate im Zielsystem.
  Breitengrad der geographischen Punktkoordinate im Zielsystem.
  Längengrad des Zentralmeridians im Zielsystem.
  Meridiankonvergenz an der Punktkoordinate im Zielsystem.

Koordinaten in beliebigen Koordinatenbezugssystemen (CRS) können immer in
Geographische Punktkoordinaten umgerechnet werden. Diese stehen jeweils
für das Quellsystem und für das Zielsystem zur Verfügung.

Der Zentralmeridian ist der nach Norden ausgerichtete zentrale Meridian
des Koordinatensystems.

Die Meridiankonvergenz wird oft auch als Kartenkonvergenz oder
Gitterkonvergenz bezeichnet. Die Meridiankonvergenz ist der Winkel zwischen
der Nordrichtung des Koordinatengitters an der geographischen
Punktkoordinate und der geographischen Nordrichtung. Sie kann z.B. für alle
Mercator- und Lambert-Projektionen berechnet werden. Die Konvergenz steht
jeweils für das Quellsystem und für das Zielsystem zur Verfügung.

Beachten Sie, dass die Berechnung mancher Extra-Parameter nicht bei jeder
Koordinatentransformation möglich ist. In diesen Fällen werden für die
entsprechenden Parameter die Werte -9999 zurückgegeben.

Die Meridiankonvergenz und der Zentralmeridian werden zur Zeit von
folgenden Systemen berechnet:
  Alle Transversal Mercator Systeme
  Alle normalen Mercator Systeme
  Alle Lambert Conformal Conic Systeme

Wenn keine Extra-Parameter ermittelt werden konnten, wird die Funktion mit
dem Rückgabewert FALSE beendet und alle Extra-Parameter haben den Wert -9999.

Diese Funktion kann eventuell in späteren GeoDLL-Versionen noch erweitert
werden. Bitte achten Sie nach der Installation eines Updates auf die
korrekte Parameterübergabe!


Die Parameter werden folgendermaßen zurückgegeben:
nGeoLonQ       Aus der Quellkoordinate errechneter geographischer
(ref)          Längengrad in dezimaler Notation (geogr. Punktkoordinate).
               Oder -9999, falls der Wert nicht berechnet werden konnte.

nGeoLatQ       Aus der Quellkoordinate errechneter geographischer
(ref)          Breitengrad in dezimaler Notation (geogr. Punktkoordinate).
               Oder -9999, falls der Wert nicht berechnet werden konnte.

nOriginQ       Längengrad des Zentralmeridians im Quellsystem.
(ref)          Oder -9999, falls der Wert nicht berechnet werden konnte.

nConvergenceQ  Meridiankonvergenz am geographischen Punkt im Quellsystem.
(ref)          Oder -9999, falls der Wert nicht berechnet werden konnte.

nGeoLonZ       Aus der Zielkoordinate errechneter geographischer
(ref)          Längengrad in dezimaler Notation (geogr. Punktkoordinate).
               Oder -9999, falls der Wert nicht berechnet werden konnte.

nGeoLatZ       Aus der Zielkoordinate errechneter geographischer
(ref)          Breitengrad in dezimaler Notation (geogr. Punktkoordinate).
               Oder -9999, falls der Wert nicht berechnet werden konnte.

nOriginZ       Längengrad des Zentralmeridians im Zielsystem.
(ref)          Oder -9999, falls der Wert nicht berechnet werden konnte.

nConvergenceZ  Meridiankonvergenz am geographischen Punkt im Zielsystem.
(ref)          Oder -9999, falls der Wert nicht berechnet werden konnte.

returnWert     Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE.


Freischaltung
Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe
"Koordinatentransformationen". 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.