Prototyp und Beschreibung der Funktion convntvascii2bin()

(Funktion der freischaltpflichtigen Gruppe "NTv2-Werkzeuge")

 

convntvascii2bin()
ASCII-Datei mit NTv2 Gitterdaten in Binärdatei konvertieren.

Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!):
extern "C" __declspec(dllimport) unsigned long __stdcall convntvascii2bin(
     const char *pszFileAscii,
     const char *pszFileBinary);

Prototyp der DLL-Funktion in Visual Objects Syntax:
_DLL function convntvascii2bin(;
     pszFileAscii as psz,;                    // 4 Byte, char*
     pszFileBinary as psz);                   // 4 Byte, char*
as logic pascal:geodll32.convntvascii2bin     // 4 Byte


Die Funktion konvertiert eine ASCII-Datei mit NTv2 Gitterdaten in eine
effizientere Binärdatei, die für den Bezugssystemwechsel mittels Gitter-
Shiftdaten verwendet werden kann.

NTv2-ASCII-Dateien mit Syntaxfehlern werden von GeoDLL mit einer Fehler-
meldung abgelehnt.

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.

Nach dem Entpacken der ZIP-komprimierten Daten liegen diese entweder im
ASCII-Format oder bereits im Binärformat vor. Um eine NTv2-ASCII-Datei
mit GeoDLL-Funktionen nutzen zu können, muss sie zunächst in das wesentlich
effizientere und kompaktere Binärformat umgerechnet werden. Die Umrechnung
kann einige Sekunden oder Minuten dauern. Mit der Funktion convntvascii2bin()
können Sie eine NTv2-ASCII-Datei in eine NTv2-Binärdatei umrechnen.

Da die Funktion wegen der umfangreichen Berechnungen zeitintensiv ist, kann
mit der Funktion seteventloop() die Event-Bearbeitung während der Berechnung
durch Unterbrechung der Bearbeitungsschleife zugelassen werden.

Die Dateinamen der NTv2-ASCII-Datei und der zu erzeugenden NTv2-Binärdatei
dürfen jeweils einen Laufwerksbuchstaben und eine Verzeichniskette enthalten.
Die NTv2-ASCII-Datei darf eine beliebige Dateinamenserweiterung haben. Die
erzeugte Binärdatei sollte die Dateinamenserweiterung ".gsb" haben.
Beispiel:
ASCII-Datei "c:\programm_ntv2\ascii\BeTA2007.gsa"
Binärdatei  "c:\programm_ntv2\binaer\BeTA2007_gen.gsb"
Achtung, in C-Syntax müssen doppelte Backslashes verwendet werden!


Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben:
pszFileAscii  Dateiname der zu konvertierenden NTv2-ASCII-Datei. Der
            Dateiname darf einen Laufwerksbuchstaben, eine Verzeichniskette
            und eine Dateinamenserweiterung enthalten.

pszFileBinary  Dateiname der zu erzeugenden NTv2-Binärdatei. Der Dateiname
            darf einen Laufwerksbuchstaben und eine Verzeichniskette
            enthalten. Der Dateiname sollte die Dateinamenserweiterung
            ".gsb" haben.

returnWert  Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE.


Abweichungen vom NTv2-Standard innerhalb der NTv2-ASCII-Datei:
1. Hinter dem Zeichen # stehender Inhalt wird als Kommentar interpretiert
   und ignoriert.
2. Die maximale Zeilenlänge inklusiv Kommentar und CRLF beträgt 82 Zeichen.
3. Whitespace-Zeichen werden zur Trennung von Werten innerhalb der Zeile
   verwendet. Führende und anhängende Whitespace-Zeichen werden ignoriert.
4. Leerzeilen werden überlesen. Das wird gemacht, nachdem ein in der Zeile
   enthaltene Kommentar und alle führenden und anhängenden Whitespace-
   Zeichen entfernt worden sind.
5. Zeilen mit Gittermaschen-Einträgen enthalten vier Fließkomma-Werte:
   Shift-Breite Shift-Länge [Genauigkeit-Breite Genauigkeit-Länge]. Wenn
   die Genauigkeiten nicht in der Zeile enthalten sind, werden sie mit 0.0
   vorbelegt.
6. GeoDLL unterstützt Polygonale Gültigkeitsbereiche. Dazu können
   Gittermaschen-Zeilen die exopolygonalen Einträge -99/-99 in ihren Shift-
   oder Genauigkeitswerten enthalten. Detaillierte Informationen finden Sie
   im Hilfe-Kapitel "Polygonale Gültigkeitsbereiche".


Freischaltung:
Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe
"NTv2-Werkzeuge". 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 mit dieser Funktion keine Funktions-
aufrufe zu Testzwecken (Sharewareprinzip) möglich.