I like to geotag my photos. For geotagging of topside photos, I've been using Geosetter for a few years now. It's a simple program that reads a GPS tracklog (in GPX format), compares the time stamp of the picture with the trackpoints' time stamps, grabs the GPS coordinates from the trackpoint with the closest match to the picture's timestamp and inserts those data into the picture's EXIF field. The program uses Phil Harvey's EXIFTool to manipulate the EXIF data. For raw files, it can write the location data to an XMP file.
This works great as long as your camera's clock is reasonably accurate. You can also geotag the pictures manually.
For UW pics, I'm also using Geosetter, but getting the depth is a bit of a pain in the nether part of the back. I can get the depth profile from my PDC, but there's always an offset between my camera's clock and my PDC's log. Apparently, there's enough variation that just a direct comparison of the pictures' timestamp with the times of the depth log isn't feasible. So I'm going the long way: A couple of times during the dive, I take a picture of my PDC and hit the bookmark button on the PDC. This gives me a calibration, so I can offset the depth log time to fit my camera's clock. After that, it's manual comparison of picture timestamps with the depth log, and manual insertion of the depth as a negative number in the Altitude field.
This is pretty work-intensive, so I'm thinking there must be some way to take a simple two-column ASCII file with the time/depth data , feed it to e.g. EXIFTool or the Geosetter front-end, and make the process go automatically. Are there anyone else who have tried this?