• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Interpolation von SRTM-Daten

yss

Geonewbie
Hallo Community

Meine Situation: Ich versuche SRTM-Daten (Quelle: http://www.viewfinderpanoramas.org/Coverage map viewfinderpanoramas_org3.htm) Meter genau (Ungenauigkeiten bzgl. der Höhe sind nebensächlich) zu interpolieren. Das Ganze ist für ein Computerspiel. Dazu teile ich die Welt in 16x16m Regionen auf, auch Chunk genannt, und interpoliere dann jeden Block (insgesamt 256 Blöcke pro Chunk) wie folgt:

1. Ausrechnen der Geoposition (Längen/Breitengrad) für den Block. Dazu nehme ich die Startposition und addiere die Entfernung vom Start drauf. Formel habe ich hier gefunden: http://stackoverflow.com/questions/7477003/calculating-new-longtitude-latitude-from-old-n-meters
2. Berechnen der Geoposition für meine 4 Punkte q11 q12 q21 q22, welche ich für die Interpolation (bilinear) brauche. Dazu addiere bzw. subtrahiere ich jeweils 45m in x und z Richtung, um für jeden Punkt jeweils den nächsten Gitterpunkt im SRTM-Raster zu erhalten.
Hier eine Zeichnung:
Cbf8q.png

3. Ich berechne jeweils für q11 q12 q21 q22 die Höhe, in dem ich den nächsten Gitterpunkt in der hgt-Datei suche und die Höhe auslese (dabei geholfen hat mir folgender Link: http://gis.stackexchange.com/questions/43743/how-to-extract-elevation-from-hgt-file])
4. Ich führe die Interpolation aus.

Das Ergebnis sieht im Moment noch ziemlich unschön aus, eher wie ein Trümmerfeld. Man kann allerdings die ungefähren Konturen der Landschaft schon erkennen. Ich vermute den Fehler bei der Berechnung der 4 Punkte q11 q12 q21 q22. Allerdings weiß ich nicht, wie ich sonst die nächsten 4 Gitterpunkte finden soll.
Habt ihr Tipps für mich?

Vielen Dank :)
 

moenk

Administrator
Teammitglied
Ich weiss ja nicht was Du genau mit den Höhen machen willst, aber ich würde eine fertige Funktion verwenden die sich ein Höhenmodell für ein Land nimmt und dann die Höhe interpoliert abgreift.
Beispiel Folie 9: http://de.slideshare.net/moenk/gisdday-2014-geocodierung-mit-r-am-beispiel-google-maps-api
 
OP
Y

yss

Geonewbie
GoogleMaps hat leider eine Limitierung mit 2500 Anfragen pro Tag, was für mein Vorhaben nicht in Frage kommt.
Leider habe ich noch kein Programm gefunden, bei welchem ich die SRTM-Daten einlesen kann und dann für jeden Meter die interpolierten Höhenangaben bekomme...
 

moenk

Administrator
Teammitglied
Da hast Du nicht richtig geguckt. Das hat mit Google Maps nix zu tun, wenn Du Dir den Code auf Folie 9 anguckst sind die Koordinaten aus Google schon längst da, genau wie bei Dir. Da wird nur noch aus dem SRTM die Höhe eingesetzt so wie Du es haben möchtest. Das kannste für Millionen Punkte machen wenn Du willst.
 
Oben