Geotagging Photos without a GPS
You don't need to own a fancy GPS-device to geotag (i.e. add location tags) your photographs. All you need is some way of getting the correct geographic coordinates and some software to bind those coordinates to your photos.
(If you own an Android smart-phone with a built-in GPS device, you may be interested in our article about adding location data to photos using the Android Geotagger app.)
1. Getting Coordinates
In order to geotag a photo, you need to know the location where it was taken in terms of longitude and latitude. There are a lot of places you can find location data, including printed maps, public databases, and EarthTools. There is a WikiPedia page describing several of these tools.
In this article, however, I am just going to describe two methods for getting geographic coordinates without a GPS: Google Maps, which is the simplest, and Google Goggles (with a little help from WikiPedia), which is a somewhat exotic method.
If you are able to find the location you took a photo on a map, you should be able to pick up the coordinates from there. Since Google Maps gives you the option of zooming in close and also of seeing a satellite photo of the location, you are often able to locate a building, tree or hill that appears in your photo, making the exact location easy to pinpoint.
Google Maps do not display map coordinates by default. But if you right click on the desired location and select What's here?, the decimal coordinates will appear in the search box, as shown in the screen dump above. (Note that the location pinpointed is on the upper left corner of the menu. Before capturing the screen, the cursor was moved down to click on the What's here? selection.)
Google shows northern longitude end eastern latitude as postitive numbers, and southern longitude end western latitude as negative numbers.
Google has created an amazing visual search application called Google Goggles. Currently, it is only available for smart-phones (Android and iPhone). I would really like to see a version of this running on a regular desktop computer.
Goggles can do a lot of interesting things, including recognising famous landmarks and famous works of art. If it recognises something, it will tell you what it is.
A very interesting example of Google Goggles in action is shown in the screen dump below, courtesy of NYer82.
NYer82 reports that he took the photo in 2006, but had forgotten where he had taken it. As you can see from the screen dump, Google Goggles identifies the painting (“Assumption”), the artist (“Annibale Carracci”) and the church where the painting hangs (“Santa Maria del Popolo”).
To make Google Goggles search for an old photo, NYer82 used another Android app called “Just Pictures” to “send” the picture from his Flickr site to Google Goggles.
After Google Goggles has revealed the name of the church, it is easy to look up Santa Maria del Popolo in Wikipedia. The good people of Wikipedia has tagged almost every article about something with a permanent location on the surface of the planet with coordinates in the upper right corner of its article. In the case of Santa Maria del Popolo the coordinates are given as 41° 54' 40" N, 12° 28' 35" E. Clicking on the coordinates takes to a page where they also are given in the decimal format preferred by geotagging software (i.e.: 41.911389, 12.476389).
Of course, if you are able to identify the name of the location yourself, you can find its coordinates by going straight to Wikipedia without using Google Goggles. But Google Goggles may be handy in cases like the example above, where the photographer has forgotten where he or she snapped a particular photograph.
I've had mixed results with Google Goggles. It does not always hit the right target, but it is amazing when it works. The photos that seem to work best are those of well-known landmarks, buildings and artworks.
The program I use to bind the position and time data in the gpx file to photographs is the free ExifToolby Phil Harvey. This powerful Perl library and stand alone-application runs on most platforms, including Linux, MS Windows and Mac OS X. I use it on Red Hat Linux.
It let you assign values to any metadata tag you can imagine. It lets you set the following GPS metadata tags:
To geotag a photo, it is sufficient to set GPSLatitude, GPSLatitudeRef, GPSLongitude and GPSLongitudeRef. The command line shown below will bind the values 41.911389, north and 12.476389, east to the relevant metadata tags in a file named caracci.jpg in the current directory:
$ exiftool -gpslatitude=41.911389 -gpslatituderef=north \ -gpslongitude=12.476389 -gpslongituderef=east caracci.jpg 1 image files updated
For a more detailed description of exiftool and all the possible options, see: Geotagging with ExifTool.