On a regular basis I go driving or cycling with a GPS in logging mode. This creates a nice big GPX file of where I was on a second-by-second basis.
Whilst on such travels, I often take photos. My camera timestamps these photos, but doesn’t have a built in GPS.
So, I want something that takes the photos, and the GPS tracks, and writes the GPS information into each of the photographs.
So far, so good – there is all manner of software out there to do this.
However, this relies on the clocks in my GPS and camera being in sync, which isn’t always true (and even if I were to remember to synchronise them every time I go out that doesn’t help with old photos which are really badly out of sync, such as from my round-Australia drive where I was crossing timezones on a regular basis and would often forget to update the time on my camera for several days).
GPSPhotoLinker, which I normally use, is almost good enough here, but not quite. It allows me to adjust the time on all my photos by a specified amount. But then I need to work out what that amount should be, and that’s a decidedly non-trivial problem.
Generally I can pinpoint fairly accurately where at least one photograph was taken, but then I need to manually find that point in my GPS tracks to work out what time I was really there at – which is also non-trivial as if I’ve stopped to take a photograph, and my GPS is logging every second, I’ll have a variety of points all roughly around the point. And it’s even worse if I’ve been past that same point several times. GPS Visualizer is quite helpful here as it will plot a GPX file onto Google Earth with timestamps as waypoints, but it’s super slow, and really doesn’t like big GPX files (of the type you might get if you drive 300+km a day logging every second…)
So what I really want is something that will take the GPS track, and a set of a photographs, and plot the photos on a map for where it thinks they were taken. Then I should be able to take one or more of the photos and drag them to where they were actually taken, and the software will use that new information to adjust all its timings and replot all the other photos. Then, when I’m happy they all look like they’re in roughly the correct location, it can write the GPS info to the photos.
Does such a thing exist?
If not, how difficult would it be to even write a little utility that does the plotting of photos onto Google Maps and then lets me “try out” different scenarios simply by giving it an offset and having it move all the photos accordingly, until I get a good enough result by trial and error? It doesn’t sound like it would be too difficult, but there are too many components of it I don’t know anywhere near enough about to actually do it.
Anyone any thoughts or pointers?