Monday, September 22, 2008

Geotagging pictures using geotag

Adding GPS metadata can be an invaluable asset when you travel a lot to different places or you simple would like to know more or less precisely, where you took a certain picture. There are several applications out there to add this GPS metadata to your images most of them not available for Linux users. One nice exception is geotag, a JAVA application that using dcraw and exiftool is even capable of writing the GPS metadata to your raw files.


I have to admit that I am not a friend of JAVA applications. I fancy the fact, that you can run an application on different OS's but I found them to be slow in most cases and under Linux to be rather ugly in every case. But what can you do... if an application does what it is supposed to do and if it free, you do not complain!

geotag is a great application written by Andreas Schneider. It has an active user base and Andreas is rather friendly and helpful if you run into problems with the software. You can download the application and find information and more on the project site on sourceforge.

The easiest way to run the software is via its webstart link:

javaws http://geotag.sourceforge.net/geotag.jnlp


In order to geotag your images, you would load images by going

"File" > "Add images"



Once you have one or more images loaded, geotag will show you a preview for your images (for RAW files you will need dcraw installed) and will allow you to add GPS metadata.

If you do not own a GPS device

Having access to a gps device makes geotagging your images so much easier. But what if you don't?

Even without such a device can you add that GPS metadata to your images. In order to do so, right click on an image and choose

"Show on map" > "this image"

geotag will open a new window in your default we bbrowser showing you a map using the google maps API. The assumed location of the image is indicated using the following symbol



Drag the symbol to the position where you took the image. Use the zoom capabilities to get the position as accurate as possible. If you care to check, you can see, that the position of the symbol is reflected in the geotag window showing you the current position inside the google map window. If your image entry appears in a bold font, the GPS data has been added or updated and can be saved with the image data. You can select multiple images as well add one symbol will be added for each image to a new google maps window. Drawback here, you do not know which symbol belongs to which image unless you check in the geotag window, which image has its GPS coordinates changed when dragging a symbol around in the google maps window.


If you do own a GPS device

Adding GPS metadata inside geotag to your images can be done two different ways. In a two-step-process, you would download your GPS log and convert it (if necessary) to the gpx format. You would than load the gpx file and geotag extracts the GPS information from the file and syncs the GPS data via the timestamps in the GPS trackpoints and the exif data of each image.

1. Load one or more images
2. Adjust the time difference between the GPS data and the time stored in your images. This would be the difference between the GPS time and the Camera time. To do so, right click on an image and choose

"Time difference for image"

For me living in Berlin, Germany this is (during summer time) 2 hours. Agree to adjust the time difference for all images loaded if applicable.

3. Load the gpx file by choosing

"File" > "Load trackpoints from file"

The GPS coordinates will be extracted from the gpx file and added to the images.

4. Save the new meta data to the images by right clicking on an images and choose to save the new location data to either all, selected or this particular image.

You can choose whether geotag should write the GPS meta data to XMP side car files or to the images directly. You can also write the data to a new copy of the file keeping the original file intact. Due to space limitations I choose to write to images directly, so the information can not be lost by accidentally deleting side car files and I don't keep original copies, which would double my space requirements.

Geotag supports gpsbabel as an external tool which allows not only for the conversion of multiple GPS formats but also for the direct access to many GPS devices. To configure geotags access to your device, go to

"File">"Options">"External tools">"gpsbabel"

Make the needed chnages to reflect your setup (for an iBlue 747 that would be protocol "mtk" and device should be "/dev/ttyUSB0"). Make sure that gpsbabel is in your path or provide the full path to the executable otherwise.

To use the GPS data directly from your device, choose

"File" > "Load tracks from GPS"

Depending on the transfer speed of your device and amount of log data, this will take some time and getag will tell you in the end the number of trackpoints it was able to extract from the GPS data from the device. It will automatically add the coordinates to your images that you have been loaded before.

Saving the new data is done accordingly to the manual addition of GPS data, so right click and then choose to save the data to your images.

In addition of GPS coordinates only, you can if you like add location data based on the newly added coordinates using the right click menu. The location data is retrieved from www.geonames.org.


Cheers Juergen

No comments: