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
nmea2gpxzamienia 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_datetimew 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.shpowstaje także plik.kml. Skrypt perlowykml-adjust-urlszamienia linki do zdjęć w pliku KML, tak aby wskazywały na zdjęcia umieszczone w serwisie flickr.com (skryptMy-photo-sync.shoryginalnie wstawia linki lokalne). Przed wykonaniemkml-adjust-urlsnależy wykonaćflickr_update_kbbokml-adjust-urlspobiera informacje nt. zdjęć lokalnie z bazy utworzonej przezflickr_update_kb.
kml-adjust-urls plik.kmlUbocznym efektem działania
kml-adjust-urlsjest plikplik.wptszawierający elementy<wpt>określające linki do zdjęć umieszczonych na flickr.com. Zawartość tego pliku można dodać do plikuplik.gpxuzskanego 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-deadlinksusuwa 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-urlsusuwa takie zdjęcia z pliku.kml.
Brak komentarzy:
Prześlij komentarz