Prototyp und Beschreibung der Funktion setntvbinautofile() (Funktion der freischaltpflichtigen Gruppe "NTv2-Transformationen") |
setntvbinautofile() Setzt eine NTv2-Binärdatei zum automatischen Aufruf in die Warteposition. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall setntvbinautofile( const char *pszFileBinary); Prototyp der DLL-Funktion in Visual Objects Syntax: _DLL function setntvbinautofile(; pszFileBinary as psz); // 4 Byte, char* as logic pascal:geodll32.setntvbinautofile // 4 Byte Die Funktion übergibt den Pfad und den Namen einer NTv2-Binärdatei an die DLL. Die Datei wird beim ersten NTv2-Bezugssystemwechsel automatisch geprüft, geöffnet und verwendet. Sie befindet sich bis dahin in einer Warteposition. Diese Vorgehensweise ist sinnvoll, da die Nutzung von NTv2- Binärdaten speicherintensiv ist und der Speicherplatz nur dann intern allokiert wird, wenn auch NTv2-Bezugssystemwechsel durchgeführt werden. In der NTv2-Binärdatei sind die Gitterdaten für NTv2-Bezugssystemwechsel enthalten. Die Gitterdaten werden verwendet, wenn in einer der Funktionen coordtrans???() als Bezugssysteme die Kennungen für NTv2-Bezugssystemwechsel eingetragen sind. Die Prüfung des Dateiinhalts erfolgt beim ersten NTv2- Bezugssystemwechsel, bei dem dann eventuelle Fehlermeldungen von der verwendeten Funktion coordtrans???() initialisiert werden. Beim Aufruf von setntvbinautofile() wird eine eventuell noch vorhandene NTv2-Instanz zunächst aufgelöst. Beim ersten NTv2-Bezugssystemwechsel bildet GeoDLL dann automatisch eine neue NTv2-Instanz mit der übergebenen NTv2- Datei. Die NTv2-Instanz bleibt bis zum nächsten Aufruf von setntvbinaryfile(), setntvbinautofile() oder setntvbinautodir() für weitere NTv2-Berechnungen bestehen. Für geodätische Berechnungen mit NTv2-Gitterdateien können der GeoDLL die Pfade der Dateien mit weiteren Funktionen bekannt gemacht werden: Mit der Funktion setntvbinaryfile() kann eine bestimmte NTv2-Datei in einem beliebigen Verzeichnis gezielt initialisiert werden. Das ist z.B. notwendig, wenn mit den GeoDLL-Bezugssystemen 208 und 209 eine beliebige, nicht implizit von GeoDLL unterstützte NTv2-Datei initialisiert werden muss. Die Funktion arbeitet aber auch mit allen implizit von GeoDLL unterstützten NTv2-Dateien. Mit der Funktion setntvbinautodir() kann eine automatische Auswahl und Initialisierung der erforderlichen NTv2-Datei mit den dafür vorgesehenen Dateinamen realisiert werden. Dazu müssen sich die benötigten NTv2-Dateien in einem gemeinsamen Verzeichnis mit bis zu drei Verzeichnisebenen befinden. Beim Wechsel zu einem NTv2-gestützten Bezugssystem wird die erforderliche NTv2-Datei dort gesucht. Wenn die Datei im gemeinsamen Verzeichnis gefunden worden ist, wird sie automatisch initialisiert. Um eine geöffnete NTv2-Gitterdatei wieder zu schließen und die damit verbundene NTv2-Instanz in GeoDLL freizugeben, kann die Funktion closentvbinaryfile() verwendet werden. Das ist aber nur in besonderen Fällen notwendig. Lesen Sie dazu bitte die Funktionsbeschreibung. Sie können die von GeoDLL unterstützten NTv2-Dateien direkt von der KilletSoft Internetseite http://www.killetsoft.de/p_gdln_d.htm#download herunterladen oder dort die Verweise zu den Originalquellen verwenden. Auf der Internetseite finden Sie auch eine ausführliche Beschreibung des NTv2-Standards. Der Dateiname darf einen Laufwerksbuchstaben, eine Verzeichniskette und eine Dateinamenserweiterung enthalten. Die Dateinamenserweiterung für NTv2-Binärdateien ist standardmäßig "gsb". Beispiel: "c:\berechnungen\ntv2_dateien\beta2007.gsb". Achtung, in C-Syntax müssen doppelte Backslashes verwendet werden! Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben: pszFileBinary Dateiname einer NTv2-Binärdatei. Der Dateiname darf einen Laufwerksbuchstaben, die Verzeichniskette und die Dateinamenserweiterung enthalten. returnWert Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE. Freischaltung: Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe "NTv2-Transformationen". Sie wird zusammen mit den anderen Funktionen der Gruppe durch die Eingabe der bei der Vertriebsfirma erworbenen Freischalt- parameter per Aufruf der Funktion setunlockcode() zur uneingeschränkten Nutzung frei geschaltet. Ohne die Freischaltung sind nur wenige Funktions- aufrufe zu Testzwecken (Sharewareprinzip) möglich. Es ist zu beachten, dass zusätzlich die Funktionsgruppe "Koordinatentransformationen" frei geschaltet sein muss. |