How to geocode your photos

by Volker Weber

I discovered today that the NavMan iCN530 can write a GPS track. The manual says it should only be done when instructed by Navman service. This is probably a precaution to avoid that people fill up the internal memory with log data. Of course I had to play with this feature. :-)

You go into Preferences/Routing (Einstellungen/Routen). On the third page you will find a button which lets you turn on Track Recording (GPS Protokoll). You can select a name, for example PHOTO. Until you deselect this option, the iCN530 will now record your whereabouts to a logfile. When you mount* the iCN later, you wil find the file in "My Flash Disk/Navman/Lightning":

GPS track on the Navman iCN530

Copy the logfile to your disk and take a look at what's inside:

$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPRMC,000000.149,V,,,,,,,070805,,*29
$PTTKT,STAT,0,0,0,0,0*6D
$GPGGA,000001.135,,,,,0,00,,,M,0.0,M,,0000*50
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$GPGSV,3,1,12,20,00,000,,10,00,000,,25,00,000,,27,00,000,*79
$GPGSV,3,2,12,03,00,000,,31,00,000,,24,00,000,,15,00,000,*78
$GPGSV,3,3,12,16,00,000,,05,00,000,,01,00,000,,26,00,000,*7D
$PTTKT,STAT,0,0,0,0,0*6D
$GPRMC,000001.135,V,,,,,,,070805,,*23
$GPGGA,000002.135,,,,,0,00,,,M,0.0,M,,0000*53
$GPGSA,A,1,,,,,,,,,,,,,,,*1E

A quick search on Google revealed that these are NMEA sentences, which is basically what a GPS tells your navigation software. You can translate this information into something more friendly like the GPX format with GPSBabel.

GPSBabel

Now that we have this track, what can we do with it? Well, you can plot your whereabouts on a map. Or as my name for the track log already suggests, you can geocode your photos. GPS Photo Linker reads your track and your photos, and then writes GPS coordinates into the photo metadata:

GPS Photo Linker can be used to save location and GPS position data to a photo. The latitude and longitude recorded by your GPS unit while you were taking photos can be linked, and saved, to the photos. GPSPhotoLinker automatically enters the city, state, and country annotations into the metadata.

So how does the program know which photo was shot where? It matches your recorded track with the date/time information inside the photo. So it is very important that the clock in your camera is set to the correct time. The software lets you define the offset if the clock was not set correctly. The GPS track will be correct, since it operates on the GPS satellite clocks which are very accurate. But how do you find what the time offset in the camera was? The best way is to shoot one picture of an accurate clock, so you can later compare the time in the EXIF header with the time displayed in the photo. If you forget to shoot the clock before the other photos, it does not really matter, since you can also record the difference later.

Once you have set the correct offset and loaded the appropriate track log, everything else is done automatically. GPS Photo Linker will write the location information into the photo metadata. There is actually a standard way of doing this, as you can see in this dialog of Mac OS X Preview:

Geocoded picture

If you click through to the original file (Flickr login required) and download it, you can look at the metadata yourself. The benefit of geocoded photos is obvious. You will always be able to tell where those photos were shot. But there will be additional benefits. The Navman iCN720 and iCN750 were the first navigation units that could navigate to a waypoint described in a geocoded photo. I expect many more to follow this idea.

Update: GPSBabel is one cool program. It also lets you translate the GPS track into Keyhole Markup Language (KML) format, which Google Earth (originally developed by Keyhole) reads:

Track imported into Google Earth

And, as Hajo correctly points out, Google Earth can also read GPX files. You just have to enable "Gps" or "All files" when opening the file:

Google Earth reading GPX files

*) This is easy with ActiveSync on Windows. On the Mac you need something like MissingSync.

Comments

This is the correct link to GPS Photo Linker:
http://oregonstate.edu/~earlyj/gpsphotolinker/

Frank Koehntopp, 2006-08-16

Thanks, Frank. Corrected.

BTW: GPSBabel runs on a lot of operating systems. If you know a Windows program that does what GPS Photo Linker does, please point it out.

Volker Weber, 2006-08-16

* EXIF "stamping" software, that embeds the geo coordinate information directly into the images themselves. Very useful if you have a GPS device. Examples include RoboGEO, WMMX Stamper and Importr (seems to be dead)

from the flickr Geotagging group which is full with related stuff and tips.

Oliver Regelmann, 2006-08-16

You can also use Smartphones, Pocket PC's or GPS enabled watches (like Garmin Forerunner) to track GPS data and geocode photos. An (german) article about this is here:
Geocoding with Pocket PC, Smartphone, Bluetooth or Garmin GPS

Mathias Pohl, 2006-08-17

Gibt es auch eine Moeglichkeit, die (ungefaehren/geschaetzten/aus googleEarth gelesenen) latitude/longitude daten fuer einzelne Fotos manuell zu EXIF hinzuzufuegen, um dann iPhotoToGoogleEarth zu benutzen?

Claus Haslauer, 2006-08-20

Na klar. Mit GPS Photo Linker kannst Du die Koordinaten auch von Hand eingeben.

Volker Weber, 2006-08-20

Old vowe.net archive pages

I explain difficult concepts in simple ways. For free, and for money. Clue procurement and bullshit detection.

vowe

Paypal vowe