wtorek, 5 stycznia 2010

8 - Przykład manipulacji śladem GPS trasy rowerowej


Przypadek

Z jednej wyprawy rowerowej nagrało mi się wiele śladów GPS (GPS był wielokrotnie wyłączna i włączany, dodatkowo z przyczyn bliżej nie określonych parę razy przestawił się w nim zegar). Jak naprawić taki ślad, aby powstała jedna ułożona chronologicznie względem upływu czasu trasa rowerowa gotowa do opublikowania w google maps (GMAPS)?

Omówienie

Omawiana trasa składa się z 12 odcinków (śladów). Ślady te zazębiają się ze sobą czasowo. Co oznacza, że po wgraniu trasy do gmaps trasa nie jest wyświetlana w porządku chronologicznym, natomiast tworzy ją zbierania punktów z poszczególnych odcinków luźno połączonych ze sobą (patrz rysunek).


(Kliknij na obrazek aby zobaczyć błędy ślad)

Odcinek 1
12:09:00,12:10:23, 12:44:13 ...
Odcinek 2
12:55:00,12:56:23,12:57:13 …
Odcinek 3 ( Uwaga błędny czas - Odcinek 1 zazębia się z Odcinkiem 3)
12:10:00,12:11:44,

....

Cel

Połączyć ślady w jeden, tak aby powstała trasa z uporządkowanymi chronologicznie punktami w kolejności jakiej faktycznie była pokonana. Powstałą trasa powinna zostać zaimportowana do GMAPS jako jeden ślad.

Rozwiązanie

(jedno z możliwych rozwiązań, użyto program gpsbabel)

1.Otworzyć mapę w GoogleEarth, Każdą trasę składową śladu zapisać jako oddzielnie pliki na dysku - Wybierając dla każdego śladu prawym przyciskiem „Zapisz miejsce jako..” . W efekcie czego zapisane zostaną pliki: 1.kml 2.kml … 12.kml. Nazewnictwo plików jest chronologicznie zgodne z faktycznym czasem przejechania wybranych odcinków.

2.Wykonać konwersję plików kml do gpx za pomocą poleceń:

gpsbabel.exe -p "" -t -i kml -f 1.kml -o gpx -F 1.gpx
gpsbabel.exe -p "" -t -i kml -f 2.kml -o gpx -F 2.gpx
itp.

Powstaną pliki: Pliki 1.gpx 2.gpx .. 12.gpx

3.Gdyby nie problemy z czasem można by te pliki już połączyć w jeden. W tym przypadku należy jednak przesunąć czas w plikach (odcinkach) tak aby tworzyły jedną chronologiczną całość.

Najprościej jest dodać do każdego pliku 24 godziny czyli 1 dzień, wtedy będzie pewność, że pliki się nie zazębią czasem.

Czas dla każdego pliku od 1.gpx do 12.gpx można przesunąć poniższymi poleceniami programu gpsbabel.


(Kliknij na obrazek aby zobaczyć polecenia).

4.W plikach 1d.gpx itd. jest poprawiony czas (przesunięty o 1 dzień do przodu w każdym). Można teraz złączyć te pliki w jeden, za pomocą poniższego polecenia:


(Kliknij na obrazek aby zobaczyć polecenia).

5. Gotowa trasa jest w pliku całosc.gpx. Nim plik zostanie umieszczony na GMAPS, trzeba jeszcze go przekonwertować do KML, oraz ograniczyć ilości punktów do 400 (wymaganie gmaps).

6. Można to zrobić za pomocą polecenia

gpsbabel.exe -p "" -r -i gpx -f calosc.gpx -x simplify,count=400 -o kml -F calosc.kml

Przekształconą trasę rowerową można teraz zaimportować do GMAPS.
******************************

,