Geotagging is a fairly new phenomenon, which is only maturing as the GPS, Digital SLR, and Internet world grow and evolve. It’s extremely practical to know where some pictures were taken, and many photo sharing websites will actually use this data to help group pictures together geographically. Plus, it’s just fun.
Some higher end SLRs (like the Nikon D300 or D2X) allow you to actually connect your GPS unit to the camera and automatically geotag your pictures with latitude and longtitude information.
However, this means having to attach the GPS to the camera, usually through the use of a specialized cable… and not every camera has this function. Though it’s handy (since the information is recorded “on the go”) there is another way which is a little more work, but a lot more flexible.
Geotagging can be done as long as you have the tracklog from your GPS and a program that will read it. In a Mac environment, GPSPhotoLinker lets you download your GPS track log, and then matches up your photos to the GPS data. It does that by comparing the timestamp in your photo’s Exif data to the timestamps in your GPS track log. Once done, it can create a GPX file. For a Windows machine, RoboGeo is your best bet, and it basically does the same thing as the GPSTrackLog application for the Mac, and also exports a GPX file.
The benefit of having the GPX file is that you can export these with many third party GPS applications. You can create Google Earth KML or KMZ files, or upload the pictures to Flickr where they will be automatically geotagged. Also, once you have a GPX file, you can then integrate that information into the metadata of the file as shown in Adobe Lightroom.
After you’ve run through and embedded that geocode information into the Exif, you want to Save Metadata to File in lightroom. This causes Lightroom to update the XMP file. You then select Read Metadata from File and Lightroom will pick up the updated Exif, which includes the Geotag information.
A good idea is to then add a keyword like “Geotag” or “Geocode” to those files that have the new updated GPS information embedded. That way you can easily see which ones have and have not been updated.

