I recently wrote about finding a good way to geotag new photos on future hiking trips. But of course I have tons of photos from previous trips that I would like to geotag as well. It would be great if they were mapped whenever I upload to Panoramio and Google Earth/Maps, or Flickr, etc. How does one geotag old photos? Often you can set locations with these online services after you’ve uploaded the photo, but that’s only good for that particular photo site. I want my original files geotagged so that I’ll always have it, even if a particular photo hosting service goes defunct. And with the latitude and longitude in the original files, I won’t have to pin them on the map multiple times, once for each site.
After a bit of research and testing, I arrived at the methods I prefer for both Windows and Mac platforms, and I’ll describe why. In Windows I use GeoSetter, and in OS X I use GeoTag. Both are free, so I have to give a big “thank you” to the developers as payment. I also use Picasa + Google Earth (also free), and this combination will work on both Windows and OS X. I’ll talk more about these further down, including other options I considered.
ExifTool Background Info
Both GeoSetter (Windows) and GeoTag (Mac) use ExifTool by Phil Harvey to actually save the changes to the photo metadata on single photos, so I definitely have to mention that here. ExifTool is a software library that other software can use, but there is also a Windows executable and an OS X package that allow you to run its available commands. It’s free as well, which you probably guessed, and open source also. I had come across ExifTool before when correcting the times on photos so I was familiar with it. It does the job well and is under active development. Its website notes that it supports many photo metadata formats, proprietary MakerNotes from all the major camera manufacturers, and a long list of file types. This is no small feat since photo metadata usage is a minefield of different, sometimes unpublicized proprietary formats.
No Loss Of Photo Quality
A very important note about ExifTool, and by extension the software that utilizes it, is that it does not modify your photo at all. Your JPEG images are not re-compressed and there is no loss of quality. ExifTool only modifies the metadata portion of the files and doesn’t touch the image data portion. The same goes for Picasa, but make sure you have the newest version as versions prior to 3.8 had some problems handling metadata resulting in overwriting unrelated metadata values or corruption.
ExifTool does a fantastic job at working with the metadata, but of course we need something more to do geotagging. We need a way to pick a spot on a map easily, and that’s where these applications come in.
GeoSetter
GeoSetter helps you geotag easily in Windows. It may not have been updated in a while, but it still does the job like a champ.
Website: http://www.geosetter.de/en/
To use it, you choose a directory, and thumbnails of your photos show in a pane on the left. Select an image (or multiple by holding Ctrl), then pin a spot in the Google Map in another pane on the right. Click the button to assign position marker to selected images. The affected images on the left will then show latitude and longitude underneath them in red and the name will change to red also. This shows which images you have ready to geotag, but the changes are not yet made in the files. After you’ve finished doing this to maybe all photos in a folder for example, you click the save all changes to image files button and it writes to the files. By default it will make a new copy of the files, but in settings you can tell it to overwrite the original files if you like.
One huge advantage with GeoSetter for me is that it allows you to load a GPX track file that was generated at the time you took your photos, and use that to add latitude and longitude to all your related photos in one shot! I have done this with great success for photos from hikes in the past couple years when I’ve recorded a track with a mobile app. GeoSetter uses the time your photo was taken to find the closest point time-wise that is recorded with geodata in your track file. It’s almost certain it won’t be an exact match on time of course. It will actually use the point before and after the photo’s time, then find a proportional distance between them to pick the final spot. You do have to be careful about the time. If your camera had a different time from your phone, then you’ll have to set an offset. Otherwise the photos will be stuck on the wrong part of your track. Just check the resulting photo locations to make sure it came out right.
GeoTag
GeoTag is an excellent Mac application for assigning geolocations to your photos.
Website: http://www.snafu.org/GeoTag/
For the basic usage of GeoTag, first you open the files you wish to geotag. You can select individual files or a whole directory. This puts them in the list of photos on the left. Then select a photo (or multiple photos), and on the map at the right you pin the location to assign coordinates. Do this for all the images you want to geotag, and then hit Save in the File menu to make the change. GeoTag will move the un-geotagged file to the trash, and write a new geotagged one in the original folder. Or if you are working on a network location, it won’t be able to move the original file to the trash so instead it will save the original renamed with “_original” tacked on the end, which you can delete in Finder if you want.
Picasa + Google Earth
I have recently found that Picasa will soon be discontinued, but I have kept this section here for those that may already use it.
Picasa is a photo management program from Google and an uploader to their photo hosting and sharing. When you also have Google Earth installed, Picasa will allow you to easily geotag your photos within its nice interface.
Picasa: https://picasa.google.com, Google Earth: https://www.google.com/earth/
If you already use Picasa, this can be a great option for geotagging your old photos. However, if you are just planning to geotag, then installing a photo management application like Picasa and Google Earth on top of that is overkill. Now with the news that it’s soon to lose support from Google, I wouldn’t recommend it for people that don’t already have Picasa.
I hope this write-up helped you find a good way to geotag your old photos, or at the least pointed you in the direction of what to look for. Choose the option that works best for you and your workflow. I’ll look for your photos when exploring in Google Earth!
jumpjack says:
I searched for months with no results: does it exist a SW (for PC or for Android) which allows geotagging by NAME rather than by coordinates? How am I supposed to manually find the exact coordinates where I shot a picture 10 years ago?!? But I could easily find the name. But Google Maps now asks money to developers using its maps; so, does it exist any SW based on OpenStreetMap?
HikingMike says:
Hi jumpjack. I am not completely sure about your goal but I will try to answer.
You can see the latitude/longitude coordinates when using Google Maps (desktop web browser) just by clicking anywhere on the map. The coordinates show up in gray at the bottom. If you click a placemarker, you can then right-click and choose “What’s here?” and it will show the coordinates of the place at bottom. The software I showed above allows that as well.
I believe that GeoSetter allows using both Google Maps and OpenStreetMap for the mapping service. Have you tried it? If you use GeoSetter, you can select multiple photos to have the same latitude/longitude saved at one time.
To me, “geotagging” refers to latitude/longitude coordinates. Especially for outdoors photos, I don’t care much about the approximate coordinates of a marker, but I do care about the precise latitude/longitude. Like you say, it is easy to find a place by its name with great mapping services available now.
Or do you want to automate conversion of a place-name to latitude/longitude coordinates on many photo files based on some other data already saved? I believe to do that you need to use a service such as Google Maps that offers that conversion (called geocoding). You ultimately have to use your own knowledge or a service. For developers and users Google offers a limited number of free API calls over a period of time for doing that, and some paid options. There are other geocoding services for developers.