February 28, 2008

Down to earth: Geotagging photos

Author: Dmitri Popov

Even the most basic digital cameras can store a lot of useful information about photos in the EXIF format, including exposure time, aperture settings, focal length, and metering mode. The EXIF metadata can also contain the photo's geographical coordinates, which provide the exact position of where the photo was taken, but only few cameras on the market support this feature. However, you can add geographical information to your photos (i.e., geotag them) even if you don't have a fancy camera or GPS receiver using the Geotag tool. This nifty utility allows you to quickly geotag multiple photos in one go and do some other interesting things with them.

To be able to geotag a photo, you have to obtain the latitude and longitude of the location where you took the picture. If you own a GPS receiver, you can extract the GPS data from it and use Geotag to match it with your photos. Geotag can load tracks directly from a GPS receiver via the File -> Load tracks from GPS command, or you can point the application to a GPX file using the File -> Load tracks from file command.

What if you don't have a GPS receiver? In that case you can use a tool that can display the latitude and longitude data for a given location on a map. One such tool is Minimap, a Firefox extension that can help you to quickly locate an address on Google Maps. This extension has two advantages: it allows you to use Google Maps in a Firefox sidebar (so you don't have to navigate away from the page you're viewing or open a new tab), and it displays the latitude and longitude values for the current location on the map, which you can copy and paste into Geotag.

Since Geotag is written in Java, you must have the Java Runtime Environment installed on your machine. To write geotags to photos, Geotags relies on an external tool called exiftool, a Perl script that enables the writing of EXIF metainfo. To install it on your machine, download the latest tarball and unpack it to the desired location on your hard disk. Launch Geotag, choose File -> Settings, and navigate to Settings -> External programs -> Exiftool -> Exiftool path. Enter the path to the exiftool script in the Exiftool path field and press OK.

Now you are ready to do some geotagging. Choose File -> Add image or Add images from directory to add one or multiple photos. Alternatively, you can drag and drop photos from your desktop into Geotag. Use the Minimap tool to obtain the latitude and longitude coordinates for a selected photo and copy them into the appropriate fields in Geotag -- it's that easy.

Geotag can also add more detailed location information for a particular photo by looking up the specified coordinates using the geonames.org service. Right-click on the photo and choose Location names -> Find for this image, and Geotag automatically fills out the rest of the fields. The Copy location command allows you to copy the coordinates of the currently selected photo into other images in a batch, which can come in handy if you have multiple pictures taken at the same location. Geotag also sports a clever Select feature (Edit -> Select), which you can use to select photos without coordinates or with new (unsaved) coordinates. This makes it significantly easer to geotag the selected photos without touching other pictures. To save the added geotags, right-click on a photo and choose the Save new locations command.

Once you've geotagged your photos (or loaded already tagged photos), you can use Geotag to map them using either the Google Maps service or the Google Earth application. Simply right-click on the photo you want to map and choose Show on map. Using the available options, you can map only the currently selected picture or all photos in Geotag. The Google Earth command allows you not only to display a single or multiple photos in Google Earth, but also to create a KML file, which you can use later to open your photos in Google Earth -- perfect for showing your travel photos to others. For a better effect, you might want to add thumbnail previews of your photos to the KML file. To do this, choose File -> Settings -> Export -> Google Earth and enable the Store thumbnails in the KMZ files option.

Instead of generating a local KML file for photos stored on your machine, you can use the Panoramio service, which allows you to upload your geotagged photos. Panoramio then processes the photos (it recognizes the geotags stored in the photos) and generates a KML file you can use with Google Earth. Better yet, if Panoramio's staff deems your photos suitable for use with Google Earth, they will be added to Google Earth, so you can view them without a separate KML file.


  • Desktop Software
Click Here!