Geocoding Your Photos with Lightroom and HoudahGeo

Eric Scouten

I’m kind of a metadata addict. And a map junkie. So it should be no surprise that I’ve been waiting for a long time for a program \to help me mark up my photos with the exact location of capture. I was very happy to learn this spring of a new application called HoudahGeo. Most of the geocoding apps I’ve seen before only write to JPEG files. HoudahGeo actually works directly on PSD and DNG files, among others, meaning I can actually mark up my master files instead of a derivative.

houdah-geo.gif

HoudahGeo is available only for Mac OS, and I’m not aware of any plans to make a Windows version available. I haven’t looked for a similar Windows application, but the tips below regarding how it would interact with Lightroom should apply if so. (Please add a comment if you’re aware of a good counterpart for Windows.)

In the Field

If you have a hand-held GPS unit that you can carry with you, the main thing you need to be concerned with is ensuring that your GPS and camera clocks are in sync with each other. Spend the time to get your camera within a minute or less of the GPS clock. If it’s not the same time zone, that’s OK; you can take care of that later.

And, of course, you need to have your GPS running while you’re shooting. I keep mine permanently tethered to the outside of my camera backpack. When I’m packing, I simply put the GPS in an outside pocket, leaving the tether cord in place. When I take the camera out of the pack to start shooting, I pull the GPS out, turn it on, and run its tether through the top handle on my camera bag so it’s not dangling. As long as the camera backpack stays on my back, I’m logging my location continuously.

Downloading Data

How you download data will, of course, be dependent on the make and model of your GPS unit and the software that comes with it. HoudahGeo claims to be able to read directly from the GPS unit. I like to keep the original GPS track log files, so I haven’t tried this feature myself. What is important is that you wind up with a GPX file. GPX is a standard interchange format for GPS marker data; you should be able to save to that format from whatever software comes with your GPS unit. The MapSource software that comes with my Garmin GPS can generate GPX files through its “Save As” menu item.

When you’re downloading data from your GPS, you should take a moment to look for bogus data in your track logs. Whenever you move with your GPS unit turned off (even a short distance), it will generate a lot of noise when you first turn it on again. (For example, see this rather improbable traversal of 105 miles in northern Minnesota that I supposedly accomplished in 30 seconds.) HoudahGeo isn’t able to sort out this errant data, so any photos taken shortly before or after turning on your GPS might get tagged with wildly incorrect locations. Take the time to use your GPS software to delete these incorrect data points.

bogus-gps-tracklog.gif

Once you have a cleaned up GPX file, you’re ready to go!

A Caution

I generally convert all of my camera raw files to DNG as part of my import workflow. I’ve only occasionally used HG with original RAW files, and the results were not quite what I had hoped. If possible, I recommend using PSD, JPEG, and DNG files instead; I’ve done thousands of these files successfully.

Geocoding in HoudahGeo

At this point, you should open both HoudahGeo and Lightroom. In Lightroom, choose one or more photos that you are ready to tag. Make sure to exclude virtual copies since HoudahGeo can’t do anything with them. (To exclude virtual copies, click on the negative strip icon just just above the filmstrip at the bottom of the Library window as shown below.)

lr-exclude-virtual-copies.gif

Unfortunately, any geocoding you do in HoudahGeo won’t get propagated to existing virtual copies in your library. This is a known bug in Lightroom. Any virtual copies you create after geocoding will retain this information.

Drag these photos from Lightroom into HoudahGeo. After a brief pause, they should appear in your HoudahGeo project window. You may also be asked to specify the time zone for the camera’s capture dates. Make sure to leave these same photos selected in Lightroom; you’ll need this selection later in the process.

If you have a GPX file, now is the time to load it in to HoudahGeo. Click on the waypoint button (highlighted below).

hg-import-gpx-button.gif

Once you’ve done that, HoudahGeo should automatically match the track log data with your camera’s capture time stamps. Assuming the camera and GPS were in sync (as described above), these should be fairly accurate, but I recommend that you always spot-check a few of the locations. Select a single photo in the list and click on the down-arrow icon just to the right of the waypoint button. HoudahGeo will bring up a map with the location it has assigned to this photo. Verify that this location is correct. If not, you may need to adjust the time zone or the camera clock error setting in HoudahGeo.

If you don’t have a GPX file, or if the file has gaps (i.e. you were shooting with the GPS turned off or in an area with poor coverage), you can also use this map button (the rightmost button in the yellow group) to manually assign locations.

Once you are satisfied that your photos have accurate locations, it’s time to save the changes back to the files. Click on the first button in the green tab (with the tooltip “Write EXIF Tags”). Be sure to click on the checkbox labeled “Work on original images.” Otherwise, Lightroom won’t see the changes you’ve made.

hg-write-exif-tags.gif

At this point, you’re done in HoudahGeo. It’s time to go back to Lightroom and make sure it sees the changes.

Bringing Lightroom Up to Date

Back in Lightroom, the same photos should still be selected.

The first thing you should do is select Save Metadata to File from the Metadata menu. Yes, I know this seems odd. It seems like it would overwrite the new metadata you just created in HoudahGeo, but it doesn’t. This command causes Lightroom to update the XMP in the file, but not the EXIF data. Geocoding information is stored in EXIF. What you’re doing here is ensuring that the XMP in the file reflects any changes you’ve made in Lightroom.

Even if you think your XMP is up to date, I still recommend that you perform this step. I have seen cases where keywords will be read back incorrectly, especially in JPEG files containing keywords with letters outside the US ASCII set (typically letters with accents). Saving will help prevent this problem.

