If you have a GPS why not log your location in a track file. Then when you get back to your computer, you can pull the coordinate into your image from your track and the location description (metadata) from those coordinates. Once you have a coordinate in the "GPS Latitude" and "GPS Longitude" EXIF metadata fields you can make use of the free “Microsoft Pro Photo Tools” (PPT)
which will use the coordinate to extract Location, City, State/Region and Country. These fields are populated through a web service that makes use of Windows Live Local. If the GPS coordinate is not quite right, for example the photo is plotting in the middle of a lake you can drag you image marker to the edge where you think you were and then update that location into the file.
Not all track file formats are supported, the ones that are include .NMEA, .GPX, and .KML.
I have tested these tools but do not use them routinely yet as a traveller, it would save having to know my exact location all the time to populate the metadata in my photos. Even if you are out and about it is a powerful approach to populating your metadata. You can also use the coordinate to display an image placemarker on a map. PPT offers a world map browser that will display your images spatially once the coordinate exists. The map shows either roads and/or background satellite/aerial photo coverage. Other applications such as RoboGEO RoboGEO
provide more features such as the ability to export to Google Earth .KML, .KMZ files or even the .DXF CAD file format. RoboGEO also adds an interesting feature of being able to associate digital dictation files with images.
PPT can also do a reverse lookup where it tries to workout a coordinate from your location detail. I wouldn't depend on this however it can only improve with time as the underlying algorithms get more powerful.
It is a manual task however, the other approach in PPT is to manually drag you photo onto the map and write the coordinates into the file that way. You can then pull the Location meta data too.
The one thing you need to do though is make sure the time on your GPS is the same as that on your camera. If you forget to do this at the time there is a feature in PPT to offset your timedate value in your images to match the GPS after the fact. To save this extra step though, it is worth building this into your practice.
Alternatively, some cameras already have built in GPS control. In these cases, this tool can be used to add the location metadata to these images without needing to suck in the coordinates first.
The PPT natively supports generic image formats (JPEG, TIFF, etc) however you need to load the codec for images in other formats.
A warning I think worth making is that it probably is not wise to add this data to photos of people’s homes and around your own home. I think that could give technology savvy thieves an upper hand, for example the locks around your house, etc. There is a “Privacy Warning” under the Help menu worth noting.
These tools have been around for a while and provide significant time savings - I certainly need to incorporate them into my workflow more often.
In the example images here I'd love to know the exact location of the Bison and the fire was for a news article and it would have been good to know its exact location rather than just along street "x". However as I know where the opera house is I can easily drag the photo onto the correct location on the map and add the location metadata throught PPT.
I'd be interested to hear of any other tools people use to Geocode or reverse geocode their images.