Prototyp und Beschreibung der Funktion setntvbinautodir() (Funktion der freischaltpflichtigen Gruppe "NTv2-Transformationen") |
setntvbinautodir() Verzeichnis zur automatischen Verwendung von NTv2-Binärdateien setzen oder zurücksetzen. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall setntvbinautodir( const char *pszBinaryDir); Prototyp der DLL-Funktion in Visual Objects Syntax: _DLL function setntvbinautodir; (pszBinaryDir as psz) // 4 Byte, char* as logic pascal:geodll32.setntvbinautodir // 4 Byte 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. Beim Aufruf von setntvbinautodir() wird eine eventuell noch vorhandene NTv2-Instanz aufgelöst. Beim ersten NTv2-Bezugssystemwechsel bildet GeoDLL dann automatisch eine neue NTv2-Instanz mit der automatisch gefundenen NTv2-Datei. Dabei wird eine neue NTv2-Instanz unter Verwendung der dafür benötigten NTv2-Datei erzeugt. Die NTv2-Instanz bleibt für weitere NTv2- Berechnungen bestehen, bis ein anderes NTv2-Bezugssystem eingestellt wird. Bei Aufrufen der Funktionen setntvbinaryfile() und setntvbinautofile() wird die vorhandene NTv2-Instanz ebenfalls aufgelöst und durch eine neue ersetzt. 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. 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. 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 der NTv2-Dateipfad 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 Verzeichnisname darf einen Laufwerksbuchstaben und eine Verzeichniskette enthalten. Der Verzeichnisname muss mit einem Backslash (\) abschließen. Beispiel: "c:\berechnungen\ntv2_dateien\". Achtung, in C-Syntax müssen doppelte Backslashes verwendet werden! Es werden Unterverzeichnisse bis in die dritte Ebene nach NTv2-Binärdateien durchsucht. Beispiel: c:\berechnungen\ntv2_dateien\world.gsb c:\berechnungen\ntv2_dateien\australien\A66_NAT.gsb c:\berechnungen\ntv2_dateien\brasilien\SAD69_003.gsb c:\berechnungen\ntv2_dateien\deutschland\beta2007.gsb c:\berechnungen\ntv2_dateien\deutschland\berlin\ntv2berlin.gsb c:\berechnungen\ntv2_dateien\deutschland\hessen\HeTa2010.gsb Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben: pszBinaryDir Pfad eines gemeinsamen Verzeichnisses für NTv2-Binärdateien. Der Pfad darf einen Laufwerksbuchstaben und eine Verzeichniskette mit abschließendem Backslash 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. |