Statistische Berechnung der realen Straße aus einer Reihe von GPS-Tracks?

18

Ich nehme an einem Radfernclub teil und wir haben begonnen, routinemäßig GPS-Daten von unseren Fahrern zu sammeln.

Mein Interesse ist es, "die reale Flugbahn" für zukünftige Ereignisse auf der Grundlage von gesammelten GPS-Daten auf denselben Straßen zu berechnen. Grundsätzlich würde dies bedeuten, einige vorgewählte Spuren an einen Algorithmus zu übergeben, und der Algorithmus würde Punkte mit einer geeigneten Abtastrate (einem geeigneten Abstand voneinander abhängig von Straßenkurven) erzeugen. Ich werde Zeitstempel verwerfen, wobei nur räumliche Titelinformationen berücksichtigt werden.

Welche Algorithmus- / Statistikmethoden könnte ich verwenden? Ich verwende kein GIS-Paket und plane, dies in Python zu implementieren.

Nachfolgend einige Beispieltrajektoriensätze:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Heltonbiker
quelle
Interessantes Projekt - ganz ähnlich einem Inspektionsalgorithmus, den ich vor Jahren geschrieben habe. Da ich faul bin, kann ich nur ein paar Hinweise geben. Die wichtigsten Faktoren sind Fahrtrichtung, Signalqualität und Geschwindigkeit (dh wenn Sie nur herumstehen, ist es keine Straße). Am besten zuerst die Punkte aussortieren, die zu weit davon entfernt sind. Ansonsten würde ich einen Glättungsalgorithmus anwenden (versuchen Sie DP) und dann die Linien mitteln.
Nagytech
DP = Dynamic Programming richtig? Wikipedia hat mir heute Abend eine lange Hausaufgabe gegeben ... Danke fürs Erste!
Heltonbiker
Eine interessante, verwandte Frage ist folgende: gis.stackexchange.com/questions/42224/…
heltonbiker
Etwas wirklich, das es WIRKLICH wert ist, überprüft zu werden, sind Ihre GPS-Einstellungen - einige GPS-Geräte "fangen" Ihre Position an der nächstgelegenen Straße in der GPS-Datenbank, auch wenn die reale Straße 10 m zur Seite liegt.
Simbamangu
@Simbamangu das wäre in der Tat eine sehr schöne Sache. Ich glaube, die Software, die ich heute in einem Android-Handy verwende, hat das nicht. Trotzdem wurden die meisten meiner Tracks in den letzten Monaten von anderen Leuten gesammelt. Danke für den Tipp!
Heltonbiker

Antworten:

11

Chris Brunsdon hielt auf der GeoComputation-Konferenz 2008 einen Vortrag zu diesem Thema - siehe http://www.geocomputation.org/2007/1B-Algorithms_and_Architecture1/1B2.pdf

In dem Artikel erörtert er die Anwendung der Hauptkurvenanalyse (Hastie und Stuetzle 1989) und macht einige Vorschläge zur Erhöhung der Robustheit der Methode. Weitere Recherchen führen zu einer Diskussion über ein OSM-Tool namens Osm-Makeroads, das Ihr Problem möglicherweise löst (oder Sie zumindest zum Einstieg bringt).

Ian Turton
quelle
Werfen Sie einen Blick darauf und geben Sie bald ein Feedback! Danke erstmal!
Heltonbiker
4
+1 Schöne Referenz. Es muss jedoch noch gearbeitet werden, da ein grundlegendes Problem mit GPS-Spuren übersehen wird: Die Fehler sind nicht von einem Punkt zum nächsten unabhängig. Stattdessen ist der an einem Punkt gemachte GPS-Fehler in der Regel dem am nächsten Punkt auf derselben Messkurve gemachten Fehler sehr ähnlich. Sie können dies in Brunsdons Illustrationen sehen: Die problematischen (äußeren) Punkte liegen eindeutig auf ein oder zwei außergewöhnlichen Spuren; Sie sind weder sporadisch noch zufällig. Daher besteht ein großes Verbesserungspotential, wenn diese Autokorrelation modelliert und im Algorithmus angepasst wird.
Whuber
2
@whuber stimmte zu. Etwas, das die meisten Algorithmen nicht berücksichtigen (wie ich bereits herausgefunden habe, sind die Hauptkurven eine davon), ist, dass GPS-Streckensätze keine Punktwolken, sondern "linestring" -Wolken sind. Sie sind in der Tat verbundene Vektoren oder so ähnlich. Wenn nur Punkte berücksichtigt werden, entsteht eine Tendenz zu Tracks mit höherer Samplerate anstelle der Regionen, in denen LINES von verschiedenen Tracks dichter sind ...
heltonbiker
2
Diese Unterhaltung wird in einem verwandten Thread unter stats.stackexchange.com/questions/69329 fortgesetzt .
Whuber
@whuber In dieser Antwort habe ich eine Idee aufgeschrieben, die mir in den Sinn kam, dies mit Hilfe einer Heatmap zu tun. Ich freue mich über Vorschläge.
Stefan