Seite 2 von 12

Array mit Werten füllen

BeitragVerfasst: Do 6. Jan 2005, 18:13
von Severestorms
Hallo Stephan

Sehr interessant und verständlich zu lesen! Danke für die ausführliche Erklärung.

Array mit Werten füllen

BeitragVerfasst: Sa 14. Apr 2007, 16:48
von Bernhard Oker
Habe endlich mir die Zeit genommen mit den ganzen Tips von Stephan etwas zu machen:

Bild

Bild
(Temperaturen ohne Höhenmodelldaten = Wert auf 1500m)

Interpolation mit:
http://www.ems-i.com/gmshelp/Interpolation/Interpolation_Schemes/Inverse_Distance_Weighted/Shepards_Method.htm


PS: Kennt jemand eine Quelle für ein Höhenmodell welches den ganzen Bereich der Karte abdeckt?

Gruss
Bernhard

Array mit Werten füllen

BeitragVerfasst: Sa 14. Apr 2007, 17:22
von Willi
@Bernhard, der "global" Datensatz, ist glaub ich frei verwendbar, hat aber "nur" 2-3 km Auflösung.

Gruss Willi

Array mit Werten füllen

BeitragVerfasst: Sa 14. Apr 2007, 17:52
von Innerschwyzer
Hallo,

Eine Frage: Woher kriegt man die Rohdaten, die man später interpoliert und zu einer solch praktischen Karte verarbeitet? Welche Kenntnisse muss man haben, sei dies in der Geostatik oder bei der Befehlseingabe am PC?

Grüess!

Array mit Werten füllen

BeitragVerfasst: Sa 14. Apr 2007, 18:18
von Bernhard Oker
@Innerschwyzer
Du brauchst eingentlich nur die Messwerte sowie die Angabe der Koordinaten der Station und deren Höhe über Meer.
Dann kannst du den Angaben von Stephan oben folgen und erhälst damit die Karte.

In meinem Programm läuft das wiefolgt ab:
1. Höhenmodell in 2D Array einlesen und auf Grösse der Karte anpassen.
2. Messwerte + Stationsangaben aus Datenbank laden.
3. Messwerte auf eine bestimmte Höhe umrechnen (bei mir 1500m) anhand der nächten umliegenden Stationen, durch Bestimmung der durchschnittlichen Temperaturabnahme mit der Höhe.
4. Messwerte an durch Koordinaten der Station bestimmten Position in 2D Array eintragen.
5. Werte der durchschnittlichen Temperaturabnahme in 2D Array eintragen (gleiche Position wie Messwerte).
6. Interpolation der 2D Messwerte und Temperaturabnahme Arrays mit der "Inverse Distance Weighting" Methode.
7. Mittels Höhenmodell und Temperaturabnahme den Messwerte-Array auf den korrekten Wert umrechnen.
8. Die Messwerte grafisch aufbereiten.

Messnetz MeteoSchweiz:
http://www.meteoschweiz.ch/web/de/services/datenportal/messnetze.Par.0003.DownloadFile.tmp/smnliste.pdf

Das Höhenmodell der Schweiz in 1km Auflösung:
http://www.swisstopo.ch/de/download/freedata/dhm1000

Gruss
Bernhard

Array mit Werten füllen

BeitragVerfasst: So 15. Apr 2007, 16:54
von Bernhard Oker
Hallo

Weiss jemand von euch wie ich die SRTM3 Daten in eine Form bekomme wie z.B. die Daten vom DHM1000 von SwissTopo?

SRTM3 Daten: ftp://e0srp01u.ecs.nasa.gov/srtm/version2/


Gruss
Bernhard

Array mit Werten füllen

BeitragVerfasst: So 15. Apr 2007, 18:27
von Willi
@Bernhard, der Link tut nicht im Moment.
Gruss Willi

Array mit Werten füllen

BeitragVerfasst: So 15. Apr 2007, 21:34
von Bernhard Oker
Habe es geschafft die Daten zu dekodieren. War schlussendlich nicht wirklich kompliziert. :D

Ein erster Ausschnitt: (Zoomfaktor von 1:3 beachten)
http://www.sturmforum.ch/forum_uploads/incoming/20070415_213228.png
(Schwarze Flächen sind undefiniert.)

Die Auflösung des SRTM3 der NASA liegt bei 3 Bogensekunden was ewas mehr als 90m sind.

Gruss
Bernhard
- Editiert von Bernhard Oker am 15.04.2007, 22:05 -

Array mit Werten füllen

BeitragVerfasst: So 15. Apr 2007, 22:45
von Alfred
Sali @Berhard

Wie ist es nun mit dem ©? :-D

Grüess, Alfred
[hr]

Array mit Werten füllen

BeitragVerfasst: Mo 16. Apr 2007, 07:02
von Bernhard Oker
@Alfred
Habe bis jetzt nur 5.3 GB Daten für Eurasien gefunden, aber kein Copyright.


Infos zum dekodieren für "Little-Endian" Systeme:
Bei den .hgt Dateien einfach die geraden und ungeraden Bytes vertauschen (1<>2, 3<>4, ...) und dann die Daten der Reihe nach als 16Bit (2Byte) Integer Werte auslesen. 1201 * 1201 * 2Bytes = 2884802 Bytes pro .hgt Datei.


Mal schauen ob ich die fehlenden Werte mit dem DHM1000 füllen kann...

Gruss
Bernhard
- Editiert von Bernhard Oker am 16.04.2007, 07:23 -