Statystycznie obliczająca rzeczywistą drogę z zestawu śladów GPS?


18

Uczestniczę w kolarstwie długodystansowym i zaczęliśmy rutynowo zbierać dane GPS od naszych zawodników.

Moim zainteresowaniem jest obliczenie „prawdziwej trajektorii” przyszłych zdarzeń na podstawie zgromadzonych danych GPS na tych samych drogach. Zasadniczo oznaczałoby to przekazanie niektórych wstępnie wybranych ścieżek do algorytmu, a algorytm wygenerowałby punkty z odpowiednią częstotliwością próbkowania (odpowiednia odległość od siebie w zależności od zakrętów drogi). Odrzucę znaczniki czasu, biorąc pod uwagę tylko przestrzenne informacje o ścieżce.

Jakich algorytmów / metod statystycznych mogę użyć? Nie używam żadnego pakietu GIS i planuję zaimplementować to w Pythonie.

Poniżej kilka przykładowych zestawów trajektorii:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


Ciekawy projekt - dość podobny do algorytmu kontroli, który napisałem lata temu. Ponieważ jestem leniwy, mogę zaoferować tylko kilka wskazówek. Najważniejsze czynniki to kierunek podróży, jakość sygnału i prędkość (np. Jeśli tylko stoisz w pobliżu, to nie jest droga). Najlepiej najpierw wyeliminować punkty, które są zbyt daleko w ten sposób. Poza tym zastosowałbym algorytm wygładzania (spróbuj DP), a następnie uśredniał linie.
nagytech

DP = programowanie dynamiczne, prawda? Wikipedia dała mi długą pracę domową, czytając to na dzisiejszy wieczór ... Dzięki na teraz!
heltonbiker

Ciekawe, powiązane pytanie brzmi: gis.stackexchange.com/questions/42224/…
heltonbiker

Coś naprawdę, NAPRAWDĘ warte sprawdzenia są ustawienia GPS - niektóre urządzenia GPS „przyciągają” Twoją pozycję do najbliższej drogi w bazie danych GPS, nawet jeśli prawdziwa droga jest oddalona o 10 + m.
Simbamangu,

@Simbamangu to byłoby naprawdę miłe. Wierzę, że oprogramowanie, którego używam dzisiaj w telefonie z Androidem, tego nie ma. Ale i tak większość moich utworów została zebrana przez innych ludzi w ciągu ostatnich miesięcy. Dzięki za wskazówkę!
heltonbiker

Odpowiedzi:


11

Chris Brunsdon wygłosił referat na ten temat podczas konferencji GeoComputation 2008 - patrz http://www.geocomputation.org/2007/1B-Algorithms_and_Architecture1/1B2.pdf

W artykule omawia sposób zastosowania analizy krzywej głównej (Hastie i Stuetzle 1989) i podaje kilka sugestii dotyczących sposobu zwiększenia niezawodności metody. Dalsze wyszukiwanie prowadzi do dyskusji na temat narzędzia OSM o nazwie osm-makeroads, które może rozwiązać Twój problem (lub przynajmniej zacząć).


Rzuć okiem i przekaż opinię wkrótce! Dzięki za teraz!
heltonbiker

4
+1 Miłe referencje. Potrzebuje jednak pracy, ponieważ pomija podstawowy problem ze śladami GPS: błędy nie są niezależne od jednego punktu do drugiego. Zamiast tego błąd GPS popełniony w jednym punkcie będzie zwykle bardzo podobny do błędu popełnionego w następnym punkcie na tym samym śladzie. Widać to na ilustracjach Brunsdona: problematyczne (odległe) punkty wyraźnie leżą na jednym lub dwóch wyjątkowych śladach; nie są ani sporadyczne, ani przypadkowe. Zatem istnieje ogromny potencjał poprawy poprzez modelowanie tej autokorelacji i dostosowanie jej w algorytmie.
whuber

2
@whuber zgodził się. Coś, czego większość algorytmów nie bierze pod uwagę (jak już się dowiedziałem, główna krzywa jest jednym z nich), to to, że zestawy ścieżek GPS nie są chmurami punktów, lecz chmurami „liniowymi”. Są to rzeczywiście połączone wektory lub coś w tym rodzaju. Biorąc pod uwagę tylko punkty, generowane jest odchylenie w kierunku ścieżek o wyższej częstotliwości próbkowania, zamiast regionów, w których LINIE z różnych ścieżek są bardziej gęste ...
heltonbiker

2
Ta rozmowa jest kontynuowana w powiązanym wątku na stronie stats.stackexchange.com/questions/69329 .
whuber

@whuber W tej odpowiedzi zapisałem pomysł, który przyszedł mi do głowy, aby zrobić to za pomocą mapy cieplnej. Doceniam wszelkie sugestie.
Stefan
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.