Jump to content


Photo
- - - - -

Geotagging and depth in pictures' EXIF data


  • Please log in to reply
14 replies to this topic

#1 Storker

Storker

    Wolf Eel

  • Member
  • PipPip
  • 141 posts
  • Gender:Male
  • Location:Trondheim, Norway. About 30 minutes' drive from where Hell occasionally freezes over

Posted 17 March 2015 - 12:10 AM

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?



#2 FanchGadjo

FanchGadjo

    Wolf Eel

  • Member
  • PipPip
  • 139 posts
  • Gender:Male

Posted 18 March 2015 - 07:36 AM

Hi there,

I use EXIFTool to set the focal length and other information about

the manual lenses that I use, but I never used Geosetter.

 

If you are into programming, there might be a way for matching 

and synchronizing your divelog to the GPS tracklog. I just discovered

this program : Subsurface Divelog. It will allow you to link pictures

to your dive and therefore have the depth information.

 

Have a look at the user manual, section 4.5 :

http://subsurface-di...-user-manual-2/

 

They suggest using your technique to synchronize the time data. ;)

I am installing it right now !!! :D

 

LoadImage5_f20.jpg


Edited by FanchGadjo, 18 March 2015 - 07:46 AM.


#3 boardhead

boardhead

    Sea Wasp

  • Member
  • Pip
  • 2 posts

Posted 18 March 2015 - 07:59 AM

ExifTool will do a piecewise linear time synchronization if you give it multiple calibration points (one from each PDC picture).  The command syntax looks like this:

 

exiftool -geotag=mylog.gpx -geosync=10:03:04@pdc_pic1.jpg -geosync=10:20:11@pdc_pic2.jpg -geosync=10:35:32@pdc_pic3.jpg DIR

 

where DIR is the name of the directory containing images to geotag, and the geosync arguments are the time from the PDC clock and the corresponding picture (used to obtain the camera time).

 

See http://owl.phy.queen...ool/geotag.html for more help.

 

This could do what you want if you can arrange the PDC to write a GPX file with the depth information stored as a GPS altitude.  Then ExifTool will calculate the interpolated altitude for the proper synchronized time.  I hope this helps.

 

- Phil


Edited by boardhead, 18 March 2015 - 08:04 AM.


#4 Storker

Storker

    Wolf Eel

  • Member
  • PipPip
  • 141 posts
  • Gender:Male
  • Location:Trondheim, Norway. About 30 minutes' drive from where Hell occasionally freezes over

Posted 18 March 2015 - 11:41 AM

This could do what you want if you can arrange the PDC to write a GPX file with the depth information stored as a GPS altitude.  Then ExifTool will calculate the interpolated altitude for the proper synchronized time.

Great idea! If I could calibrate my PDC's depth log with "true" time and generate a GPX file from that I could input that GPX file to Geosetter, and the depth data would be inserted automagically into my pictures.

Now, my "problem" has been reduced to the generation of a GPX file from my PDC's depth log. Not a non-trivial issue for me considering my (lack of) programming skillz, but at least one step closer to a solution. Unless I'm handed a solution on a platter, I guess it's time to take a peek at GPX file syntax...


--
Sent from my Android phone
Typos are a feature, not a bug

#5 FanchGadjo

FanchGadjo

    Wolf Eel

  • Member
  • PipPip
  • 139 posts
  • Gender:Male

Posted 18 March 2015 - 01:42 PM

Have a look at Subsurface, it will not write the depth into the exif,

but it will link your pictures to your dive profile. If I was not clear,

this does not require programming.



#6 Glasseye Snapper

Glasseye Snapper

    Tiger Shark

  • Member
  • PipPipPipPip
  • 688 posts
  • Gender:Male
  • Location:Edmonton, Canada
  • Interests:Fish ID & behaviour and photos thereof

Posted 18 March 2015 - 04:42 PM

I plan to do this for my next dive trip using the reefnet sensus ultra to log depth and temperature. It does not log a wall-clock time but once you synchronize it with the first image of a dive, which I take upon start of descent, then you can extract the depth for each subsequent image. There is no software for this as far as I know but I plan to write it myself. I haven't decided on whether to write it into exif or in a separate "annotation file" as I also plan to register the species names for all fish in the images and habitat information.

 

Bart


Olympus OM-D EM5/Nauticam, 12-50mm & 60mm macro
Sea&Sea 110a, iTorch, GoPro3 BE

#7 FanchGadjo

FanchGadjo

    Wolf Eel

  • Member
  • PipPip
  • 139 posts
  • Gender:Male

Posted 19 March 2015 - 06:20 AM

For people using Lightroom, it is easy to link any GPX file (tracker or phone)

to your pictures. Maybe someone can come up with a LR module to read depth

from a dive log ...

 

 

http://www.geotagpho...ty-applications


Edited by FanchGadjo, 19 March 2015 - 06:20 AM.


#8 Storker

Storker

    Wolf Eel

  • Member
  • PipPip
  • 141 posts
  • Gender:Male
  • Location:Trondheim, Norway. About 30 minutes' drive from where Hell occasionally freezes over

Posted 19 March 2015 - 08:01 AM

Have a look at Subsurface, it will not write the depth into the exif,
but it will link your pictures to your dive profile.

Close, but no cigar. If at all possible, I geotag ALL my photos, UW and topside, with latitude, longitude and elevation/depth.

