This is CallMeAlan.uk

Your Photographs and EXIF - a mass of data - the second page

The journey continues
So you saw on the previous page how I discovered EXIF, and how I explored its possibilities with respect to my own photography. EXIF and those possibilities fascinated me, and so I continued to explore the concepts and tried to work out ways to leverage this mass of data.

I was already recording a reasonable amount of data about the pictures I took and the dates, locations, etc, thereof, and so it was a matter of extending this data with a view to reaching my ultimate goal: really good and attractive Google Earth representations of each photographic "outing", for want of a better word. As you saw, I had already achieved a somewhat crude and rough 'n' ready GEarth picture, with giant yellow pins, etc, but I wanted to a) automate the whole process and b) prettify the GEarth reveal. As I was further delving I remembered that my camera would not only add GPS data to each pic, but could also record a track of its journey, based upon frequently remembering waypoints. I played with this and was delighted one day to see GEarth show me a continuous red line of my walked path, with superimposed green pins for each picture. Here is my first example, from a short walk I took with the express purpose of examining BOTH of the resulting GPS data sets:

It's remarkably accurate, but you should understand that the GPS system features a built-in "accuracy-destructor", causing a subtle not-perfectly-accurate result. Only the military and similar agencies can override this feature. However, closely examining the recorded path and points I'd estimate the accuracy to plus/minus about 10 metres, perfectly good enugh for our purposes. You may spot that by this stage I'd reduced the size of the pins, and darkened the font and reduced its size, and added the folder name to the picture name.



(Note: in practice I don't bother with recording the path, red in the picture above. I don't find it useful or worthwhile to be honest.)

Where next?
This was all very well, but the distance between arriving home with the camera and saying "oooh aaah!" to Google Earth was over an hour. My pictures are stored on the iMac, but the database and software I'd written were on my Linux laptop, so:

  1. Offload the pictures (RAWs and JPEGs) from the two memory cards into iMac folders
  2. Open a terminal and execute EXIFTOOL against the folder of RAWs, resulting in a raw data file of all the EXIF data I needed
  3. Transfer the raw data file over to the Linux machine
  4. Run one of my programs to analyse and ingest the raw EXIF data into various database tables
  5. Another of my programs to record date, location, notes and keywords into more database tables
  6. Yet another of my programs to produce a Google Earth KML file containing the "coloured pins" info
  7. Transfer the KML over to the iMac
  8. Then, phew, at last, double-click the KML, double click the path file (which came off one of the memory cards ready to roll) and say "oooh aaah!"

No good. Hardly worth all the hassle.

So, then what?
Why Linux, I thought? Why not do it all on the iMac? I had some excellent software development and database management tools already on board and could cut out the transfer/Linux/transfer steps. Why was I even keeping the simple dates, locations and keywords info on the Linux machine when the iMac was my main workhorse?

So, for the last photographically-related time I opened up the Linux machine and transferred the database over to the iMac and closed the Linux-lid.

A journey of discovery and development
I won't bore you with many many software programming details, as I can sense you're already getting bored, so let me simply introduce you to:

EXIF/PhotoStation

EXIF/PhotoStation is the complete tool, written in Xojo and using an SQLite database.



Relevant here is the left-hand section.

Ingest Raw EXIF data : clicking this button will open a file dialogue in which you can select the folder of RAW photographs you just lovingly snapped. The software then - instantly I might add - gets the EXIF data from the pictures and inserts it straight into my database. No need for terminal, EXIFTOOL, dragging folders, getting an intermediate raw data file; no, it all goes straight in. It does use EXIFTOOL, but silently and in the background.

Create a KML file : clicking this reveals a list of all folders which contain GPS-tagged pictures. Select your folder, click GO and there, instantly, a KML file appears right there on the desktop.

So now, the over an hour it used to take is reduced to a mere several minutes.

Quite pleased with myself.

As a final note, along the way I worked out how to reduce the size and colour of those big yellow pins, and my software now creates pins in one of 7 different colours, chosen randomly and shows the picture name in a smaller less obtrusive font. Additionally, clicking on a pin pops up additional data. I'll leave you with a final screenshot:



UPDATE, hot off the presses::: I found another item in the EXIF data: camera temperature. I'm now extracting this item and storing it in the database, so in future work the white popup you see in the picture above will have the temperature shown, on the same line as the lens focal length, thus: 12.0 mm lens 25 C


Finally - here are a few bits of tech details, specifically my database table schemas and a sample KML in its final form.