Prototyp und Beschreibung der Funktion getelevation30()

(Funktion der freischaltpflichtigen Gruppe "Höhenberechnungen")

 

getelevation30()
Geländehöhe aus dem 30 Sek. Höhenmodell GLOBE an einem Punkt.

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

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


Die Funktion ermittelt die Geländehöhe aus dem 30 Sekunden Höhenmodell
(1 km Raster) GLOBE an einem durch geographische Koordinaten definierten
Punkt.

Das 30 Sekunden Höhenmodell der NASA Shuttle Radar Topographic Mission
"Global Land One-Kilometer Base Elevation (GLOBE)" im Datenset G.O.O.D. ist
für private und kommerzielle Zwecke frei verfügbar. Ein mit den nationalen
Höhenmodellen vieler Länder abgeglichenes Datenset B.A.D. kann für die
kommerzielle Nutzung für wenig Geld beim GLOBE Task Team erworben werden.
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
"GLOBE Task Team". Diese Organisation hat die Originaldaten der NASA
überarbeitet und ergänzt. Bitte beachten Sie die Nutzungsbedingungen und
das Urheberrecht des GLOBE Task Team.

Das 30 Sekunden Höhenmodell besteht aus insgesamt 16 Dateien mit
Höhenangaben der gesamten Erdoberfläche. Jede Datei umfasst einen Bereich
von 90 Längen- und 40 bzw. 50 Breitengraden. Die Geländehöhen sind in einem
30 Sekunden Gitter abgelegt. Das entspricht einer Auflösung von maximal
925 x 925 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 "National Geophysical
Data Center (NGDC)".

Sie können die Daten des 30 Sekunden Höhenmodells von der Internetseite des
"National Geophysical Data Center" herunterladen. Die aktuelle
Internetadresse lautet "http://www.ngdc.noaa.gov/mgg/topo/report/". Klicken
Sie in der Navigationsspalte auf den Link "GLOBE Data". Aktivieren Sie auf
der neu geöffneten Seite den Link "Any or all 16 tiles". Klicken Sie im
Weltkartenraster mit der rechten Maustaste in die Segmente, aus denen Sie
Höhendaten benötigen. Wählen Sie im Kontextmenü die Option "Ziel speichern
unter..." um die Daten auf Ihren Rechner zu kopieren. Alternativ steht auch
der FTP-Server "ftp.ngdc.noaa.gov" zur Verfügung. Tragen Sie als UserID
"anonymous" und als Password Ihre Email-Adresse ein.

Nach dem Entpacken der ZIP-komprimierten Daten liegen diese verwendungsfähig
als Binärdateien vor. Um die Daten mit GeoDLL-Funktionen nutzen zu können,
muss mit der Funktion setelev30datapath() nur noch der Datenpfad zu den
Höhendaten bekannt gemacht werden.

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 Genauigkeit [m]  ‹ 6               ‹ 6
Vertikale Genauigkeit [m]    ‹ 10              ‹ 6
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 30 x 30 Sekunden Rasterfeldes interpoliert. Die
            Berechnung ist genau, aber relativ langsam.
            FALSE: Die Höhe entspricht dem Wert des die Koordinate
            enthaltenden 30 x 30 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.