Prototyp und Beschreibung der Funktion getelevation03()

(Funktion der freischaltpflichtigen Gruppe "Höhenberechnungen")

 

getelevation03()
Geländehöhe aus dem 3 Sek. CGIAR Höhenmodell an einem Punkt.

Prototyp der DLL-Funktion in C++ Syntax (Kleinschreibung beachten!):
extern "C" __declspec(dllimport) unsigned long __stdcall getelevation03(
     double nGeoLon,
     double nGeoLat,
     unsigned long lInterpol,
     short *nElevation);

Prototyp der DLL-Funktion in Visual Objects Syntax:
_DLL function getelevation03(;
     nGeoLon as real8,;                     // 8 Byte
     nGeoLat as real8,;                     // 8 Byte
     lInterpol as logic,;                   // 4 Byte
     nElevation REF SHORTINT);              // 4 Byte
as logic pascal:geodll32.getelevation03     // 4 Byte


Die Funktion ermittelt die Geländehöhe aus dem 3 Sekunden Höhenmodell
(90 m Raster) CGIAR an einem durch geographische Koordinaten definierten
Punkt.

Das 3 Sekunden Höhenmodell der NASA Shuttle Radar Topographic Mission
"SRTM 90m Digital Elevation Data" ist für nicht kommerzielle Zwecke frei
verfügbar und für die kommerzielle Nutzung für wenig Geld vom CGIAR zu
erwerben. Mit einer Lizenz für die GeoDLL-Funktionsgruppe
"Höhenberechnungen" haben Sie nur das Recht erworben, die Funktionen zur
Berechnung der Höhendaten zu verwenden. Die Höhendaten selbst unterliegen
dem Urheberrecht des "CGIAR Consortium for Spatial Information". Diese
Organisation hat die Originaldaten der NASA überarbeitet und ergänzt. Bitte
beachten Sie die Nutzungsbedingungen und das Urheberrecht CGIAR.

Das 3 Sekunden Höhenmodell besteht aus insgesamt 1728 Dateien mit
Höhenangaben zwischen dem 60. nördlichen Breitengrad und dem 60. südlichen
Breitengrad. Jede Datei umfasst einen Bereich von 5 Längen- und
5 Breitengraden. Die Geländehöhen sind in einem 3 Sekunden Gitter abgelegt.
Das entspricht einer Auflösung von maximal 90 x 90 Metern in Äquatornähe.
Zu den Polen hin verdichtet sich das Netz mit zunehmender Auflösung über
der geographischen Breite. Die Höhendaten sind horizontal mit Geographischen
Koordinaten im Bezugssystem WGS84 georeferenziert. Vertikal wird die
Geländehöhe über der Mittleren Meereshöhe (Mean Sea Level) in ganzen Metern
abgebildet. Weitere Informationen finden Sie auf der Internetseite des
CGIAR.

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, muss mit der
Funktion setelev03datapath() zunächst der Datenpfad zu den Höhendaten
bekannt gemacht werden. Beim ersten Zugriff einer GeoDLL-Funktion auf eine
Datei im ASCII-Format wird diese in das wesentlich effizientere und
kompaktere Binärformat umgerechnet. Die Umrechnung kann bis zu einer halben
Minute dauern. Um während der Umrechnung weiter arbeiten zu können, kann
die Event-Bearbeitung eingeschaltet werden (siehe unten). Zukünftige
Zugriffe erfolgen direkt auf die neu erzeugte Datei im Binär-Format. Die
ASCII-Datei kann gelöscht werden. Die Umrechnung in das Binärformat kann
alternativ auch mit der Funktion convelev03ascii2bin()durchgeführt werden.

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.

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.

Unterschiede zwischen den Höhenmodellen GLOBE und CGIAR:
Höhenmodell:                 GLOBE             CGIAR
GeoDLL-Funktion              getelevation30()  getelevation03()
Bereich Länge [Grad]         -180 bis 180      -180 bis 180
Bereich Breite [Grad]        -90 bis 90        -60 bis 60
Auflösung [sec]              30 x 30           3 x 3
Auflösung [m]                925 x ‹= 925      90 x ‹= 90
Horizontale Referenz         WGS84             WGS84
Vertikale Referenz           Mean Sea Level    Mean Sea Level
Horizontale Abweichung [m]   ‹ 6               ‹ 6
Vertikale Abweichung [m]     ‹ 10              ‹ 7
Anzahl Dateien               16                1728
Dateigröße [MB]              101 bis 126       70
Dateibereich [Grad]          90 x 40/50        5 x 5


Die Parameter werden folgendermaßen übergeben bzw. zurückgegeben:
nGeoLon     Geographische Länge des zu höhenreferenzierenden Punktes in
            [Grad]-Notation vggg.ggg und im Bezugssystem WGS84.

nGeoLat     Geographische Breite des zu höhenreferenzierenden Punktes in
            [Grad]-Notation vgg.ggg und im Bezugssystem WGS84.

lInterPol   TRUE: Die Höhe wird aus den 4 Eckpunkten des die Koordinate
            enthaltenden 3 x 3 Sekunden Rasterfeldes interpoliert. Die
            Berechnung ist genau, aber relativ langsam.
            FALSE: Die Höhe entspricht dem Wert des die Koordinate
            enthaltenden 3 x 3 Sekunden Rasterfeldes. Die Berechnung ist
            weniger genau, aber schnell.

nElevation  Geländehöhe über dem Meeresspiegel in Meter als Ergebnis der
(ref)       Berechnung. Bei Wasserbedeckung wird der Wert 0 zurückgegeben.
            Im Fehlerfall liefert die Funktion den Wert 9999.

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.


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.