This article considers geotagging photos from a Mac perspective, looking at automatic and manual methods, and explaining terms such as data loggers, track points, waypoints, and routes. It lists OS X software options for connecting to data loggers, converting track log formats, geo-locating photos, and writing that data to EXIF for both raw and JPEG images. It also covers the importance of time synchronization, what you can do with geotagged photos, workflow, choosing a data logger and controlling it from your Mac.
With my blog articles geotagged and mapped, and the launch of geotagicons.com behind me, the next challenge was to consider geotagging my photos in future. Some time ago I blogged about doing this in iPhoto, and although workable for a small selection of images this manual/ best guess option doesn’t scale well to 2-3 week vacations when you return with several hundred images and a poor recollection of what was taken exactly where. Before getting started on something (i.e. spending money!) I like to try and gain a reasonable overview of what I’m about to get into. What follows is a summary of my research into the terminology, technology, hardware and software that a budding Mac photo geotagger will want to get to grips with. If you also like to look before you leap then this article may be of service to you. Although written with fellow Mac users in mind, if you’re afflicted with Windows much of the article is still relevant.
What is geotagging?
In a photographic context, geotagging is the process of associating a photos with a specific geographic location using at least GPS coordinates.
The coordinates typically encode the position of the photographer who, especially in a telephoto or high altitude shot, could be some distance from the actual subject (e.g. a distant landmark, or 10,000 meters below).
Note: In this article geotagging is used as a synonym for geocoding; differences between the terms are vague at best, although geocoding can include non-coordinate location identifiers such as postal or IP address.
The first step in the geotagging process is matching a geographic location to each photo. There are two methods of doing this: automatic or manual.
Automatic geo-locating: matching to track points
For truly automatic geotagging a few (expensive) cameras—and smart phones (e.g. Nokia N82)—have built-in GPS receivers, and can write coordinates to the image file on-the-fly when the picture is taken. You can also accessorise some existing high-end cameras to do the same (not my Nikon D70). Much more commonly external GPS devices are used in conjunction with your camera.
This type of external GPS device is known as a data logger (or track logger). Your GPS position at each point in time (intervals vary e.g. every second, as set by the device) is recorded as a track point. Digital cameras also time-stamp your images, so the two time stamps can be compared. Wherever the time stamps match (the clocks in both devices should be synchronised), the associated GPS coordinates can be linked to a particular photo.
The collection of track points associated with each photo session (the period between which the logger is turned on and off) is called a track log. Log files may be saved by the logger in a variety of formats, including NMEA, PLT, Sony LOG, and GPX (GPS eXchange Format, seemingly preferred).
Here is an example track log in GPX format (169KB; opens in a text editor).
GPX track points are recorded in a standard XML format, here containing the longitude, latitude, elevation (altitude), and time:
<trkpt lat="54.96927017" lon="-1.60723905"> <ele>81</ele> <time>2008-03-04T12:13:26Z</time> </trkpt>
The actual “matching” of track point to photo is done by the software that comes with your device or by third-party alternatives. Before we look at accessing the logs and photo-matching, let’s take a quick look at the alternative, manual method of geo-location.
You don’t need to buy a dedicated photo tracker to use the automatic method; you in-car navigation GPS device may suffice (with appropriate software), as could a GPS trekking product. What matters is the ability to record track logs.
Manual geo-locating: matching to map points or waypoints
Typing the actual coordinates directly into geotagging software is technically a manual method, but use a manual method is far more common when the coordinates are not known—as is the case when you have no data logger. They can be estimated, however, when the photographer marks or centres on the approximate point on a map of the area in which the photo was taken. The coordinates of this point are then taken to be the geo-location of the photo. Google Maps or Google Earth are generally used as the basis for mapping photo location in this way.
If you do have a data logger geo-locating can also be done manually, but with greater precision. Some devices let you manually enter exact GPS locations as a waypoint. Appropriate software lets you hand-match each waypoint to a specific photo.
Here is an example waypoint in GPX format (1KB; opens in a text editor).
Like track points GPX waypoints are recorded in a standard XML format, here containing the longitude, latitude, elevation (altitude), time, and waypoint name plus other data if available (not shown):
<wpt lat="53.24719666" lon="-1.45717167"> <ele>158</ele> <time>2008-03-03T08:41:37Z</time> <name>Stream</name> </wpt>
Converted to KML, the waypoint can be visualised in Google Earth:
In the following example waypoints are automatically shown every 50 meters as indicated by an icon. An ordered set of waypoints enables others to retrace your steps and is known as a route:
Using a manual method you may have already finished the geotagging process. If you plan to do it automatically or using waypoints, however, you will first need to access the data on your device, potentially needing to convert it from one log format to another.
Update 28.08.08: For more on the difference between waypoints and track points, see here.
Connecting to your device & log conversion
Track logs and wayppoints can sometimes be loaded into geotagging software directly from the device (via Bluetooth or USB), or via a file that has first been exported from the device—with or without a file format conversion. Since the software supplied with your device is likely to be Windows-only, you may need to use a third-party connection/ conversion tool under OS X. Options include:
- GPSBabel+ (free/ donationware; cross-platform; connects to a few devices; the Daddy of GPS file format interchange);
- HoudahGPS (freeware; connects to several devices/file formats; converts logs to GPX, NMEA or KML and looks very pretty doing it!);
- HoudahGeo (€25; connects to several devices/file formats; converts logs to KMZ/ KML only; additional features);
- LoadMyTracks (freeware; connects to several devices/file formats; converts logs to GPX or KML);
- JetPhoto Studio Pro ($US25; connects to several devices/ file formats; converts logs to GPX; crippled freeware version does not geotag to EXIF; additional features);
- BT747 (open source; connects to several devices; converts logs to various formats; exceptionally ugly interface);
You will normally want to convert your track log and/or waypoints to the GPX format, since most software that does the actual geotagging will be able to deal with it.
Timing is crucial
As mentioned, automatic matching of location to photo depends upon comparing time stamps in the log with those recorded by the camera. In my initial experience using a variety of software and a couple of cameras, this is surprisingly more difficult than it sounds. It’s highly unlikely that your device and camera are keeping the same time, down to the second—even if both are set to GMT/ UTC.
Most geotagging software offers the option to specify an offset, so that you can account for any discrepancy between camera and device clock. GPSPhotoEditor is worth a mention here, because it offers three methods of calculating the offset. One of these methods allows you to zoom in using satelite view in Google Maps to the point where you were standing—and best of all you only need to mark one photo in a set this way, and the offset will be applied to all photos in the set. Very clever:
Saving the location information to file
The next step in the process is embedding the location information into the photo file.
Whereas blog posts and other text/ (X)HTML-based information can be geotagged with the likes of the ICBM or Geo Tag metadata, or the geo microformat, the standard way to tag images is by embedding GPS coordinates into EXIF metadata (XMP headers are an alternative metadata format). Digital cameras already store information in EXIF format, such as exposure and other camera settings, and EXIF makes provision for additional data such as longitude, latitude, and altitude. Sometimes you can also add other geographic information, such as city or country, to the EXIF metadata via IPTC headers.
There are a number of OS X applications that will load a track log, match it to images you load into the application, and write the GPS data to EXIF. I shoot in raw using a Nikon D70, so my personal interest was in compatibility with the Nikon raw format, NEF. Options include:
- GPSPhotoLinker (automatic or manual via GPX file; NEF-compatible; free/ donationware);
- HoudahGeo (automatic via GPX/ NMEA/ CSV/ Sony LOG file or manual via Google Maps or Earth; NEF-compatible; €25 with 3-image demo);
- PhotoGPSEditor (automatic via GPX/ NMEA file or manual via Google Maps (no waypoints); NEF-compatible; free/ donationware);
- PhotoInfoEditor (manual via Google Maps; NEF-compatible; free/ donationware);
- Geotag Plugin for Adobe Lightroom (automatic via GPX file; NEF-compatible; beta; requires ExifTool).
If NEF compatibility isn’t your concern, Mac users have a few additional choices when it comes to geotagging JPEG images:
- Geotagger (manual via Google Earth; free/ donationware);
- JetPhoto Studio Pro (automatic or manual via waypoint or Google Maps; $US25);
- Geophoto (imprecise manual method mimicking Google Earth but much more awkward, or loupe using Google Maps; €/$US20; crippled demo);
- PictureSync (manual via Google Earth; awkward & buggy; $US0-30).
For Windows users GeoSetter (free/ donationware) is NEF-compatible, as is the cross-platform Java-based Geotag (open source; did not run for me under OS X 10.5). Picasa (freeware) can geotag some raw files (including NEF) via Google Earth.
How do you know if geotagging was successful? The easiest way in OS X is to open the photo from the Finder in Preview. Show the Inspector (Tools menu) which should display the appropriate data:
Geotagged. So now what?
Some of the applications offer additional features, which may or may not be of appeal, such as export of tracks to KML for viewing in Google Earth, or upload to your Flickr account (remember to set “Import EXIF location data” to “Yes” in your privacy settings). If you like to host your own gallery, it’s also possible to integrate Gallery 2 with Google Maps, using the Map module.
To help identify geotagged photos in your online content to other web users, considering using the free “standard” icon for that purpose from geotagicons.com, as in the example below.
What about workflow?
Your workflow will depend on whether you are working with raw images or JPEG, what software you are using, and what you ultimately want to do with the photos. This is how Dave Wild does it using NEF files first converted to DNG and his Phototrackr:
- Import photos into Lightroom;
- Import track log from PhotoTrackr into PhotoTrackr Pro Software;
- Open imported Lightroom photo folder in PhotoTrackr Pro and write coordinates to DNG files;
- Get Lightroom to re-read metadata;
- Apply tags to photos in Lightroom.
Dave says that during any editing (including in Photoshop) the metadata stays intact, including the coordinates. It’s up to you whether you want to apply the location data to EXIF in the raw images (or copies thereof), or just to any JPEGs you make as a result of post-processing.
Beware: What you do with you geotagged photos can cause the loss of your EXIF-GPS data! This includes the use of iPhoto, Photoshop, Flickr Uploader, and Picasa.
A cautionary note if you plan to archive your geotagged images in iPhoto: EXIF information is cached when you first import a photo, so subsequent geotagging may cause the GPS data not to appear in that program. Furthermore, iPhoto can apparently loose the data if you try editing geotagged images with it!
In a similar vein, be aware that when you “Save for Web & Devices” in Photoshop, GPS information along with other metadata will be stripped out (will, not might).
Flickr Uploader (at least versions before 3.0) loses EXIF-GPS if you let it resize your image (thanks Richard!). The Free Flickr eXporter iPhoto Plugin (FFXporter) is a free iPhoto export plugin for Flickr that preserves GPS tags and other EXIF data.
Update 25.03.08: Once geotagged you’ll want to archive your images, perhaps in iPhoto, vanilla folders, or via some other tool. But you’ll need a way of retrieving your geodata as well. I’ve just reviewed CDFinder, an asset manager that catalogues any file on any volume (CD-ROM, DVD, USB drive, etc) recently extended to handle geotags and provide related functionality.
So you want a data logger?
Well, that’s the background (a bit long, sorry). Perhaps you want to rush out and buy a data logger? The market for data loggers isn’t Mac-friendly by any means, but there are limited options. My preferred device specification was a fair match to Jan’s requirements. That is:
- Connects to a Mac without resorting to hacks or booting Windows;
- Non-lithium batteries (AAA’s are easier to come by worldwide);
- A display so I can see that the device is working (and as Jan points out, this makes time synchronisation easier);
- Connection over Bluetooth (there may be an unlocked iPhone with GPS navigation in my future?);
- Connection of USB;
- Access to log files from the Mac;
Your list of requirements or priorities may differ. For me the Holux M-241 seems the closest fit, also featuring power over USB with Mac compatibility provided by BT747 (instructions; failed to launch for me under OS X 10.5). However, it doesn’t seem to be available in the UK. Other devices with some degree of Mac compatibility worthy of consideration include:
- Qstarz BT-Q1000/ Platinum via Bluetooth with BT747 and available via eBay in the UK;
- AMOD AGL3080 (driverless, uniquely mounts as a USB drive in OS X; no Bluetooth and seemingly unavailable in the UK);
- Wintec WBT-201 (recommended for use with HoudahGeo via USB or Bluetooth, unavailable in the UK?);
- Garmin eTrex Venture HC (especially if you’re also into geocaching or trekking; connects driverless via USB and widely available in the UK).
In making your choice there are some pertinent questions you might ask, the relevance of which should be obvious assuming you’ve read the rest of the ABC!
- Does the hardware work with your camera?: If you don’t have the right kind of hot shoe then your only hardware choice is an external data logger. At this point whether it has Bluetooth or not is irrelevant, because the logger is totally independent. In short, any logger works with any camera.
- Does the hardware work with your computer?: Unless you’re happy downloading your logs in Windows, the logger will need to connect to your Mac via USB or Bluetooth. Ease of connectivity is also relevant to modifying device settings (see below).
- Does the software work with your computer?: Even if the device mounts, you probably won’t be able to extract the log data with the supplied software.Â Few loggers come with Mac software, but there are several third party options listed above that allow export and conversion (if necessary) of track logs on the Mac.
- Does software work with your image format?: Not all software can tag raw format images with the data (some products only write EXIF to JPEG files). Luckily there are no cost and low cost Mac options for handling most image formats (as above).
- What do you want to do with the geotagged photos?: You will at least want to write to EXIF, or you’re not actually geotagging. Some software also integrates with various services e.g. export to KML, upload to Flickr, etc. and again there is plenty of choice on the Mac for this sort of thing.
It’s easy to get caught out by marketing tricks. For instance the budget PhotoTrackr Lite (not Mac connectable) is listed as having no raw support—but this is nonsense since raw support is a software issue. The supplied Windows software may not handle raw, but you could pay the $US20 Pro upgrade fee or use free software (even on the Mac) to geotag raw images with the track log from this device.
Managing your device from the Mac
At the risk of repeating myself, the software supplied with your device is likely to be Windows-only, you may need to use a third-party device configuration tool under OS X if you want to change default behaviour. Options include:
- BT747 is open-source software that permits changing of settings on several devices including the Qstarz BT-Q1000 & Holux M-241;
- gtk-g-rays2 is open-source software that runs on OS X and allows configuration of the Wintec WBT-201 data logger;
- Garmin offer a number of Mac applications for using and managing their products.
A DIY solution
If you fancy giving photo geotagging a spin without investing in additional hardware or software until you’re hooked, you may be able to cobble together a solution using an in-car GPS unit and a PDA like I did. That’s the subject of a follow-on article, here.
For general discussion and community support concerning geotagging photos, GeoTagging Flickr is probably a good place to hang out. For device-related reviews and news, see Richard Akerman’s blog, Richard’s Tech Reviews.