Prototyp und Beschreibung der Funktion coordcalcextraind()

(Funktion der freischaltpflichtigen Gruppe "Koordinatentransformationen")

 

coordcalcextraind()
Berechnung von Extra-Parametern unabhängig von Koordinatentransformationen.
Meridiankonvergenz, Zentralmeridian und geographische Punktkoordinate.

Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!):
extern "C" __declspec(dllimport) unsigned long __stdcall coordcalcextraind(
     double nCoordX,
     double nCoordY,
     const char *pszCoord,
     double nEllHgt,
     unsigned short nCoordSys,
     unsigned short nRefSys,
     unsigned short nUnit,
     unsigned short nStrip,
     unsigned long lNoStrip,
     unsigned long l3D,
     double *nGeoLon,
     double *nGeoLat,
     double *nOrigin,
     double *nConvergence);

Prototyp der DLL-Funktion in Visual Objects Syntax:
_DLL function coordcalcextraind(;
     nCoordX as real8,;                    // 8 Byte
     nCoordY as real8,;                    // 8 Byte
     pszCoord as psz,;                     // 4 Byte, char*
     nEllHgt as real8,;                    // 8 Byte
     nCoordSys as word,;                   // 2 Byte
     nRefSys as word,;                     // 2 Byte
     nUnit as word,;                       // 2 Byte
     nStrip as word,;                      // 2 Byte
     lNoStrip as logic,;                   // 4 Byte
     l3D as logic,;                        // 4 Byte
     nGeoLon ref real8,;                   // 4 Byte
     nGeoLat ref real8,;                   // 4 Byte
     nOrigin ref real8,;                   // 4 Byte
     nConvergence ref real8);              // 4 Byte
as logic pascal:geodll32.coordcalcextraind  // 4 Byte


Die Funktion berechnet für eine Koordinate in einem beliebigen
Koordinatenbezugssystemen (CRS) die Extra-Parameter Meridiankonvergenz,
Zentralmeridian und Geographische Punktkoordinate aus. Die Verwendung
der Funktion setcalcextra() ist dabei im Gegensatz zur Funktion
coordcalcextra() nicht erforderlich.

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

Koordinaten in beliebigen Koordinatenbezugssystemen (CRS) können immer in
geographische Punktkoordinaten umgerechnet werden.

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.

Beachten Sie, dass die Berechnung nicht bei jeder Koordinatentransformation
möglich ist. In diesem Fallen 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 die Parameter haben den Wert -9999.

Zur Übergabe der numerischen Koordinate nCoordX / nCoordY oder der
alphanumerischen Koordinate pszCoord sowie der CRS-Einstellungen nCoordSys,
nRefSys, nUnit, nStrip und lNoStrip lesen Sie bitte die ausführlichen
Erläuterungen in der Beschreibung der Funktion coordtransex().


Die Parameter werden folgendermaßen zurückgegeben:
nCoordX       Längen-, Ost- oder X-Komponente der numerischen Koordinate.
              Bei der Bearbeitung einer alphanumerischen Koordinate ist
              dieser Parameter ohne Bedeutung. Das Eingabeformat der
              Koordinate (Notation) ist in der Liste "Standardwerte der
              Koordinatensysteme" beschrieben.

nCoordY       Breiten-, Nord- oder Y-Komponente der numerischen Koordinate.
              Bei der Bearbeitung einer alphanumerischen Koordinate ist
              dieser Parameter ohne Bedeutung. Das Eingabeformat der
              Koordinate (Notation) ist in der Liste "Standardwerte der
              Koordinatensysteme" beschrieben.

pszCoord      Alphanumerische Koordinate.
              Bei der Bearbeitung numerischer Koordinaten ist dieser
              Parameter ohne Bedeutung. In diesem Fall kann ein NULL-Zeiger
              für pszCoord eingetragen werden. Das Eingabeformat der
              Koordinate (Notation) ist in der Liste "Standardwerte der
              Koordinatensysteme" beschrieben.

nEllHgt       Ellipsoidische Höhe der Quellkoordinate
                oder
              Z-Komponente bei kartesischen Koordinaten.
              Bei 3D-Transformationen wird bei unterschiedlichen Quell- und
              Zielbezugssystemen (nRefSysQ, nRefSysZ) die ellipsoidische
              Höhe der Quellkoordinate berücksichtigt.

nCoordSys     Koordinatensystem der Koordinate.
              (siehe Liste "Koordinatenbezugssysteme").

nRefSys       Geodätisches Bezugssystem der Koordinate.
              (siehe Liste "Koordinatenbezugssysteme").

nUnit         Maßeinheit der Koordinate.
0             Die Koordinatenkomponenten sind in der in GeoDLL
              voreingestellten Standard-Maßeinheit des Koordinatensystems
              angegeben. Falls erforderlich werden sie für die interne
              Verwendung in Meter umgerechnet.
              (siehe Liste "Standardwerte" [Quelltext: settings_d.txt]).
› 0           Die Koordinatenkomponenten sind in einer bestimmten
              Maßeinheit angegeben und werden für die interne Verwendung
              in Meter umgerechnet.
              (siehe Liste "Koordinatenbezugssysteme alphabetisch"
              [Quelltext: sysalpha_d.txt]).
1000          Keine Auswirkung. Die Koordinatenkomponenten werden nicht in
              eine andere  Maßeinheit umgerechnet.

nStrip        Zu verwendender Meridianstreifen im Koordinatensystem.
              Dieser Parameter hat nur eine Wirkung, wenn in nCoordSys
              ein "Transversales Mercator Streifensystem" eingetragen ist.
0             Verwendung der führenden Ziffern des Ostwerts zur Berechnung
              des natürlichen Meridianstreifens.
› 0           Verwendung des Wertes in nStrip zur Berechnung des
              natürlichen Meridianstreifens.

lNoStrip      Einstellung für die Unterdrückung der Meridianstreifennummer
              im Ostwert. Dieser Parameter hat nur eine Wirkung, wenn in
              nCoordSys ein "Transversales Mercator Streifensystem"
              eingetragen ist.
TRUE          Ostwerte müssen ohne führenden Meridianstreifennummern
              übergeben werden.
FALSE         Ostwerte müssen mit führenden Meridianstreifennummern
              übergeben werden.

l3D           Einstellung für Ausführung der Koordinatentransformation im
              3D-Modus. Wenn der 3D-Modus eingeschaltet ist, muss in
              nEllHgt ein Wert übergeben werden.
TRUE          Ausführung als 3D-Koordinatentransformation.
FALSE         Ausführung als 2D-Koordinatentransformation.

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

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

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

nConvergence  Meridiankonvergenz an der geographischen Punktkoordinate.
(ref)         Oder -9999, falls der Wert nicht berechnet werden konnte.

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


Folgende Themen werden in den Beschreibungen der Funktionen coordtransex()
und coordtrans3dex() ausführlich erläutert:
  Gültigkeitsbereiche
  Notationen
  Standard-Bezugssysteme
  3D-Koordinatentransformation


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.