I recently bought a new camera and once again I bought a Canon. It was not an obvious choice and I was hesitating since the new version I was interested in does lack the GPS receiver that the predecessor, S100, had. The new model, S110, has WiFi and the idea is that you log the geographical coordinates with an app for your iOS or Android GPS-equipped-device instead.
The concept works fairly well if one remembers to keep the clocks synced and starts the app before shooting. It helps if you have many batteries or access to power outlets every now and then since the GPS logging is quite expensive battery-wise. Big “if’s” but I think I belong to the category of people who actually still find it quite useful and manageable. If I had to choose between WiFi or GPS, I think I would choose WiFi since I anyway can get the geotag feature and the WiFi feature is quite handy for example in order to show photos on the iPad directly from the camera.
The tagging is easily done from the app and works the same way in the iOS as the Android version. Obviously the app must have some kind of log where it keeps track of when the device was somewhere. Let’s say you want to geotag a photo manually, since you forgot to start the app, and you don’t know the location but you know that you were at the same place as earlier when the app was logging your location. There is no option to export the GPS log from the app in order to inspect the tracking points but I found the GPS logs in the iOS filesystem after some digging:
/var/mobile/Applications/5F585866-2CBC-4D3C-A8A1-0AED7EDDFCC6/Documents
I think the iOS device needs to be jailbroken in order to do this but that will hopefully not stop you. The directory 5F585866-2CBC-4D3C-A8A1-0AED7EDDFCC6
is probably called something else on your iOS device but you can easily find which by SSH:ing to the device as the user “mobile” and running find . -maxdepth 3 -name *.app|grep "Canon CW"
In Android I found the logs much easier and on my old Android phone I found them in /mnt/sdcard/Canon CW/.geolog/
In that directory the GPS logs are saved and a log entry might look like this:
$GPRMC,104430.000,A,5345.78060,N,8708.99040,E,,,080113,0,A*46
The location can easily be found in for example Google Maps by entering the coordinates in this format:
The date and time can also easily be extracted. The date is in the end, 080113 is of course 8th of January 2013. The date is recorded in the beginning of the string in the GMT time zone: 104430 in the example below was taken at 17:44:30 in local “NOVT – Novosibirsk Time” time.
So, let’s look at how the manual geotagging procedure could be like. Canon has not been kind enough to log in GPX format which would have been very convenient. Luckily for us, it is simple to convert to GPX with help of the GPS visualizer website. By pasting from the GPS log and choosing GPX as output format we can retrieve a proper GPX file. This file can be loaded and applied to photos with help from the Java application Geotag. It can be started with Java web start. Before starting, please make sure you have ExifTool installed.
After I had adjusted the time stamps in the converted GPX file to match the “GPS time” in the EXIF data of the photos, Geotag kindly added the latitude and longitude to the photos. The added geo locations are recognized by other software so they appear to be applied correctly.
Nice post to balance out the recent non-geeky blog entries. đ