As promised, here is the continuation of the series on my geotagging workflow!
Now, after steps one and two, I had my photos on disk with the GPS latitude and longitude position (and altitude) embedded within the JPG files. Specialized applications like GeoSetter would allow to open a Google Maps window at the location where the photo was taken, or offer export capabilities into Google Earth to place the photos onto the virtual globe.
But, my image archive is organized using keywords, and I usually manually tag images (add keywords) with the names of the places I have been. For instance, with a single click I can extract all images I have made in the Berchtesgaden alps area from my archive. I certainly wouldn’t want to fly around on Google Earth and virtually travel to Berchtesgaden in order to find them – so what good do those latitude / longitude coordinates do?
So, for example, I’d like the computer to automatically tag and file the following image of one of my absolute favorite places in Italy with the keywords: Italy, Tuscany, Castelnuovo dell’Abbate, Sant’Antimo.
As often today, out there the web already has the solution: Services like GeoNames, which usually are for finding the geo coordinates for a street address (something every car navigation system excels at), also offer a service which technically is called a reverse lookup: You would use this service if you know the geo coordinates of a place, but want to know the name of it. Or even the street address. And this is exactly what the photographer needs, right?
If you visit their website at GeoNames.org, you will not find the reverse lookup easily (because this is not the use case they have built their web site for). But if you technically savvy reader browse to the Download / Webservice page, you will find the documentation for the reverse geocoding services. Now, for example, we could ask the friendly site for the name of a location I had on one of my images, namely 43,049N and 11,489E. This would be coded into an URL, and you can click on this to see the answer of geonames.org: http://ws.geonames.org/findNearbyPlaceName?lat=43.049&lng=11.489
Now, don’t get scared. What you are looking at is the computerized reply of geonames.org telling you that this is a place in Italy with the name of Montalcino, home of the wonderful Rossos and Brunello red wines (Ups, it forgot to mention that! But it would, fasten your seatbelts, if we had asked the right question). But web services are really for computers to talk to each other, and not us to try to do this for the 897 photos I brought from Tuscany.
The good news is: This is how it works, and Friedemann Schmidt, the author of the GeoSetter software, has already built this function into GeoSetter!
Here is how I got the names of the places as keywords into my photos’ metadata using GeoSetter:
- I opened the folder with the photos from step 2, and GeoSetter displayed for those that had successfully received geo-coordinates the latitude longitude pair in the thumbnails’ subtitle.
- So, bold as I was, I again selected all photos using CTRL-A and then called the Images… Edit Data… menu item (or pressed CTRL-E ).
- In the dialog box that popped up, GeoSetter effectively allowed to change all data points of the images. In the Location tab, it has a Get from Web and a Get All From Web button. The latter is only enabled when more than one photo is selected. Here is a screenshot of a successful run of Get From Web for a single photo:

- So I pressed Get All From Web… and the magic started.
- Theoretically, I would have been done here and could just press CTRL-S again to save the data GeoSetter added to the images. There were two complications, though:
- GeoSetter lost connection to the GeoNames webservice once in a while, making the processing of such a large batch of photos a bit of a stretch. This problem can be mitigated by increasing the WebServices timeout in the File… Settings… menu item’s dialog window in the Internet tab, entry box labeled Timeout for Web Services. I increased that number to 50, which fixed the problem for me.
- For some places, obviously GeoNames did not answer with a unique place name, but with multiple possibilities. Seems logical, as I could have been right between two cities, so how should it know? The one problem was that GeoSetter did offer the option to say Select for All, but this led to all images being assigned the one selection I had made. So if it is unsure whether an image should be attributed to Montalcino, I had to confirm it image by image, because if I pressed the Select for all button, it would take that answer also for the images where it was unsure if they were in Siena… This leads to quite some clicking when doing many images at once.
- Now, press CTRL-S to save your work, and exit GeoSetter.
BTW, the save operation of GeoSetter does keep your original JPG file in case it screws up. It is a good idea to try out these more bleeding edge workflows only on copies of your images, not your originals! I always photograph raws, and run the geocoding on the JPGs I am creating for the image archive, so I still have the raw file in case the JPG breaks.
Done. After that, I did import the images as usual into my Photoshop Elements 5 image archive, and the tricks and hoops to jump through for that to work smoothly shall be part of another story to be told another day – maybe your favorite image archive works just as we all would envision it to work.








Photoblogs.com