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.