... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Eigenartige Abweichung in der Trackdarstellung
#1
Wenn man meine Datei, wie im vorigen Post beschrieben, modifiziert (siehe Anhang), wird sie geladen und dargestellt. Allerdings zieht RC die blaue Linie direkt vom Startpunkt zum Trackpunkt 241, so dass die Trackpunkte 2-240 nicht auf der blauen Linie liegen, sondern daneben. Wie kommt das?


Attached Files Thumbnail(s)
   

.zip   FlightAware_AFR129_ZBAA_LFPG_20130518_mod.zip (Size: 15.23 KB / Downloads: 708)
Reply
#2
In Google Earth ist das auch sichtbar. Ebenfalls mit der Ursprungsdatei.
Auch dieses Zik-Zack nord-östlich von Novosibirsk. Später, bei Punkt 430 noch einmal.
--
Matthias
Reply
#3
(19.05.2013, 16:54)kumo Wrote: In Google Earth ist das auch sichtbar. Ebenfalls mit der Ursprungsdatei.
Auch dieses Zik-Zack nord-östlich von Novosibirsk. Später, bei Punkt 430 noch einmal.
Äh, ich meine nicht die Sprünge in den Koordinaten. Das sind Fehler, die durch die Übergänge zwischen verschiedenen aufzeichnenden Stationen entstanden sind. Die kann man ja auch klar an den Koordinaten ablesen.
Wovon ich spreche, ist die Tatsache, das RC, wie auch recht deutlich aus dem ebenfalls hochgeladenen Screenshot erkennbar ist, die blaue Linie für die erste 240 Trackpunkte nicht durch die Spitzen der Trackpunktmarkierungen zeichnet, sondern stattdessen eine gerade Linie von Punkt 1 zu Punkt 241 malt. Ab dem Punkt 241 verläuft die blaue Linie dann, wie erwartet, durch die Spitzen der Trackpunktmarkierungen.
Reply
#4
Schon klar, aber schau einmal direkt in Google Earth: Das sieht mir dort ebenfalls nach einer geraden Linie aus.

Auch hier müssen wir wohl auf Antwort von Christian warten.
--
Matthias
Reply
#5
(19.05.2013, 18:43)kumo Wrote: Schon klar, aber schau einmal direkt in Google Earth: Das sieht mir dort ebenfalls nach einer geraden Linie aus.

Auch hier müssen wir wohl auf Antwort von Christian warten.

Leider hat er hierzu noch nichts gesagt. Aber wenn's in Google Earth genauso dargestellt wird (Ich konnte mir das immer noch nicht ansehen. Hier auf dem Netbook habe ich GE nicht installiert...), dann wird's wohl an den Jungs von Google liegen. Ich nehme mal an, daß RC die blaue Linie gar nicht selbst zeichnet, sondern nur den (kompletten?) Track an Google Maps übergibt. Oder liege ich da falsch?
Reply
#6
(22.05.2013, 16:47)myce Wrote:
(19.05.2013, 18:43)kumo Wrote: Auch hier müssen wir wohl auf Antwort von Christian warten.

Leider hat er hierzu noch nichts gesagt.

Nicht so ungeduldig. Da gibt es derzeit zwei Kurze, die mich sehr beschäftigen - und das Problem ist kompliziert.

(22.05.2013, 16:47)myce Wrote: Aber wenn's in Google Earth genauso dargestellt wird (Ich konnte mir das immer noch nicht ansehen. Hier auf dem Netbook habe ich GE nicht installiert...), dann wird's wohl an den Jungs von Google liegen. Ich nehme mal an, daß RC die blaue Linie gar nicht selbst zeichnet, sondern nur den (kompletten?) Track an Google Maps übergibt. Oder liege ich da falsch?

Jein.

RouteConverter minimiert die Anzahl der an Google Maps übergebenen Wegpunkte mit dem Douglas-Peucker-Algorithmus, um den IE nicht zu crashen, das Rendern zu beschleunigen, die übertragenen Datenmengen zu reduzieren, die Google Maps-Limitierungen einzuhalten.

Dein Track scheint der "Worst Case" für den Douglas-Peucker-Algorithmus zu sein, da der Beginn des Tracks auf einem Großkreis verläuft. Der betrachtet nun rekursiv den Track, bildet einen Großkreis von immer kleiner werdenden Teilintervallen und eliminiert alle Positionen, die unterhalb eines Schwellwertes liegen.

