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.