Prototyp und Beschreibung der Funktion setntvbinaryfile() (Funktion der freischaltpflichtigen Gruppe "NTv2-Transformationen") |
setntvbinaryfile() NTv2-Gitterdaten-Binärdatei für den Bezugssystemwechsel setzen oder zurücksetzen. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall setntvbinaryfile( char *pszFileBinary); Prototyp der DLL-Funktion in Visual Objects Syntax: _DLL function setntvbinaryfile(; pszFileBinary as psz); // 4 Byte, char* as logic pascal:geodll32.setntvbinaryfile // 4 Byte Die Funktion überprüft und initialisiert eine NTv2-Gitterdaten-Binärdatei in der Gitterdaten für NTv2-Bezugssystemwechsel enthalten sind. Die Gitterdaten werden von den Funktionen coordtrans???() verwendet, wenn dort als Bezugssysteme die Kennungen für NTv2-Bezugssystemwechsel eingetragen sind. Der erforderliche Speicherplatz für NTv2-Bezugssystemwechsel wird unabhängig von der tatsächlichen Durchführung der Bezugssystemwechsel allokiert. Die Prüfung des Dateiinhalts erfolgt direkt beim Funktionsaufruf und eventuelle Fehlermeldungen werden direkt von der Funktion setntvbinaryfile() initialisiert. Für geodätische Berechnungen mit NTv2-Gitterdateien können der GeoDLL die Pfade der Dateien mit weiteren Funktionen bekannt gemacht werden: Die Funktion setntvbinautofile() kann verwendet werden, um den Dateipfad nur in einer Warteposition abzulegen. Die Prüfung und die Allokation von Speicherplatz erfolgt dabei erst mit dem ersten NTv2-Bezugssystemwechsel. 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. Alternativ kann die NTv2-Gitterdatei durch einen Aufruf dieser Funktion mit einem Null-String als Parameter zurückgesetzt werden. 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! Mit den Funktionen getntvbinaryfile() und setntvbinaryfile() kann eine automatische Auswahl und Initialisierung der erforderlichen NTv2-Datei realisiert werden. Dazu müssen sich die benötigten NTv2-Dateien in einem gemeinsamen Verzeichnis befinden. Beim Wechsel zu einem NTv2-gestützten Bezugssystem wird mit der Funktion getntvbinaryfile() der Name der erforderlichen NTv2-Datei ermittelt. Wenn die Datei im gemeinsamen Verzeichnis vorhanden ist, wird sie dort mit der Funktion setntvbinaryfile() initialisiert. 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. |