W okresie świątecznym i na przełomie roku wykonałem kilka eksperymentów weryfikujących jakość dodawania współrzędnych za pomocą synchronizacji czasu odbiornika GPS i aparatu. Dokładnie siedem prób (odpowiednio data: zdjęcia ogółem/zdjęcia oznaczone): 20071226: 61/61, 20071228: 11/11, 20071229: 29/29, 20071230: 71/71, 20071230: 48/48, 20080101: 30/30, 20080102: 8/22. Łącznie zdjęć było zatem 260 z czego 16 (6,1%) nie zostało zsynchronizowanych. Większość zdjęć została oznakowana z zadowalającą albo nawet dobrą dokładnością. Niektóre trasy były łatwe: płaski teren. Ale trasa z 31.12 prowadziła w sporej części przez gęsty las a GPS się nie pogubił. Dziś poszedłem jeszcze dalej do lasu, no i GPS tym razem odmówił kooperacji. A GPSa -- zgodnie z zaleceniem, żeby był jak najwyżej -- noszę pod czapką!
Przerobiłem swoje skrypty, oraz bibliotekę dla Emacsa. Aby odróżnić zdjęcia zawierające zdefiniowane tagi EXIF ze współrzędnymi geograficznymi od tych, które tej informacji nie zawierają, generowana miniatura zdjęcia zawiera czerwony prostokąt w lewym górnym rogu (jeżeli zdjęcie jest już geotagowane). No tak to sobie wymyśliłem.
Niektóre ślady GPS na mojej stronie zawierają teraz miniatury zdjęć. Publikuję też dane w formacie KML. Uaktualniony opis jest tutaj. Detaliczna instrukcja jak używać GPSphoto. jest zaś tutaj.
Dopisane 8 maja 2008/Zmodyfikowane 27 sierpnia 2008: Podsumowanie procedury pobrania śladu z urządzenia GPS i ich zamiany na ślad w formacie GPX/KML:
-
Ślad z urządzenia jest pobierany albo za pomocą gpsbabela albo programu bt747.
-
Skrypt
nmea2gpx
zamienia dane w formacie NMEA na GPS w razie potrzeby wycinając fragment śladu i upraszczając go (opcja-max liczba-punktów
). Skrypt akceptuje także inne formaty danych wejściowych (opcja-format
):
nmea2gpx -od czas -do czas -max liczba [-format format ] [-U ] [-out plik.gpx] plik -
Skrypt
My-photo-sync.sh
(wykorzystującygpsPhoto.pl
) ,,synchronizuje'' ślad ze zdjęciami i generuje plik w formacie KML:
My-photo-sync.sh -d katalog-zdjęć -f plik.gpx -t różnica-czasówróżnica czasów jest obliczana za pomocą skryptu
exif_datetime.pl
exif_datetime -b czas_z_GPSa -f zdjęcie -o GMT_offset_in_secondsgdzie: zdjęcie, to nazwa pliku ze zdjęciem ekranu GPSa; czas_z_GPS, to czas wyświetlany przez GPSa na ww. zdjęciu; GMT_offset_in_seconds, różnica między czasem lokalnym a GMT (niektóry GPSy to wyświetlają, a jak nie to łatwo jest to obliczyć). Ponieważ uruchamianie
exif_datetime
w ww. sposób dla każdej sesji zdjęciowej jest pracochłonne można też napisać:
exif_datetimePowyższe wyświetli przesunięcia czasowe zapisywane w pliku
~/.time_offset
. Ponieważ czas w aparatach rozsynchronizowuje się w miarę wolno, wystarczy co kilka tygodni aktualizować~/.time_offset
.Można też napisać:
My-photo-sync.sh -d katalog-zdjęć -f plik.gpx -aPrzesunięcie zostanie pobrane automatycznie z pliku
~/.time_offset
. [Nie trzeba uruchamiaćexif_datetime
.] -
W wyniku wykonania
My-photo-sync.sh
powstaje także plik.kml
. Skrypt perlowykml-adjust-urls
zamienia linki do zdjęć w pliku KML, tak aby wskazywały na zdjęcia umieszczone w serwisie flickr.com (skryptMy-photo-sync.sh
oryginalnie wstawia linki lokalne). Przed wykonaniemkml-adjust-urls
należy wykonaćflickr_update_kb
bokml-adjust-urls
pobiera informacje nt. zdjęć lokalnie z bazy utworzonej przezflickr_update_kb
.
kml-adjust-urls plik.kmlUbocznym efektem działania
kml-adjust-urls
jest plikplik.wpts
zawierający elementy<wpt>
określające linki do zdjęć umieszczonych na flickr.com. Zawartość tego pliku można dodać do plikuplik.gpx
uzskanego w kroku #2. Ślad -- wyświetlony w googlemaps -- będzie wtedy zawierał ,,pinezki'' z minaturami zdjęć.Niektóre zdjęcia z lokalnego katalogu nie są umieszczone na flickr.com. Skrypt
kml-skip-deadlinks
usuwa takie zdjęcia z pliku KML. Mało eleganckie rozwiązanie -- jeden skrypt by wystarczył, ale nie mam czasu w tej chwili poprawiać skryptukml-adjust-urls
: Skryptkml-adjust-urls
usuwa takie zdjęcia z pliku.kml
.
Brak komentarzy:
Prześlij komentarz