Prototyp und Beschreibung der Funktion getntvbinaryfile()

(Funktion der freischaltpflichtigen Gruppe "NTv2-Transformationen")

 

getntvbinaryfile()
Ermittlung von bis zu drei zu einem Bezugssystem passenden NTv2-Dateinamen.

Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!):
extern "C" __declspec(dllimport) unsigned long __stdcall getntvbinaryfile(
     unsigned short wRefSys,
     char **pszNtvFileName1,
     char **pszNtvFileName2,
     char **pszNtvFileName3);

Prototyp der DLL-Funktion in Visual Objects Syntax:
_DLL function getntvbinaryfile;
     (sRefSys as word,;                    // 2 Byte
     pszNtvFileName1 ref psz,;             // 4 Byte, char**, 25 alloc.
     pszNtvFileName2 ref psz,;             // 4 Byte, char**, 25 alloc.
     pszNtvFileName3 ref psz);             // 4 Byte, char**, 25 alloc.
as logic pascal:geodll32.getntvbinaryfile  // 4 Byte


Die Funktion gibt bis zu drei für einem NTv2-gestützten Bezugssystem
vorgesehene NTv2-Dateinamen zurück. Der erste Dateiname wird üblicherweise
verwendet. Es kann ein zweiter, alternativ verwendeter Dateiname folgen. Der
letzte Dateiname wird für eine von KilletSoft verschlüsselte NTv2-Datei
verwendet.

Für geodätische Berechnungen mit NTv2-Gitterdateien müssen der GeoDLL die
Pfade der Dateien bekannt gemacht werden. Das wird mit drei alternativen
GeoDLL-Funktionen gemacht:

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.

Die Funktion setntvbinautofile() kann verwendet werden, um den Dateifad 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.


Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben:
wRefSys     NTv2-gestütztes Bezugssystem. Die verfügbaren Bezugssysteme
            sind in der Liste "Koordinatenbezugssysteme" aufgeführt.

pszNtvFileName1  Erster möglicher NTv2-Dateiname füer die korrespondierende
(ref)       Gitterdatei.
            Achtung: "ref pszNtvFileName1" entspricht "char**" in C. Es
            müssen 25 Byte Speicher für den Null terminated string in
            Abhängigkeit vom Aufruf der Funktion setstringallocate()
            allokiert werden. Beachten Sie dazu die Hinweise im Kapitel
            "Prototyp und Beschreibung der Funktion setstringallocate()".

pszNtvFileName2  Zweiter möglicher NTv2-Dateiname füer die korrespondierende
(ref)       Gitterdatei.
            Achtung: "ref pszNtvFileName2" entspricht "char**" in C. Es
            müssen 25 Byte Speicher für den Null terminated string in
            Abhängigkeit vom Aufruf der Funktion setstringallocate()
            allokiert werden. Beachten Sie dazu die Hinweise im Kapitel
            "Prototyp und Beschreibung der Funktion setstringallocate()".

pszNtvFileName3  Dritter möglicher NTv2-Dateiname füer die korrespondierende
(ref)       Gitterdatei.
            Achtung: "ref pszNtvFileName3" entspricht "char**" in C. Es
            müssen 25 Byte Speicher für den Null terminated string in
            Abhängigkeit vom Aufruf der Funktion setstringallocate()
            allokiert werden. Beachten Sie dazu die Hinweise im Kapitel
            "Prototyp und Beschreibung der Funktion setstringallocate()".

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.