Prototyp und Beschreibung der Funktion getellsys()

(Funktion der freischaltpflichtigen Gruppe "Parameterermittlung")

 

getellsys()
Ermittlung der Bezeichnungen und Parameter der in einem geodätischen System
verwendeten geodätischen Ellipsoide.

Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!):
extern "C" __declspec(dllimport) unsigned long __stdcall getellsys(
     unsigned short wRefSysQ,
     unsigned short wRefSysZ,
     unsigned short wCoordSysQ,
     unsigned short wCoordSysZ,
     char **pszEllSys);

Prototyp der DLL-Funktion in Visual Objects Syntax:
_DLL function getellsys(;
     wRefSysQ as word,;                    // 2 Byte
     wRefSysZ as word,;                    // 2 Byte
     wCoordSysQ as word,;                  // 2 Byte
     wCoordSysZ as word,;                  // 2 Byte
     pszEllSys ref psz);                   // 4 Byte, char**, 600 alloc.
as logic pascal:geodll32.getellsys         // 4 Byte

Die Allokation von Speicher für "ref psz" / "char**" ist nur notwendig,
wenn zuvor setstringallocate(FALSE) aufgerufen worden ist.


Die Funktion gibt zu den in den Parametern wRefSysQ, wRefSysZ, wCoordSysQ
und wCoordSysZ übergebenen Quell- und Zielsystemen die passenden Bezeichnungen
und Halbachsen-Parameter und inversen Abplattungen (flattenings) der
verwendeten geodätischen Ellipsoide als formatierten Text im Parameter
pszEllSys zurück. Der Text wird in der zuvor mit der Funktion setLanguage()
gesetzten Sprache zurückgegeben.


Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben:
wRefSysQ    Geodätisches Quell-Bezugssystem. Die verfügbaren Bezugssysteme
            sind in der Liste "Koordinatenbezugssysteme" aufgeführt.

wRefSysZ    Geodätisches Ziel-Bezugssystem in das Koordinaten von einem
            Quell-Bezugssystem transformiert werden können. Die
            verfügbaren Bezugssysteme sind in der Liste "Koordinaten- und
            Bezugssysteme" aufgeführt.

wCoordSysQ  Quell-Koordinatensystem. Es wird nur benötigt, wenn für das
            Quell- oder Zielbezugssystem die Kennungen 1100, 1150 oder 1200
            (Kein geodätischer Bezugssystemwechsel) oder die Kennung 0
            (Standard-Bezugssystem) eingetragen ist, um das dann verwendete
            Standard-Ellipsoid anzuzeigen. Die verfügbaren
            Koordinatensysteme sind in der Liste "Koordinaten- und
            Bezugssysteme" aufgeführt.

wCoordSysZ  Ziel-Koordinatensystem. Es wird nur benötigt, wenn für das
            Quell- oder Zielbezugssystem die Kennungen 1100, 1150 oder 1200
            (Kein geodätischer Bezugssystemwechsel) oder die Kennung 0
            (Standard-Bezugssystem) eingetragen ist, um das dann verwendete
            Standard-Ellipsoid anzuzeigen. Die verfügbaren
            Koordinatensysteme sind in der Liste "Koordinaten- und
            Bezugssysteme" aufgeführt.

pszEllSys   Die Ellipsoidparameter werden formatiert und mit einer
(ref)       Beschreibung versehen in einem Text per Referenz zurückgegeben.
            Die Zeilen des Textes sind mit "Return und LineFeed"
            voneinander getrennt.
            Achtung: "ref pszEllSys" entspricht "char**" in C. Es müssen
            600 Byte Speicher für den Null terminated string in Abhängigkeit
            vom Aufruf der Funktion setstringallocate() allokiert werden.
            Beachten Sie dazu die Hinweise in der Beschreibung der Funktion
            setstringallocate()".

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


Der zurückgegebene Text sieht je nach den übergebenen geodätischen Systemen
z.B. so aus:
   Ellipsoid des QuellSystems:
   GRS80 (1980)
   6378137.0000000 Große Halbachse [Meter]
   6356752.3141403 Kleine Halbachse [Meter]
   00298.257222100 Inverse Abplattung [1/f]

   Ellipsoid des ZielSystems:
   Hayford (1909)/Intern. (1924)
   6378388.0000000 Große Halbachse [Meter]
   6356911.9461300 Kleine Halbachse [Meter]
   00297.000000000 Inverse Abplattung [1/f]


Freischaltung:
Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe
"Parameterermittlung". 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
keine Funktionsaufrufe möglich.