Geotagging photos in Norway

Christmas morning approach to Risøyhamn
EOS 7D, ISO 1600, 24-105mm @ 55mm (A2_029710)
As you may by now know, I spent 5 weeks at the end of 2009 aboard a Hurtigruten ship, travelling up and down the Norwegian coast. At regular intervals during this time I had to post collections of photos and video on DVD back to a client, who needed relevant metadata attached to the images. I use Adobe Lightroom to manage and process my photos (with some images being round-tripped out to programs such as Photoshop) and use the metadata fields heavily. When working on a mobile assignment such as this, getting accurate location information (e.g. names of mountains, fjords, towns, etc) attached can be tricky: when you sit down at the end of the day to download hundreds of photos (RAW files from EOS 7D and 5DmkII cameras: about 25 MB each) you then need to process and rate them, and grab a few hours sleep before starting the next day all over again. Attaching detailed place names to hundreds of individual photos is something you simply don’t have time for. To help with this I try to “geotag” all my photos. I use a GPS unit to record a “tracklog” of times and locations, and use Jeffrey Friedl’s Lightroom GPS Support plugin to attach relevant locations to photos based on their timestamps.

As I have for a few years now, I carry a Garmin eTrex Legend HCx GPS in my pocket. This has worldwide maps loaded up, so provides a useful resource when out on deck (e.g. “How far away from our next stop are we?”, and “How fast are we going?”). It also records tracklogs in GPX format (one per day) with enough storage on its microSD card for months of data. It’s a simple job to connect the GPS to the computer where it appears as a simple USB drive, and copy the GPX files. The eTrex runs off two AA batteries, and I would drop in a freshly-charged pair each day.

Clouds lit by aurora
EOS 7D, ISO 3200, 17-40mm @ 19mm (A2_029035)
However, on a trip like this there are always gaps in the eTrex’s data. If I’m too far inside the ship the GPS can’t lock on to the satellites, and no location is recorded. So what I like to do is have a second set of GPS data, associated with the ship. That way when I don’t have specific data as to where I was, I can fall back to where the ship was.
On my 2009 Antarctic voyage the ship’s navigator supplied us with a data log at the end of the trip, and this filled in my data gaps nicely. On my 2009 Norway trip I wasn’t sure this was going to be possible (for a start there’s no “open bridge” policy as there is on many expedition ships, so getting chummy with the navigator would be complicated). So I took my own second GPS unit. But it didn’t need to be a fancy unit with a screen: it just needed to record tracklogs, have lots of storage, and good battery life. In the end I settled on the Qstarz BT-1000.
This tiny unit has enough battery for more than a day’s operation, and can be charged via USB. I took an external AA battery pack so that I could regularly swap batteries and keep it running. I could have taken a second Li-Ion internal battery for it and a charger (the BT-1000 uses a fairly common Nokia battery) but didn’t on this trip.
I didn’t know where on the ship I was going to be able to place it: I was pretty sure my cabin wouldn’t have decent GPS reception. Ideally I’d be able to put it near a power point and keep it charged via a USB AC adapter, but it needed to be somewhere secure (there are constantly people getting on and off these ships as they stop in several ports each day). In the end it turned out that I had access to an office location on the top deck of the ship (still with steel decking above, but not enough to worry this GPS receiver) and did manage to keep it charged and running for the entire trip! I did go through several cycles of swapping AA batteries (and recharging the internal battery during downloads: more on this in a tic) but leaving it plugged into power was definitely simpler.
The choice of location for the BT-1000 was simplified by the sensitivity of the unit: at times inside the steel ship it easily locked onto the satellites when my eTrex was still searching (and the Legend HCx has fairly impressive reception already!).
The BT-1000 comes with some Windows software for configuration and downloading, but I use a MacBook Pro running OS X. This is where the opensource BT747 software comes in. In fact its support of the BT-1000 was a deciding factor behind my selection of the unit. Once I’d configured things like how frequently data points were recorded, and which fields were saved (which together can make a big difference on how many days of data can be saved) the unit “Just Ran”. With the configuration I chose it had enough space for over a week of data, so every few days I would hook up the unit to the MacBook, download the entire dataset, and process that to a huge GPX file. Mind you, the BT747 download is not efficient, chewing a fair bit of CPU power as well as logging lots of communication errors (which simply cause retries: no data is lost). It could take 20-30 minutes to finish the download, but I was usually also doing other work on the computer at the same time so it wasn’t a waste. I put the eTrex in place of the BT-1000 during the downloads in order to avoid any gaps in my data.

No dawn today
EOS 7D, ISO 400, 24-105mm @ 24mm (A2_029812)
I would then use the Lightroom plugin to attach location information where possible to all the photos in the previous week or so of the trip. The plugin can be configured to skip already-encoded images, which simplifies things. First I would encode using each of the GPX files from the eTrex (“David’s position”) and then fill in the remaining images with the GPX file from the BT-1000 (“the Trollfjord’s position”). The “GPS Shadow” metadata field can be easily used in Lightroom filters to determine which images still don’t have location data.
This worked very well! Every image got GPS data (although one batch of images around the town of Hammerfest got encoded with the port location as I’d forgotten to turn the eTrex on that morning, the location is “close enough for jazz”). And it didn’t take a lot of time and effort to do.
For a while now I’ve been highly recommending the Garmin eTrex Legend HCx as a handheld GPS unit (the Vista HCx adds a few bells and whistles, but not ones I miss for this). This recommendation stands, but now I also recommend the BT-1000 if you want a simple and reliable GPS logger.
I’m still annotating the odd image from the trip with further location information (keywords, IPTC “Location” field, etc) and this is made easier by being able to quickly jump over to Google Earth and compare with the detailed paper maps I now have on hand. And because I travelled past many locations multiple times over the course of the 5 weeks, the GPS data has come in handy in another way also. Using Jeffrey’s GPS Proximity Search plugin I’ve been able to quickly find all photos taken near the same location without having to know exactly when I revisited that location.


  1. I am interested to know why you prefer Jeffrey’s GPS encoding solution rather than something like GPS Photolinker or Photo Linker which write the coordinates into the file’s EXIF data from where it can be read into the ‘correct’ location in the Lightroom database rather than having to use Jeffery’s shadow data.

    I believe they both do reverse lookup to get place names if you are online when you use them. GPS Photolinker writes this into the IPTC data. I am not sure if Jeffery’s solution also holds this information in his shadow data.

  2. By using the plug-in from inside Lightroom I can just import and organise the photos as per normal, and at the end of the day (or days) when I get the GPS data onto the computer I can add the GPS coords.

    Systems that require you to have the GPS data on the machine before you import them don’t fit my workflow.

    I could indeed save the metadata (to XMP) from with LR, then use an external program to insert the GPS data, then read it back into LR. That would be easiest on a per-folder basis.
    By doing it inside LR I can easily process varied selections of images without having to think about which folder(s) they’re located in.

Leave a Reply