Prototyp und Beschreibung der Funktion setntvbinautofile()

(Funktion der freischaltpflichtigen Gruppe "NTv2-Gitterdaten")

 

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(
     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 allokiert
werden muss, 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() oder
setntvbinautofile() für weitere NTv2-Berechnungen bestehen.

Alternativ kann auch die Funktion setntvbinaryfile() verwendet werden,
die den Dateiinhalt direkt prüft und den erforderlichen Speicherplatz für
die die Gitterdaten allokiert.

Sie können die von GeoDLL unterstützten NTv2-Dateien direkt von der
KilletSoft Internetseite "http://www.killetsoft.de", Produkte TRANSDAT und
GeoDLL 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 Laufwerkbuchstaben, eine Verzeichniskette und
eine Dateinamenserweiterung enthalten. Die Dateinamenserweiterung für
NTv2-Binärdateien ist standardmäßig "gsb".
Beispiel: "c:\programm_ntv2daten\beta2007.gsb".
Achtung, in C-Syntax müssen doppelte Backslashes verwendet werden!

Mit den Funktionen getntvbinaryfile() und setntvbinautofile() 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 setntvbinautofile()
initialisiert.


Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben:
pszFileBinary Dateiname einer NTv2-Binärdatei.
              Der Dateiname darf einen Laufwerkbuchstaben, 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 Gitterdaten". 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 nur wenige Funktionsaufrufe zu
Testzwecken (Sharewareprinzip) möglich. Es ist zu beachten, dass zusätzlich
die Funktionsgruppe "Koordinatentransformationen" frei geschaltet sein muss.