For people using Lightroom, it is easy to link any GPX file (tracker or phone)
to your pictures.

Good point. I use LR, but I started using Geosetter a couple of LR versions before Adobe built the LR geotagging module. Now, Geosetter is very well integrated in my workflow, so I'm still using that. Besides, the system for using "custom" (i.e. geographically correct) county/city/sublocation entries is fairly slick. Those automatic placenames aren't too reliable...

Maybe someone can come up with a LR module to read depth
from a dive log ...

All it takes is converting the depth data to a GPX file. And if you have the GPX file, you can use any geotagging-capable program.


--
Sent from my Android phone
Typos are a feature, not a bug

#9 FanchGadjo

FanchGadjo

    Wolf Eel

  • Member
  • PipPip
  • 139 posts
  • Gender:Male

Posted 20 March 2015 - 02:41 AM

Converting a dive log (UDCF for example) to GPX should be doable.

If you highly motivated, you could do conversions :

UDCF to CSV to GPX.

 

Now, Geosetter is very well integrated in my workflow.

 

Update your workflow ! ;)



#10 FanchGadjo

FanchGadjo

    Wolf Eel

  • Member
  • PipPip
  • 139 posts
  • Gender:Male

Posted 20 March 2015 - 04:45 AM

I manually edited a GPX file, after CSV conversion. I changed

the elevation in Excel and then converted back to GPX :

http://www.gpsvisualizer.com/

 

If one can get a column with the depth out of the dive log and

a time reference, it should be doable to fill out the corresponding

timestamps to match the GPX format.

 

Here is my underwater picture taken at -21 meters ! ;)

 

150320014457107271.png



#11 errbrr

errbrr

    Eagle Ray

  • Member
  • PipPipPip
  • 378 posts
  • Gender:Female
  • Location:Melbourne, Australia

Posted 27 March 2015 - 02:40 AM

You guys have inspired me...I've just spent Friday evening fiddling with plugins designed for geocachers and 4WDers and managed to geotag a 300 photos from a 2 hour dive with depth in Lightroom. Workflow as follows:

 

1. Open Shearwater desktop, download dive profile from Petrel dive computer, export to CSV. 

2. Change the "time" column title to "timestamp", delete everything else except depth which I changed to negative numbers and retitled "elevation". Add a dummy latitude and longitude column

4. Use GPSVisualiser http://www.gpsvisualizer.com/ to create a GPX file from my CSV. Check "force text data to be trackpoints" to preserve the timestamps and create GPX.

5. Install the Geoencoding Support plugin into Lightroom 5 (http://regex.info/bl...oom-goodies/gps)

6. Choose the photos from the dive, select "Geoencode..." and select my GPX file. Try and guess the offset time between dive computer and camera...was about 60 seconds.

7. Voila! Elevations (depths) saved against all 307 photos.

 

It's a bit of a fiddle so I can't see doing it for every dive. Given I have my dive profiles all downloaded and my photos all in Lightroom, it's nice to know I can bring the two together should I so desire.



#12 FanchGadjo

FanchGadjo

    Wolf Eel

  • Member
  • PipPip
  • 139 posts
  • Gender:Male

Posted 27 March 2015 - 03:46 AM

If I was not engaged (to a woman), I would move to Australia ! ;)

This is mutual inspiration, then, cause I really like your pictures and

story tellings. I think I already told you, on flickr maybe.

 

Great job ! I have been lazy on downloading dive profiles from

my OSTC. But I need to do it now, and see if CSV conversion is

as easy as with the Petrel. Or buy a Petrel ! :D

 

Do you know if it is possible to make it a two steps process with

geoencoding support ?

1 - change the elevation to match the depth

2 - change the coordinates with an actual GPX file


Edited by FanchGadjo, 27 March 2015 - 03:46 AM.


#13 errbrr

errbrr

    Eagle Ray

  • Member
  • PipPipPip
  • 378 posts
  • Gender:Female
  • Location:Melbourne, Australia

Posted 27 March 2015 - 04:09 AM

That's ok, I'm engaged to my camera. I think it might be serious...  :rolleyes:

 

Not sure about your two step process. Where do you have co-ordinates from? Presumably they are in relation to each dive site and not tracking as you swim. I added them manually to my CSV file for the dive entry/exit point and they are the same co-ordinates for every depth/time point. So just copy the latitude and longitude into two columns in the CSV before converting to GPX.



#14 FanchGadjo

FanchGadjo

    Wolf Eel

  • Member
  • PipPip
  • 139 posts
  • Gender:Male

Posted 27 March 2015 - 04:48 AM

You are right, I should not overcomplicate things. Most of the time, dives require

a single GPS point.

 

Sometimes, we enjoy drift diving in the English Channel. I would match a track

from the boat GPS system or a smartphone to the pictures.

 

I really need to find time to program a LR plugin to read a divelog and do the

tagging !



#15 Storker

Storker

    Wolf Eel

  • Member
  • PipPip
  • 141 posts
  • Gender:Male
  • Location:Trondheim, Norway. About 30 minutes' drive from where Hell occasionally freezes over

Posted 03 April 2015 - 09:54 AM

I really need to find time to program a LR plugin to read a divelog and do the
tagging !


If you ever do, please ping me!


--
Sent from my Android phone
Typos are a feature, not a bug