Wait for this operation to finish, then select Read Metadata from File with the same photos still selected. Lightroom will now read back the same metadata you’ve just written to the files, and also pick up the updated EXIF metadata including the geocoding. You can able to see this new metadata if you have the Metadata panel set to the EXIF, Location, or All tag sets. If you like, you can verify the location by clicking on the right-arrow button to the right of the GPS location (highlighted below). This will bring up a map with the location.

lr-gps-data.gif

Finally, I recommend that you assign a keyword to each photo that you’ve geotagged so you can keep track of what you’ve done and what hasn’t yet been tagged. See my previous article on worklist keywords to help you remember what you have and haven’t tagged. Here are the keywords I use in Lightroom:

lr-geocoding-worklist.gif

Happy geocoding!

Use Worklist Keywords to Help Your Keywording in Lightroom

Eric Scouten

So you want to make sure you’ve identified all of the people you know in your Lightroom catalog, but … you have several thousand photos in your catalog and you don’t want to spend time reviewing photos you’ve already keyworded. How to avoid that?

This is where a technique I call worklist keywords comes in handy. The idea is simple: Use another keyword to keep track of which photos you’ve reviewed for a certain subject area. Here’s how it works:

Getting Started

Worklist Keywords

When I’m embarking on a new keywording effort, I start by building up keywords for the subject matter. (You can also do this on an ad-hoc basis once you’re reviewing the keywords.) As an example, this is the keywords panel from my Lightroom catalog showing the keyword hierarchy for people I know and my family. (Side note: I surround my top-level keyword names — the categories — with «» symbols to ensure that they fall to the bottom of the list. That way, if I add a new keyword and forget to place it into my keywording hierarchy, it shows up at the top of the list. It’s obviously different from the other top-level keywords, which serves as a reminder to find a home for it in the hierarchy.)

Before I start actually applying those keywords, however, I also create the extra keyword to track my keywording progress. I like to organize these under another keyword category I call «worklists». (This is just an organizational tactic I like; adapt it to suit your taste.) What is important here is to give your worklist keywords a tag phrase that is unlikely to occur anywhere else in your metadata. On the Mac, it’s relatively easy to type unusual symbols, so I like to use those in my worklist keyword names.

Creating a New Worklist Keyword

For example, I’ve created a keyword named “§PIK: people I know”. (On U.S. Mac keyboards, the § symbol can by entered by typing Option-6.) I don’t think this keyword is interesting to anybody but me, so I’ve turned off the options for include on export, export parents, and export synonyms in the options for this keyword.

Now that you’ve created your worklist keyword, you’re ready to get started.

Reviewing Your Worklist

Lightroom doesn’t offer the ability to search for photos that don’t have a particular keyword. I expect that we’ll that feature someday, but until we do, this workaround can get the job done.

Filtering for Your Worklist Keyword

In Lightroom’s Find panel, type ! followed by the distinctive phrase for your worklist keyword. The ! is a special shortcut that tells Lightroom to find those photos that don’t match the remainder of that word. Lightroom will immediately narrow your photo library to those photos that don’t match that string. Make sure the Text popup is set to either “Anywhere” (the default) or “Keywords.” Also make sure the Rule popup is set to “Contains” or “Contains All”.

In this screen shot, I have used this technique to filter my library from over 9,000 photos down to the 45 photos I haven’t yet reviewed for people I know.

With this filter in place, you can make short work of reviewing and updating the remaining photos.

Whittle Through the Worklist

Keywording Panel Settings

For this stage of the game, I check a few quick settings in the Library module:

  • Library is in grid view. Thumbnails are just large enough that I can recognize faces.
  • Keywording panel (on the right side) is open.
  • In the keywording panel, the Keyword Tags popup is set to “Enter Keywords” and the Keyword Set popup is set to “Recent Keywords.”

Applying the First Keyword

Pick your first few photos to keyword. Here, I’ve selected two photos of my friend Jack and his daughter Sarah. I type their names in the Keywording panel. After I’ve got them entered, then I start typing §PIK. Notice from the screen shot that Lightroom’s auto-completion picked up on my keyword name, so I don’t have to finish typing.

Now here’s where you can start to really pick up speed. As soon as you apply the worklist keyword, two nice things happen: (1) the photos disappear from the library grid, and (2) the interesting keywords appear in your Recent Keywords list. If, like me, you shoot series of photos with various friends moving in and out of them, you’ll pretty quickly have all the friends who were there on a particular day in the Recents list. Plus, your worklist keyword appears there right away. (You were getting tired of finding that Option-6 or Alt+01-whatever-whatever character, right? 🙂 ) So now you can mouse-click your way through all the photos with your friends in them.

Update: Dan’s comment reminded me of something I had meant to say when I was writing this post: Semantically, applying the worklist keyword means “I’ve scanned this photo for people I know,” not “this photo has people I know.” So you should apply it even to photos that don’t contain people you know, once you’ve verified that. This will keep it off the list for future reviews.

Extending the Concept

You can create multiple worklist keywords similar to this one for different tasks. In my catalog, there are worklists for:

  • copyright registration
  • geocoding status
  • several different keyword lists
  • review status (i.e. is this photo worth displaying somewhere?)

I use a similar approach to ensure that all of my photos have star ratings and color labels.

Filtering for No Rating

To see photos without star ratings, open the filmstrip at the bottom of the catalog window. Look for the >= sign in the Filters area. Set it to “Rating is equal to” (as shown in the screen shot). Select one or more photos and type 1, 2, 3, 4, or 5 to give it a star rating. As soon as you do this, the photo(s) disappear from view and you have another set to rate. (I often switch to loupe view in the library module to get a better sense of the quality of the photo when I’m doing this.)

Similarly, you can whittle through all photos without a color label. There isn’t an on-screen shortcut for this, but you can get there by going to the menu bar and selecting Library > Filter by Color Label > No Label. Don’t forget to go back and select Library > Filter by Color Label > Reset this Filter when you’re done.