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. |