There's a growing trend for camera manufacturers to fit GPS receivers to their devices. This is not only so you know where you are right now, but also so you can remember where you were when you took a particular picture by plotting it on a map when you get home.
Even if you don't have such a camera, you can still plot your images on a map and, with a little help from some free software, it's a quick and easy job, too.
1. Taking your pictures is only half the task. You also need to record the locations in which they were snapped. The simplest way to do this is to record your route using a GPS logger on your smart phone. We're using the free version of GPS Stone on an iPhone 4, but equivalents are available for both Android and BlackBerry. Make sure that whichever you choose can export your track in the standard GPX format.
Set your logger to record a new point every few metres (below left) and make sure that the time on both your camera and your smart phone or GPS device match. Now head out and take your pictures, and when you return from your shooting expedition, export the route for use in the steps that follow (below right).
2. We're going to use the free Geotag app from geotag.sourceforge.net to bind our route to our images. It's a Java app, so will work on Windows, Mac and Linux systems. You can run directly from the site, but we have chosen to download it and run it locally. If you don't already have Java, install it from java.com/getjava, ensuring you install version 6 or later.
You'll also need ExifTool to write the positions of your images back to their JPEG metadata. Again, this is a free download, so grab the Windows or Mac OS X executable (there's no Linux version) from this link.
3. Launch Geotag and click File > Settings. Expand the Exiftool branch and click Exiftool path, and then click the button with the three dots at the end of the path box (at the foot of the dialogue). Navigate to your saved version of Exiftool, having previously unzipped it, and select the version of Exiftool for your OS. Click Open, followed by OK to save the setting.
4. You're now at the point where you can import your images. Before you do, make a copy of them so that you're not working with your originals, and save the ones you want to plot in a folder of their own.
We have saved ours in a folder called 'Images' on our Z-drive. Select the folder, rather than the images, and click 'Open' to import them into Geotag.
5. Geotag now lists each of your images in a table at the top of its interface and displays some very basic metadata drawn from each one. Unless your camera has built-in GPS encoding the latitude, longitude and altitude, columns will be empty.
We want to fill in at least latitude and longitude so that they can be accurately plotted. The first step in doing this is to import our previously saved route. Click File > Load tracks from file... and navigate to your GPX file. Click Open to import the data.
6. Double-check the timestamp of each image. If your camera and GPS device weren't in sync, you won't be able to accurately plot your images on the map. Correct any inaccuracies by right-clicking the first image in the list and changing the offset to reflect the time the image was taken as accurately as possible. When you click OK you'll be asked if you want to apply the changed offset to all of your images. Select Yes.
7. You're now ready to add the location data to each image. Right-click the first image in the list and select Find locations > For all images. Geotag compares the timestamp of each photo with your location at that particular time, as indicated by the route in your saved GPX file and writes the relevant latitude and longitude to each one.
Optionally, you can go one step further and also add natural language place names to each one, which will make a lot more sense when you come back to look at your pictures in the future. You do this by right-clicking an image and selecting Location names. When the process completes, save the new metadata back to each image by picking File > Save new locations > All images.
8. Your images can now be plotted on a map in any compatible application, such as iPhoto or Aperture, both on the Mac. You can also -- more usefully -- plot them on the maps used by various online photo sharing services, including Flickr and Panoramio. If you use the latter, Google will include your images in its results lists for geographic search terms.
In this instance, we're going to add ours to Flickr. Create or log in to an account and click Upload on the top bar, followed by Choose photos and videos. Select the images you want to upload, remembering to choose the ones that you processed using Geotag, as your originals still don't have any positional data written into their metadata.
9. Flickr reads any positional data associated with your uploaded images but doesn't automatically plot them on the map, as you can see here. Click Add this photo to your Map to use the metadata.
10. If this is the first time you've plotted one of your images on a map, you'll have to tell Flickr how public you want it to make that information. Make your choice with care, bearing in mind that, depending on the content of your photos, you may be giving away personal data that could be useful to an identity thief.
When you have made your choice, Flickr will plot your image and give you the opportunity to change the named location associated with the recorded coordinates. Pick whatever you feel is most appropriate.
11. When you later want to see all of your plotted images, click the drop-down arrow beside You on the horizontal menu at the top of each Flickr page, and pick Your Map. Each of your images will be shown as a pink spot which, when clicked, calls up the associated picture.