Geotagging with drift correct and writing corrected time back to files

Started by l, September 04, 2016, 08:43:24 AM

Previous topic - Next topic

l

Hi all

I'm trying to do geotagging with a high degree of accuracy. I have GPX tracks with positions recorded in one second intervals. Specifically, I want to achieve the following goals:

  • For geotagging not only considering the camera time offset, but also the camera time drift (based on pictures of the time display of the GPS logger)
  • Rewrite the timestamps of the picture with the time-drift corrected
  • Due to drift-correction, calculated picture positions may naturally fall between recorded GPX-positions. However, since I prefer having untagged pictures over inaccurately tagged ones, there shall be no geotagging happening if there aren't GPX points just before/after (< 1s) the calculated capture time.

I have the following draft for a command:

exiftool                                                    \   
   -v2                                                      \   
   -api GeoMaxIntSecs=1                    `# goal 3`       \   
   -api GeoMaxExtSecs=1                    `# goal 3`       \   
   -geosync='06:40:10@2016:06:29 06:40:22' `# goal 1`       \   
   -geosync='09:20:54@2016:06:30 09:21:30' `# goal 1`       \   
   -'Geotime<${CreateDate}+05:30'          `# set timezone` \
   -geotag 'track.gpx'                                      \
   -'AllDates<${CreateDate}'               `# goal 2`       \
   -overwrite_original mypics/


My questions:

  • The line -'AllDates<${CreateDate}' for achieving goal 2 seems to rewrite the original capture time, not the drift-corrected one. I tried variants with Geotime, Geodate and Geotag, but none seem to work. How can I fix this?
  • Are the options for achieving goals 1 and 3 correct?

Thank you for your help.

Phil Harvey

Well done.  You've got goals 1 and 3 correct.  For goal 2, I would recommend copying GPSDateTime back to another date/time tag in a second command (this is the only date/time that will be drift corrected by the -geotag option).  If you write to an EXIF tag, you will have to correct for time zone (you can use the -globalTimeShift option for this).

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).