... the user friendly GPS tool


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Unrealistische Positionen in Track löschen?
#1
In meinen Tracks, insbesondere denen aus dem Google Standortverlauf (oder jetzt Zeitachse?), habe ich viele GPS- Positionen die offensichtlich fehlerhaft sind.

Das ist eigentlich nicht dramatisch, aber wenn ich z.B. am Chiemsee bin und eine schöne Tour nach Calw von vor ein paar Jahren noch mal fahren will stören diese Positionen doch enorm.

Im RC habe ich keine Möglichkeit gefunden solche Positionen, welche dann in einem Zeitraum von wenigen Sekunden kilometerweit von der vorigen entfernt und damit offensichtlich im Track unrealistisch sind, automatisch zu löschen.

Gibt es vielleicht doch eine Möglichkeit oder kennt jemand ein anderes Programm das das kann?
Reply
#2
Moin...

Du denkst scheinbar an eine Umkehrung der Funktion Position -> Lösche doppelte Positionen...

Position -> Lösche doppelte Positionen... erlaubt es, automatisiert eine Häufung von Trackpunkten zu finden, die nahe beieinander liegen (zum Beispiel im Stillstand aufgezeichnete Punkte) oder die für die Darstellung der allgemeinen Kontur des Tracks nicht relevant sind (Douglas-Peucker-Algorithmus in der aktuellen Anwendung).

Eine Quasi-Umkehrung sollte dann, basierend auf den vorherigen und nachfolgenden Trackpunkten, nach gravierenden Ausreißern suchen. Der Wert für 'gravierend' sollte möglichst noch einstellbar sein. Im Prinzip könnte auch der Douglas-Peucker-Algorithmus eine andere Verwendung finden: Im Gegensatz zur bisherigen Anwendung sollte nach Einzelpunkten gesucht werden, die sich weit ausserhalb der Kontur des Tracks befinden und deren Harmonie stören.

   
Korsika 2010 - offensichtliche Ausreisser rot markiert
--
Matthias
Reply
#3
Hallo,

ein möglicher Ansatz wäre evtl. etwas über die Geschwindigkeit zwischen den Punkten zu machen. Zumindest mache ich das immer so, wenn ich das manuell suche. Die Ausreißer haben meist irgendwelche utopischen Geschwindigkeiten bzw. Beschleunigungen, die danach wieder normal sind.

Ich weiss z.B., dass mein Auto keine 987km/h schafft oder innerhalb von 50m von 30 km/h auf 200km/h beschleunigt und dann wieder zurück bremst.

Evtl. könnte man solche Grenzen einstellbar machen und dann durch den RC die Überschreitungen finden lassen.

Gruss
Thomas
Reply
#4
Ja, genau die meine ich.

Das Minilog auf dem TomTom hatte die Ausreißer fast nicht, aber das funktioniert seit dem Update nach dem Weeknumber Rollover nicht mehr und vom Google Standortverlauf kriege ich die Rohdaten nur in Paketen zu 2 Monaten, und die sehen dann übel aus:


Attached Files Thumbnail(s)
   
Reply
#5
Mit dem Thema "zuverlässige Ausreißererkennung" beschäftigen sich Scharen von Mathematikern, eine Einführung ist hier zu lesen.

(03.07.2020, 05:33)kumo Wrote: Im Prinzip könnte auch der Douglas-Peucker-Algorithmus eine andere Verwendung finden: Im Gegensatz zur bisherigen Anwendung sollte nach Einzelpunkten gesucht werden, die sich weit ausserhalb der Kontur des Tracks befinden und deren Harmonie stören.

Der Douglas-Peucker-Algorithmus gibt das nicht her. Einfachere Lösungen: GPS-Track-Analyse hatte eine manuelle Fehlererkennung über die Suche nach Extremwerten, Trackguru hat eine geschwindigkeitsbasierte Fehlererkennung. Bei letzterem werden die Einstellungen über Profile parametriert, out of the box gibt es Pferd/Wanderer/Trekkingrad, für motorisierte Fortbewegung muß man per Editor ein neues Profil anlegen. Für RC könnte ich mir unter "doppelte Positionen löschen" einen weiteren Menüpunkt "alle Punkte mit einer Geschwindigkeit über xxx km/h markieren" vorstellen.
Grüße
Hans

Reply
#6
(03.07.2020, 08:38)lundefugl Wrote: Hallo,

ein möglicher Ansatz wäre evtl. etwas über die Geschwindigkeit zwischen den Punkten zu machen...

Jep, danke, hab ich auch schon dran gedacht.
leider kann man die Spalten nicht nach Werten sortieren, sonst wäre es einfach.

Also erst nach Geschwindigkeit, alle hohen raus und dann wieder nach Datum / Zeit.

Wenn ich die gpx aber in ner Datenbank oder Tabellenkalkulation bearbeite kommt vermutlich wenig brauchbares raus?
Manuell ist es zu viel...
Reply
#7
(03.07.2020, 10:07)nordlicht Wrote: Einfachere Lösungen: GPS-Track-Analyse hatte eine manuelle Fehlererkennung über die Suche nach Extremwerten, Trackguru hat eine geschwindigkeitsbasierte Fehlererkennung. Bei letzterem werden die Einstellungen über Profile parametriert, out of the box gibt es Pferd/Wanderer/Trekkingrad, für motorisierte Fortbewegung muß man per Editor ein neues Profil anlegen.

Besten Dank, Cool
muss ich mir mal anschauen.
Reply
#8
(03.07.2020, 08:38)lundefugl Wrote: Ich weiss z.B., dass mein Auto keine 987km/h schafft oder innerhalb von 50m von 30 km/h auf 200km/h beschleunigt und dann wieder zurück bremst.

Evtl. könnte man solche Grenzen einstellbar machen und dann durch den RC die Überschreitungen finden lassen.

Hallo Thomas,

also etwas analog zu PositionsModel#getPositionsWithinDistanceToPredecessor, das dann aus dem "Lösche Positionen" Dialog aufgerufen wird?

Das ist dann analog zu

Code:
public int[] getPositionsWithinDistanceToPredecessor(double distance) {
        List<P> positions = getPositions();
        if (positions.size() <= 2)
            return new int[0];
        P previous = positions.get(0);
        List<Integer> result = new ArrayList<>();
        for (int i = 1; i < positions.size() - 1; i++) {
            P next = positions.get(i);
            if (!next.hasCoordinates() || toDouble(next.calculateDistance(previous)) <= distance)
                result.add(i);
            else
                previous = next;
        }
        return toArray(result);
    }

bloß, dass die Bedingung
Code:
next.calculateDistance(previous) <= distance
etwas komplizierter ist.

Klingt jetzt nicht so schwierig, wenn
  • man Dateien zum Testen hat
  • vernünftige Kriterien, die sich idealerweise auf die aktuelle und die vorherige Position beziehen

Was meint ihr?
--
Christian
Reply
#9
Hier zum Testen ein stark bereinigter Track von 2010:

.zip   Korsika2010.zip (Size: 13.38 KB / Downloads: 398)
Der Track hat deutliche Ausreisser oben rechts bei Cap Corse und in der Mitte etwas nordöstlich von Corte.
--
Matthias
Reply
#10
Und was schlägst Du als Kriterium vor?
--
Christian
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)