Being a geek with an obsessive tendency as well as a photography enthusiast can be challenging when you travel for a while. Even when you are back home, and no longer have to struggle to find a power plug or a wifi hotspot with a decent bandwidth to get your internet fix, you still face a pile of pictures that you would like to sort and classify in a neat structured way. And what better way to tell the story of your trip than to put your photos on a map?
You may be the lucky one who has a GPS enabled camera, if not, read on to learn how to geotag your pictures using an everyday device that spies on you from your pocket: your smartphone.
Step 1. Download your Location History
If you use an Android phone, you may not be aware that Google stores your location history (with the aim of “providing better results”). Thankfully you can access it freely by visiting the location history page when logged in with your account.
As invasive as it may seem, it turns out to be very useful if you haven’t taken the time to record a GPS track to geotag your pictures. There are two ways to download your full location history:
- Visit this link (note that this method may become deprecated over time)
- Download your Location History from Google Takeout by checking only the corresponding checkbox and selecting the “kml” file format
IPhone / iOS
While Apple is collecting the same amount of data, it doesn’t seem to be willing to share it with its users. There may be a way but I haven’t found it.
Step 2. Convert your location history into a GPS track
There exist different tools to convert a kml file into a gpx file, I personally use GPS Babel which is open source and available on Mac, Linux, and Windows.
At this stage you may want to use some filter to limit the number of points in the gpx file, for instance by selecting a time frame. Note that Lightroom will take a maximum of 50,000 points per GPS track so you may need to split your location history into more smaller chunks.
Step 3. Geotag your pictures
There are different ways to do this. For simplicity I will present only two, one using Adobe Lightroom 4/5, the other using the exiftool open source tool.
First you’ll need to import your pictures as usual. Once this is done, go to the map tab, select “Map > Tracklog > Load Tracklog”, and select your newly created gpx file. You should see something like this:
Then select the pictures you want to geotag, select the track icon at the bottom and click on “Auto-tag xx selected photos”.
After a few moments you should see something like this:
Now if you want to go one step further, you can reverse geocode your pictures, which means to associate a direction (country, city, …) to each picture. Lightroom may do this automatically although it doesn’t seem to work for me. You can check this post for more information.
I have not tested this method myself since Lightroom worked from the first try, but I found this useful post that explains how to achieve the same result with open source tools.