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(
     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är-Datei, 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
Laufwerkbuchstaben 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.

Sie können CD-ROMs, DVDs oder eine externe Festplatte mit bereits in das
Binär-Format umgerechneten Höhendaten auch direkt bei KilletSoft ordern.
Internetadresse: http://www.killetsoft.de/p_gdlfhb_d.htm.
Die Höhendaten werden dabei kostenlos weitergegeben. Sie unterliegen dem
Urheberrecht des "CGIAR Consortium for Spatial Information". Es fallen nur
eine geringe Kopiergebühr und die Kosten für den Datenträger an.


Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben:
pszFileAscii  Dateiname der zu konvertierenden ASCII-Datei. Der Dateiname
            darf einen Laufwerkbuchstaben 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 nur
wenige Funktionsaufrufe zu Testzwecken (Sharewareprinzip) möglich.