Ich habe etwas mit den Schwellwerten gespielt, doch die ersten etwa 200 Positionen werden immer zu einem Interval [0, 209] verdichtet. Da muß ich nochmal mit @EddiVanDerAlm sprechen...
--
Christian
Reply
#7
(23.05.2013, 11:17)routeconverter Wrote: Dein Track scheint der "Worst Case" für den Douglas-Peucker-Algorithmus zu sein,

Hallo Christian,

denk mal über eine Umstellung auf den Reumann-Witkam-Algorithmus nach:

http://psimpl.sourceforge.net/reumann-witkam.html
http://www.ifp.uni-stuttgart.de/lehre/vo..._de_6.html
http://www.naviuser.info/forum/showpost....stcount=12
Grüße
Hans

Reply
#8
Wie Christian schon geschrieben hat wird für die Trackanzeige nur die Punkte verwendet die tatsächlich notwendig sind. Auf einer Strecke die 100 Kilometer gerade in eine Richtung führt, macht es auf der Ansicht keinen Unterschied ob nur der Anfangs- und Endpunkt angezeigt wird, oder ob jede 100 Meter ein Punkt ist. Diese Berechnung geschieht mit dem Douglas-Peuker-Algorithmus.

Dieser spezielle Track startet in Peking und geht von dort aus ca. 3000 Kilometer ziemlich genau im Winkel von 312,2° nach Sibirien. Da ist dann wieder genau die gerade Strecke und der Algorithmus nimmt nur Start- und Endpunkt für die Anzeige.

Das Problem entsteht jetzt dadurch, dass für die Kartenanzeige die runde Erdkugel auf die Scheibe der Kartenanzeige projeziert wird (Mercator-Projektion). Und damit kommt es zu einer "Verzerrung" der Strecke von A nach D. Wenn man aber die Einzelpunkte B, C anklickt, werden diese neben der Linie gezeigt, da in diesem Fall die Position auf die richtige Stelle projekziert wird. Wenn Google die Strecke also korrekt anzeigen wollte, müsste die Strecke auf dem Bildschirm eine Kurve darstellen.

Das Problem läßt sich eigentlich nicht lösen, sondern ist durch die Projektion bedingt. Zum Testen kann man auch im Routeconverter eine Strecke von Deutschland nach Florida erstellen (oder den Schulatlas nehmen). In der Anzeige geht die Linie über die Biskaya über den Atlantik. Schaut man sich das ganze auf dem Globus oder Google Earth an, geht die kürzeste Strecke über England, Irland, Neufundland die US-Ostküste hinunter.

Ich glaube daher nicht, dass ein anderes Verfahren der Punktreduzierung hier zu einem anderen Ergebnis kommt.

Das war mal der laienhafter Versuch das Problem zu erklären, vielleicht sind hier ja noch Leute im Forum die vom Fach sind und meine Aussage korrigieren oder ergänzen können. Oder vielleicht einen Lösungsvorschlag bringen können.
Reply
#9
Nach einem Kaffee und etwas Internetrechere wie man das Problem lösen kann, bin ich auf eine ganz einfache Lösung gekommen. Die Google-Api bietet für das Problem eine Option. Bei Interesse: Maps-Api Geodesic-Option

Damit funktioniert es korrekt mit dem beigefügten Track. Auch andere große Distanzen werden dann über den Großkreis dargestellt. Jetzt ist die Frage will man das immer haben. Ist es für jeden verständlich, dass wenn er einen Punkt in Deutschland und einen in Florida macht einen "Bogen" gezeichnet bekommt?

Ich habe Christian über github den Code zur Verfügung gestellt, der immer die geodesic-Option nutzt.
Reply
#10
(23.05.2013, 20:52)EddiVonDerAlm Wrote: Damit funktioniert es korrekt mit dem beigefügten Track. Auch andere große Distanzen werden dann über den Großkreis dargestellt. Jetzt ist die Frage will man das immer haben. Ist es für jeden verständlich, dass wenn er einen Punkt in Deutschland und einen in Florida macht einen "Bogen" gezeichnet bekommt?

Wahrscheinlich nicht, oder? Daß die bisherigen Geraden nicht korrekt sind, fällt auch jetzt erst auf. Wenn das im V3 API eingeführt wurde, hat das auch 2 Jahre niemand bemerkt.

(23.05.2013, 20:52)EddiVonDerAlm Wrote: Ich habe Christian über github den Code zur Verfügung gestellt, der immer die geodesic-Option nutzt.

Ich habe gerade eine neue Vorabversion hochgeladen, damit ihr testen und berichten könnt.
--
Christian
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)