Wziąłem aparat na dzisiejsze jeżdżenie rowerowe i popstrykałem trochę zdjęć w czasie jazdy. Rowerzyści są na nich od strony rewersu widoczni w większości (por. rysunek obok), ale to tylko podnosi autentyczność--tak to wygląda w środku peletonu:-)
No i GPS złośliwie się wyłączył w okolicach Kielna czyli
tak w 2/3 trasy. Akurat zdjęcia, na których kol. Rysiu mnie sfotografował
nie mogą być geokodowane (aka geotagowane), bo ślad się urwał. Pech...
Ale, ale...
Już kiedyś tą trasą jechałem i ślad mam tyle, że nie do końca tą, pewnie
z trochę inną prędokością dziś dziś ale lepsze to niż nic.
Tyle, że stempel czasu dla każdego punktu na śladzie jest zły.
Pomyślałem, że można by oszukać
gpsphoto
,,uzupełniając'' dzisiejszy ślad kawałkiem starego. Okazało się to całkiem
proste dzięki gpsbabel:
gpsbabel -t -i gpx -f plik-we.gpx -x track,move=spec-czasu -o gpx -F plik-wy.gpx
Gdzie spec-czasu ma postać znak99d99h99m99s (99 oznacza stosowną liczbę, a poszczególne składniki są opcjonalne.) Przykładowo +2h przesunie czas o dwie godziny do przodu. Podobnie +32d0h1m42s przesunie o 13 dni, minutę i 42 sekundy ,,do przodu''.
Teraz w Google maps ustaliłem gdzie się kończy dzisiejszy ślad a następnie znalazłem
punkt na śladzie z 23 sierpnia z grubsza odpowiadający tej pozycji. Zrobiłem to zupełnie
na piechotę metodą ,,kilku przybliżeń'' (tj. wstawiałem do pliku GPX element wpt
odpowiadający punktowi ze śladu,
który był ,,w okolicy'' szukanego miejsca.
Oczywiście
pierwszy strzał był niezbyt celny, ale po kilku podstawieniach znalazłem szukany punkt).
Od tego punktu wyciąłem
do końca (bo akurat do końca trasy się pokrywały)
i zapisałem jako plik tmp.gpx
.
Teraz ustaliłem różnicę czasu między obu punktami. Do tego ostatniego zadania użyłem Perla:
#!/usr/bin/perl # Uruchom np.: delta_days.pl -w 2008:8:24:10:2:9 -p 2008:9:6:10:3:51 use Date::Calc qw/Delta_DHMS/; use Getopt::Long; GetOptions("w=s" => \$wszesniej, "p=s" => \$pozniej); @wczesniej = ex ($wszesniej); @pozniej = ex ($pozniej); my ($d, $h, $m, $s) = Delta_DHMS(@wczesniej, @pozniej); print "Różnica: d: $d, h: $h, m: $m, s: $s\n"; sub ex { my $w = shift ; return ( split /[:;-]/, $w ) }
Różnica wyniosła 13 dni, minutę i 42 sekundy. Teraz uruchomiłem gpsbabela:
gpsbabel -t -i gpx -f tmp.gpx -x track,move=+13d0h1m42s -o gpx -F tmp-out.gpx
Śladem z plik tmp-out.gpx
uzupełniłem dzisiejszy, niekompletny ślad.
Skrypt gpsphoto
(uruchomiony via My-photo-sync.sh
) zsynchronizował
wszystkie fotki. Oczywiście jest błąd (np. wynikający z tego, że wtedy i dziś
poruszałem się z różną prędkością), ale imho jest to błąd akceptowalny...
Całość jest tutaj. No i niech ktoś się teraz nie upiera, że Windowsem i Excelem to on wszystko obliczy....:-)
Jak już jestem przy tematyce rowerowej, to szukając butów SPD dla młodego usiłowałem obejrzeć stronę WWW jednego z większych trójmiejskich sklepów. Nie udało się... nur für Windows. I to tak dramatycznie: nic nie widać, w nic nie można kliknąć...