It's pretty straight forward actually.
Step 1) Record a *.gpx waypoint file on either the phone / gps unit... I use my android phone with "GPS Logger" because it automatically emails me the file when I stop logging.
Step 2) Photograph the screen of your GPS unit, making sure it shows the current 'satellite time' - this will be important later in case your camera clock is out. Although you might want to take the time at some point to accurately set your camera clock.
Step 3) Save the gpx file into the same folder you downloaded your photos to.
Step 4) Finally, download Geosetter (freeware) from http://www.geosetter.de/en/ and go into the pics folder and tell it to sync geo data (Ctrl+G I think).
Step 5) This might not be nessesary if your camera's clock is reasonably accurate. If there are any time variances use the time offset in geosetter. To calculate the offset compare the satellite time in the photo of your gps unit to the timestamp of that image.
Pretty much all apps that do anything with images remove gps data at this point... except for MMS/iMessage.
My company uses this data, though:
Without getting into too many specifics, my company has workers working in customer's houses. We want pics before, during, and after the work.
So we issued iPhones to all the workers and installed Dropbox and enabled location services. Did you know you can use iPhone restriction controls to lock location services On? You do now.
Anyway, so the guys take photos and upload to dropbox. They're supposed to put them in folders with the job number, but, well to put it the way the operations manager puts it "Some of these guys are dumb. They do good work, but you ask them to fuck with technology, pinche cabron."
Anyway, I got a list of the jobs with the start and end date, and the gps location for the job. Put together a quick little tool in vb.net (which took a number of months and it's still not done yet) which correlates the jobs and photos and let's you dump them into folders based on when and where the photo was taken.
A more complete app (but significantly slower for huge numbers of photos like what I deal with [in excess of 3000 at a time]) for looking at and editing Exif data including GPS data is GeoSetter. While development is active according to the bugtracker, the last version release was in 2011.
You can use your phone to keep track of your location using it's GPS, as long as you have a smart phone (I use Locus on my Desire Z). You can then export the EXIF data it keeps into GeoSetter http://www.geosetter.de/en and it will geotag all your photos. You just need to make sure the time on your phone matches the time on your camera.
Edit: If you have an iPhone you can use MotionX http://www.geek.com/articles/mobile/review-motionx-gps-for-iphone-20090828/
I think GeoSetter should do what you need - I've used it to rename batches of photos based on Date/Time taken and Latitude/Longitude. It can also show the photo locations on a map, which might be handy.
I use 3 programs to organise my photo library of about 70k family photos and videos. Making sure each pic has a comprehensive set of exif data is my goal, because as I ahve moved these pics from different computers/programs over the years, I've found that EXIF has the most support.
The first program is Digital Image Mover All pics from my phone, wife's phone, memory cards when using DSLR, and scanned physical photos all get processed thru DIM, which renames each pic with date taken and sorts them into folders for month and year (there are more options, thats what I use). I just run this manually every few days to weeks depending on how many photos we are taking. The entire picture library is backed up in Onedrive and synced to multiple PCs.
I use GeoSetter to update the exif data by adding location names to all pics based on either embedded GPS data in the pic or selecting locations in Google Maps. Depending on the pics, I will also update descriptions.
Last, I still run Windows Photo Gallery 12 because it is the easiest, most effective "people" tagger I have come across, that writes the person info into EXIF and allows for multiple people in a single pic. I am sure at some point I won't be able to install it on a new PC, and at that point I will be very sad and am not sure what I will switch to, but as long as it keeps working I will keep using it.
There are some limitations - eg Geosetter doesn't update info for heic - but for a home user happy snapper, I've found those three to work reliably for what I am trying to do (ie be able to find a photo in 10 years time based on who is in it, or where it was taken, or the subject matter).
Do you record a flight log/track with GPS details? A once a second log should be enough for your purposes.
If so, use the flight log geolocation data to Geotag your thermal images using time as the common field, then pass these through ODM.
Geosetter will work to do the Geotagging http://www.geosetter.de/en/
Take a look at GeoSetter, it can display location information from your exif data onto a map. Then you can see what photos are in your area of interest and which ones are outside.
This is the best unit out there currently, it has one of the lowest noise floors, and highest sensitivity. it picks up GPS locations in places that my phones, and other loggers don't. It has great battery life, and stores everything on 128 megs of internal memory which mounts to your PC like a USB stick.
Then i use Geosetter (http://www.geosetter.de/en/) to tag my files, I like Geosetter because it tags all types of files, including Raw files in XML sidecar files. Aperture works fantastically too, but i am using a PC; and lightroom doesnt a geotagging feature.
I strongly recommend, AMOD, it's fantastic. I got mine on ebay for 50 bucks. Also, the fact that it uses AAA batteries is fantastic!