Prototyp und Beschreibung der Funktion convntvbin2area() (Funktion der freischaltpflichtigen Gruppe "NTv2-Werkzeuge") |
convntvbin2area() Bereich einer NTv2-Gitterdatei in eine neue Binärdatei übertragen. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall convntvbin2area( const char *pszFileBinary, const char *pszFileArea, double fLonWest, double fLonEast, double fLatSouth, double fLatNorth); Prototyp der DLL-Funktion in Visual Objects Syntax: _DLL function convntvbin2area(; pszFileBinary as psz,; // 4 Byte, char* pszFileArea as psz,; // 4 Byte, char* fLonWest as real8,; // 8 Byte fLonEast as real8,; // 8 Byte fLatSouth as real8,; // 8 Byte fLatNorth as real8); // 8 Byte as logic pascal:geodll32.convntvbin2area // 4 Byte Die Funktion kopiert die Gitterdaten eines mit Koordinaten begrenzten Ausschnitts aus einer NTv2-Binärdatei in eine neue NTv2-Binärdatei. Es gibt einige sehr große NTv2-Binärdateien, die größer sind als der mit dem C-Variablentyp "long int" adressierbare Bereich von ca 2,15 Gigabyte. So hat zum Beispiel die bayerische NTv2-Binärdatei BY_KanU_Bayern-gesamt.gsb eine Größe von rund 3,5 Gigabyte. Im Gegensatz zu der Software GeoDLL und TRANSDAT von KilletSoft können viele geodätische Programme und GIS so große NTv2-Dateien nicht verarbeiten. Mit der Funktion convntvbin2area() besteht die Möglichkeit einen durch ein Koordinatenfenster festgelegten Ausschnitt aus einer NTv2-Binärdatei in eine neue Binärdatei zu kopieren. Dabei werden alle Gitter berücksichtigt, deren Fläche von dem vorgegebenen Bereich geschnitten wird. Die so erzeugte neue Binärdatei ist dann kleiner und kann mit jeder geodetischen Software und GIS verwendet werden. Der durch das Koordinatenfenster definierte neue Bereich darf den in der NTv2-Datei festgelegten Bereich in alle Richtungen überschneiden oder er kann vollständig darin enthalten sein. Wenn keine Übereinstimmung der Bereiche festgestellt wird, quittiert GeoDLL das mit einer Fehlermeldung. Zur Unterscheidung von der Original-Gitterdatei sind in der selektiv erstellten NTv2-Gitterdatei die Einträge UPDATED in allen berücksichtigten Gitterheadern mit dem Datum des Erstellungstages überschrieben. NTv2- Binärdateien mit Syntaxfehlern werden von GeoDLL mit einer Fehlermeldung abgelehnt. Eine möglicherweise vorhandene KilletSoft-Verschlüsselung der NTv2-Datei und darin eingetragene Polygonale Gültigkeitsbereiche bleiben bei der Übertragung in die neue NTv2-Datei erhalten. 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. 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-Binärdatei und der neu zu erzeugenden NTv2-Binär- Datei dürfen jeweils einen Laufwerksbuchstaben und eine Verzeichniskette enthalten. Sie sollten jeweils die Dateinamenserweiterung ".gsb" haben. Beispiel: Binärdatei "c:\programm_ntv2\BeTA2007.gsb" Neue Datei "c:\programm_ntv2\BeTA2007_area.gsb" Achtung, in C-Syntax müssen doppelte Backslashes verwendet werden! Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben: pszFileBinary Dateiname der als Quelle verwendeten NTv2-Binärdatei. Der Dateiname darf einen Laufwerksbuchstaben und eine Verzeichnis- kette enthalten. Der Dateiname sollte die Dateinamens- erweiterung ".gsb" haben. pszFileArea Dateiname der zu erzeugenden NTv2-Binärdatei mit dem Datenausschnitt. Der Dateiname darf einen Laufwerksbuchstaben und eine Verzeichniskette enthalten. Der Dateiname sollte die Dateinamenserweiterung ".gsb" haben. fLonWest Westliche Länge des Koordinatenfensters in [Grad]-Notation vggg.ggg fLonEast Östliche Länge des Koordinatenfensters in [Grad]-Notation vggg.ggg fLatSouth Südliche Breite des Koordinatenfensters in [Grad]-Notation vggg.ggg fLatNorth Nördliche Breite des Koordinatenfensters in [Grad]-Notation vggg.ggg returnWert Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE. Für geographische Koordinaten in [Grad]-Notation gilt: v Optionales Vorzeichen für Längen westlich von Greenwich und Breiten südlich des Äquators. g Grad und dezimaler Bruchteil eines Grades. Abweichungen vom NTv2-Standard innerhalb der NTv2-Dateien: GeoDLL unterstützt Polygonale Gültigkeitsbereiche. Dazu können Gitter- maschen 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. |