[Talk-de] Höhenmesser: Die Post war da :- )

Dimitri Junker OSM at dimitri-junker.de
Sa Feb 21 19:05:28 UTC 2009


Hallo,
ich bin gerade dabei ein Testprogramm zu schreiben. Es füllt eine 1000*1000 
große Matrix mit Höheninfos aus allen GPX-Files die ich auf meinem Rechner 
finde. Das 1000*1000 Raster liegt über Aachen mit 1/10000 Grad pro Punkt, 
also etwa 10m Seitenlänge. Falls jemand was beisteuern will...
Fertig ist:
Einleseroutine für GPX
Einsortieren der einzelnen Trackpoints in eine CPtrList je GPX
Einsortieren der einzelnen GPX in eine CPtrList
Anlegen von 2 Matritzen, in der einen wird Höhe*Gewicht aufsumiert, in der 
anderen Gewicht -> am Ende teilt man den einen Wert durch den anderen und 
hat das gewichtete Mittel
Als nächstes baue ich eine einfache grafische Ausgabe ein, so nach dem Motto 
Höhe->Grauwert, unbekannte Pixel rot

Was ich noch brauche sind Funktionen wie:
vertikalerFehler(AnzahlSat,hdop,...)
horizontalerFehler(AnzahlSat,hdop,...)
Eine Möglichkeit eine Höhenkarte auszugeben und als Overlay über eine OSM-
Karte zu legen.

bisher berechne ich nur in welches Pixel der Trackpunkt fällt und setze dann 
dort Höhe und Gewicht ein. Als Erweiterung will ich dann auch noch die 
Nachbarpixel setzen. Wenn ich hier 300m messe mit einem Fehler von 10m ist 
das Nachbarpixel wahrscheinlich auch 300m hoch, aber mit einem größeren 
Fehler, einerseits wegen des horizontalen Fehlers andererseits weil 
Steigungen >100% selten vorkommen
Wenn ein Track relativ gerade verläuft kann man zwischen den einzelnen 
Trackpoints interpolieren, natürlich wieder mit steigendem Fehler je weiter 
es vom gemessenen Ounkt entfernt ist
Ausnutzen daß die Differenz zwischen 2 aufeinanderfolgenden Trackpunkten 
genauer ist als die Einzelmessung. Hat man also einen sehr genauen Punkt der 
von Tracks gekreuzt wird kann man damit die nähere Umgebung recht genau 
berechnen.

Für eine zukünftige Datenbank könnte ich mir z.B. vorstellen, daß man per 
Hand Gebiete markiert alls: flach, gebirgig,... Steilwände solten speziell 
markiert werden. Dies würde dann bei der Bestimmung des Fehlers 
berücksichtigt. Im Flachland könnte man also für den o.g. Nachbarpixel einen 
Fehler von 15m annehmen, im Gebirge 30m und an einer Steilwand wird ganz 
anders inter-/ extrapoliert.

Ach ja ich programmiere in Visual C++ unter Windows incl MFC usw. Aber es 
geht ja erstmal um eine Machbarkeitsstudie nicht um ein endgültiges Programm.

Dimitri





Mehr Informationen über die Mailingliste Talk-de