Professional Photo Management with the Power of Open Source

GSoC update: Reverse Geotagging widget is ready!

by Gabriel Voicu

Hello everyone,

I'm very happy to announce you that the reverse geotagging widget is finished! This was the first part and maybe the most important part of my project in this year Google Summer of Code, so I'm glad to see it working. The reverse geotagging widget will be included in kipi-plugins 2.0 release which should be around december 2010. Also, I would like to mention that the world map, the image list and the other widgets(except Reverse Geotagging widget of course) from Geolocation widget are the work of Michael G. Hansen(my GSoC mentor).

Photo blog1

Now, perhaps some of you will ask: "Ok, but what is reverse geotagging?" Well, it's a process that reads the GPS coordinate inside an image and then tags it with address elements(country, city, street...).

Maybe you will still ask "But why is reverse geotagging widget helping me?" If we think at the fact that most people tag their images with location tags(Places/Spain, Holidays/France/Paris), then reverse geotagging widget is very usefull because it helps you save many time when you have to tag lots of images. For example, think that you've just came from an Eurotrip and you want to show your friends the pictures taken on Champs-Élysées in Paris or the ones taken in Barcelona. Of course, you can search in all the new photos and tag them manually, but if you have hundrets or thousands of them it would take some time. The solution comes from the reverse geotagging widget, which automatically tags all your photos(that contains GPS coordinates) with location tags, using just a few clicks.

Before showing you the widget I want to tell you that sometimes the results will not be complete. For example, let's say that you've made a photo in Romania, Constanta city, Mamaia boulevard. If you reverse geotag this photo, you will see that was tagged only with "Romania/Constanta" instead of "Romania/Constanta/Mamaia". This is because the backend services haven't covered yet all the globe with all the address elements in their database. The good part in this is that you can help them quicken the globe covering by donating money or involving directly in their work.

Now, let's speak about this widget. As I said earlier, you can choose where your data will come from. There are 2 backend services: Open Street Map and Geonames. My oppinion is to try them both, because they provide different types of results. Retrieving the tags in your commomn language is also possible, but take in consideration that will not always work. From my tests, I've seen that the country tag is translated in almost every language. If an address elements doesn't provide translation, it will be displayed in English.

You will also have the tag tree from digiKam, where you will tell the widget where to put the new tags. I've written a tutorial in wiki about how to use it here.

If you want to, you can add your tags image metadata too. I've chosen only XMP and no IPTC because it doesn't supports special characters(just ASCII code).

If you made an operation in the tag tree and want to undo it, you have the Undo/Redo widget developed by Michael G. Hansen the gives you the possibility to undo and redo each operation you made in Geolocation widget.

Ok, now let's see if this works. I put here two screenshots:one with the widget and the new tags and one with the tags added in digikam.In the first screenshot, for the ones of you that haven't looked in wiki to see detailed explanations, the red tags are control tags that tell the widget where to put the new tags, the green tags are tags that will be deleted once you close the Geolocation widget and the rest of tags are tags from digikam. In the second screenshot is a proof that the code works and adds properly the tags in digiKam.

Photo blog2

At the end, I want to special thank Michael G. Hansen for proper mentoring and helping me finish this widget.

Congratulations, the

Congratulations, the screenshots look wonderful! I would like to give it a try, but apparantly the code is in a separate branch at the moment. Are there instructions available how I can easily switch my digikam (svn version) to this branch?

Look there...

Source code is there : http://websvn.kde.org/branches/extragear/graphics/

Considerate it as unstable as well. Take a look in README.GoSC2010 file for details.


After reading README.GoSC2010

After reading README.GoSC2010 I have to say: Wow, this sounds as if digikam 2.0 will be really impressive! Looking forward to it ...

I think you should wait at least some days

Hi, I'm very glad you like it. As Gilles said, the code can be found there, but I don't recommend to update to this branch for some time if you want stability, because all three GSoC projects are working on it + there might be some unknown bugs and it could mess up your photos. Just to make an idea, these three projects are planned to be included in a digikam/kipi release in winter(around december), so there is still enough work on that branch. Of course, if you want to test it and help us with finding bugs, we will really appreciate it.

2.0.0 beta release

I plan to release 2.0.0 beta version when it will be possible. Perhaps the first one in september...


Can I also do this with

Can I also do this with Marble?

Just curious, I usually just use Gwenview, but I sometimes think about using DigiKam. I'm not a real hard-core photographer but I prefer using free software.

Yes you can


If by "doing this with Marble", you refer to see the photos on the map, yes you can do it. Geolocation widget has a switcher where you can choose which backend you want to use for your map. The choices are Google Maps and Marble.

Excellent! Thanks so much for


Thanks so much for the work in the project. I knew it was always a highly regarded project, but I still don't know much about what it can do. I'll give it a shot.

Sorry to rain on your parade, but...

...but a similar feature is already out there. You can select an area on the map, and you will see all photos. Not the same, but gives the same effect.

While I personally am going away from manual tagging to geotagging, I may use your feature to keep both. Since I bought a GPS I no longer tag photos geographically, so this can do it for me. But I hope country/city can be achieved, instead of going down to Bezirk, which is beserk.

There is no rain ;-)

"...but a similar feature is already out there. You can select an area on the map, and you will see all photos. Not the same, but gives the same effect."

I think that there is a little misunderstanding here. My project is just about taking photos that already have GPS coordinates inside their metadata and tag them automatically with address (reverse-geotagging). I've made an example of it's usage here.
Another thing is that this map with all it's features is part of Geolocation widget, which is part of Kipi-Plugins. So, this widget will be included in other applications, not only digiKam, (KPhotoAlbum, GwenView, ShowImg) where there may be not a possibility to select an area on the map and select the photos.

"But I hope country/city can be achieved, instead of going down to Bezirk, which is beserk."

If your photos will have GPS coordinates inside their metadata, at least country/city should be achieved.