onsdag 1 september 2010

Forerunnern som GPS data logger

Låt mig först dekryptera rubriken.

'Forerunnern' är en löparklocka. Förutom att den kan hjälpa en under själva träningen så kan man även se på träningen efteråt, såväl puls som rutt.[1] Löprutten går att se för att klockan sparar ner platsinformation genom GPS.

En 'GPS data logger' är något som sparar GPS platsinformation, och inget annat. Dylika är användbara t ex ifall man vill geotagga sina bilder --- alltså spara platsinformation inuti fotografier.

Det finns ett otal olika såna GPS moduler --- men du som redan har (t ex) en Forerunner kan lika bra använda den som något annat!

Tillvägagångssättet för geotaggning med en GPS modul är helt enkelt att (1) ha GPS:en med dig då du tar bilder. Den exakta tiden då bilden togs står inskriven i fotografiets data, en del av Exif-informationen. (2) Väl hemma vid din dator, sparar du som vanligt ner bilderna --- samt rutten som sparats med GPS loggern. (3) Sen gäller det bara att para ihop bild med plats, tack vare tidsstämpeln som finns i såväl bilderna som i rutten.

Tänkte beskriva (2) och (3) lite noggrannare --- vinklat utifrån att använda just en Forerunner som GPS logger. Men värt att nämna angående (1) är ändå att se till att klockan på GPS:en och kameran är synkade! Annars kommer tidsstämplarna inte att stämma överens.

(2): Från klocka till dator. Ladda ner fototuren som vanligt träningspass till Garmin's Training Center.[2] Välj rätt tur, och exportera aktivitet --- välj format GPX![3]

Så. Nu har du en fil med GPS platsinformation samt tidsstämplar för alla platspunkter.

(3): Från GPX till fotografi. Jag tycker det mest bekväma är att använda terminalen. Då gör datorn vad jag säger, som jag säger. Ni som inte är lika bekväma med det, kan testa alternativen nedan.[4]

Om du aldrig prövat Phil Harvey's ExifTool, men pysslar med fotografier och är van att använda terminalen, så kommer du snart att bli väldigt lycklig. ExifTool är nämligen ett alldeles fantastiskt verktyg. Du kan använda det till att utföra allehanda ändringar i Exif-informationen; du kan använda det till att döpa om bilder efter Exif-informationen (tänk: döpa om hundratals bilder efter skapelsedatum på några sekunder); du kan använda det till att timeshifta bilderna --- alltså justera tidsstämpeln på bilderna hitåt eller ditåt, t o m olika justeringar beroende på kameramodell eller vad som helst för information som sparats i Exif. Och så kan du geotagga bilder utgående från (t ex) en GPX-fil. Vilket är vad vi ska göra nu. I ett senare blogginlägg kommer jag visa hur du använder ExifTool och dina geotaggade bilder för att skapa en Google Earth KML-fil med bilderna utplacerade på en karta.

Öppna upp terminalen och ange följande kommando:
exiftool -geotag fotorunda.gpx *.jpg

Här förutsätts att (i) GPX-filen heter "fotorunda.gpx" och finns i mappen varifrån du kör ExifTool, samt att (ii) även bilder finns i samma mapp och (iii) alla slutar på filändelsen "jpg" (med små bokstäver). Ifall du har filerna på olika ställen eller dylikt så ändrar du kommandot efter det. T ex så här:
exiftool -geotag ~/gpx/fotorunda-100827.gpx ~/bilder/100827/*.JPG

Att stämpla 51 bilder tog 6 sekunder.

Om du får felmeddelande liknande följande:
Warning: Time is too far before track in File:Geotime (ValueConvInv)
så betyder det att tidsstämplarna i GPX och bilder inte stämmer. Du kan då justera tiden med exiftool variabeln "-geosync".[5] T ex så här, för att justera fem minuter och tjugo sekunder bakåt:
exiftool -geotime fil.gpx -geosync=-5:20 *.jpg

Om du däremot inte fick ett felmeddelande, utan bara information om att x antal filer är uppdaterade, så betyder det att bilderna nu geotaggats! De har en GPS-platsstämpel. Kontrollera detta med t ex ExifTool:
exiftool *.jpg | grep GPS

"Jaha. Så jag har geotaggade foton. Och nu då?" En bra fråga! Jag tänkte besvara det med ett annat blogginlägg, lite senare! I det kommer jag visa hur du använder din GPX fil och dina geotaggade bilder för att spela upp fotorundan i Google Earth.

Under tiden kan du t ex ladda upp dina bilder till Flickr och se hur den automatiskt hittar var bilderna är tagna. Eller varför inte lägga upp något på Panoramio, så andra Google Earth användare kan beskåda dina konstverk!

Om du inte har varken Forerunner eller annan GPS modul, och inte har något sätt att få en GPX-fil, men ändå vill geotagga dina bilder, så går det bra att göra det manuellt! Det blir bara lite mer omständigt --- ju värre desto fler bilder du vill spara platsinformation i. Men du kan göra det. Picasa hjälper dig. Eller GeoTagger.






[] Den vana besökaren här har redan sett oändligt många exempel. Om du inte gjort det, eller vill se dem igen, kolla under kategori "löpning".

[] Här går det faktiskt att ta en genväg också. Punkt (2) sparar träningen i TC och sen exporterar det till GPX-format. Med programmet GPSBabel kan du dock ta en genväg, och prata direkt med klockan för att spara träningen som GPX. En annan fördel med GPSBabel är att det även fungerar i Linux. Vilket Training Center dessvärre inte gör.

[] De senaste versionerna av TC kan även öppna träningen i Google Earth, och alltså spara det som KML, men de här varianterna av KML har inte varit kompatibla med ExifTool --- programmet som kommer att användas i punkt (3). KML kan vara uppbyggda på många olika sätt, och ExifTool vill gärna ha det på ett visst sätt. För att undvika dylika krångel rekommenderar jag att använda GPX. Det har fungerat felfritt för mig varje gång!

[] GUI-alternativ för att geotagga bilderna: Om du har Windows kan du testa ExiftoolGUI. Ett annat program som rekommenderats varmt runtom nätet, är gpicsync. Gpicsync finns tillgängligt för såväl Windows som OSX och Linux. Dessvärre fungerar inte den nuvarande versionen med OSX 10.6/Snow Leopard, så kör du med det får du ge dig till tåls --- eller ge dig i kast med terminalen! Eller hitta andra alternativ.

[] Se Geotagging with ExifTool för mer information om variabeln "-geosync" eller annat om ExifTool och geotaggning.