Prototyp und Beschreibung der Funktion convelev03ascii2bin() (Funktion der freischaltpflichtigen Gruppe "Höhenberechnungen") |
convelev03ascii2bin() ASCII-Datei des 3 Sek. Höhenmodells CGIAR in Binärdatei konvertieren. Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!): extern "C" __declspec(dllimport) unsigned long __stdcall convelev03ascii2bin( const char *pszFileAscii); Prototyp der DLL-Funktion in Visual Objects Syntax: _DLL function convelev03ascii2bin(; pszFileAscii as psz); // 4 Byte, char* as logic pascal:geodll32.convelev03ascii2bin // 4 Byte Die Funktion konvertiert eine ASCII-Datei des 3 Sekunden Höhenmodells (90 m Raster) CGIAR in eine effizientere Binärdatei, die für die Höhenberechnung verwendet werden kann. Sie können die Daten des 3 Sekunden Höhenmodells von der Internetseite des "CGIAR Consortium for Spatial Information" herunterladen. Die aktuelle Internetadresse lautet "http://srtm.csi.cgiar.org/". Klicken Sie in der Navigationsspalte auf den Link "SRTM Data Search and Download". Aktivieren Sie dort die RadioButtons "Multiple Selection" und "ArcInfo ASCII". Klicken Sie im Weltkartenraster in die Segmente, aus denen Sie Höhendaten benötigen. Bestätigen Sie Ihre Auswahl mit dem Button "Search". In einem neuen Fenster sind die von Ihnen gewählten Segmente zum herunterladen zusammengestellt. Klicken Sie auf die Links "Data Download (FTP)" oder "Data Download (HTTP)" um die Daten auf Ihren Rechner zu kopieren. Nach dem Entpacken der ZIP-komprimierten Daten liegen diese im ASCII-Format vor. Um die Daten mit GeoDLL-Funktionen nutzen zu können, müssen sie zunächst in das wesentlich effizientere und kompaktere Binärformat umgerechnet werden. Die Umrechnung erfolgt entweder automatisch beim ersten Zugriff durch die Funktion getelevation03() oder unabhängig mit der Funktion convelev03ascii2bin(). 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. Der Dateiname der für die Konvertierung benötigten ASCII-Datei darf einen Laufwerksbuchstaben und eine Verzeichniskette enthalten. Die ASCII-Datei muss die Dateinamenserweiterung ".ASC" haben. Die erzeugte Binärdatei hat den selben Namen wie die ASCII-Datei, jedoch keine Dateinamenserweiterung. Sie wird im selben Verzeichnis erzeugt. Beispiel: ASCII-Datei "c:\programm_hoehendaten\03_sec\SRTM_38_02.ASC" Binärdatei "c:\programm_hoehendaten\03_sec\SRTM_38_02" Achtung, in C-Syntax müssen doppelte Backslashes verwendet werden! Es werden Dateien der CGIAR Versionen 2 bis 4 unterstützt. Diese Dateiformate sind möglich: Beispiel für einen Dateinamen in CGIAR V2 Syntax: Z_38_2.ASC. Beispiel für einen Dateinamen in CGIAR V3/V4 Syntax: SRTM_38_02.ASC. Die Groß- oder Kleinschreibung hat keinen Einfluss. Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben: pszFileAscii Dateiname der zu konvertierenden ASCII-Datei. Der Dateiname darf einen Laufwerksbuchstaben und eine Verzeichniskette enthalten. Die Dateinamenserweiterung muss ".ASC" lauten. returnWert Im Fehlerfall gibt die Funktion FALSE zurück, sonst TRUE. Freischaltung: Die Funktion ist Bestandteil der freischaltpflichtigen Funktionsgruppe "Höhenberechnungen". 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 Funktionsaufrufe zu Testzwecken (Sharewareprinzip) möglich. |