[Digikam-devel] GSOC 2010 Proposal: Reverse Geocoding and Improved Map search in digiKam

Adwait Gandhe adwait.gandhe1990 at gmail.com
Thu Mar 25 12:31:21 GMT 2010

Dear Sir,

The following is my proposal for GSOC 2010.
I had initially sent it to Mr Hansen and made
changes according to his suggestions to make
my proposal more useful for the community.
Some of his suggestions as : "You propose a new XML schema to store the
keywords. However, digikam already has a tagging system and it would be nice
to simply integrate with this system." and using the tagged words for image
search have been implemented.
I thank him for his advice.
Hoping to work with digiKam in the summer.
If you have any further suggestions kindly let me know.


*Abstract :*

­The digiKam photo management program allows users to manage their photo
collection and apply certain changes to image properties. It is quite common
that the user deals with maps of different regions and also the map search
tool. An interesting application that can be developed in the digiKam
environment is to automatically tag the various parameters on the image.
These parameters, like street, country, town etc. can be predefined by the
user, and they will automatically be tagged by using *reverse geocoding*.
For this work I plan to develop backends to ‘geonames.org’ and ‘Google maps’
to fetch the string of the relevant lat/long pair and manipulate the image
accordingly so as to tag it. This project also aims at modifying the map
search in digiKam to allow users to predefine the number of images and then
display them on the map.

*Name and Contact info:*

Adwait Gandhe

Email :

adwait.gandhe1990 at gmail.com

adwait1990 at gmail.com

*Benefits to the community:*

The recently developed digiKam map search is able to make a search based on
a rectangle area defined by the GPS positions. Development of this project
will create a user interface for end users, where the software will
automatically tag predefined parameters on the map, a task which is
generally time consuming and tedious. Also, the map search can be
complimented with the display of predefined number of images on the map
pertaining to the region of interest. This particular feature along with the
recently developed kde education project ‘Marble’ will add a new dimension
to map search technology from the user perspective. The further integration
of the two can enable a location search where the user given location map is
displayed, with a predefined number of images, predefined number of tags on
that image, and the ‘Marble’ widget enabling its own class of features.

*Necessary work to be done:*

1.      *XML schema:* In my earlier work I had thought that a new XML schema
needs to be designed for this purpose. However after interacting with one of
the digiKam developers, I now understand that digiKam already has a tagging
system and it will be a lot easier to integrate the work with this system.
DigiKam stores these tags in the XMP and IPTC areas of the picture. Hence
there is no direct need to develop a new XML schema.

2.      *Implement Backends:* Once the user specifies the parameters that
are to be tagged on the image, the automatic tagging needs to be
implemented. This process will require JavaScript development. The backend
application will need to be developed that will fetch the relevant
information. The information like name of street etc. will be retrieved in
this process.

3.      *Implementing the tagging:* Once the requisite data is retrieved
from geonames.org and google maps, it will be stored in program memory. The
digiKam image manipulation plugins like text writing and drawing squares
etc. now need to be implemented. In this procedure, the tag names will be
written onto the image. *Variable colours may be implemented for tagging
different parameters.*

4.      *Displaying pictures on the map:* This is a crucial step in the
project. The map search keyword stored earlier now comes in the picture.
Also, as suggested by Mr. Michael Hansen from the digiKam community, the tag
names given to the image can directly be used for the picture search. The
database will be searched for pictures pertaining to these keywords and the
select number of pictures will be displayed on the map.

5.      *Selective display: *An interesting feature that may be implemented
is of selective display of images. It will involve taking information from
the user as to the domain of search. For example sports. And then search
only this domain for the pictures !!

The last part of the necessary work will make the project more complex.
Hence I plan to implement it only if time permits.

*Work by timeline:*

April 9 to April 26: Understand properly the code for digiKam.

April 26 to May 24: Perfect and revise the necessary skills for the project
like C/C++

                               : Read the source code for other open source
projects to narrow down

                                    on a good XML schema design. Also
interact with the mentor to

                                   understand the expectations of the

*1.      **Start coding.(May 24 to May 31) *Initially for the first week
work on understanding the tagging system and source code of the digiKam
software. Interact with the mentor and community to clear concepts regarding
the source code. Also the geonames services have various WebServices like
cities, ocean, earthquake etc. This period will be utilized to narrow down
on exactly which services to integrate with digiKam. **

*2.      **Documentation on OpenStreetMaps reverse geocoding (June 1 to June
8)* I am keeping more time for this part as the success of the work depends
on this. This particular part has been suggested to me by Mr. Hansen after I
sent him the first draft of the proposal. Search for an interface already
defined for ‘Marble’ or work on developing one for the current application.*

*3.      **Implement Backends.(June 8 to June 22) *Once the XML is ready,
the next step is to develop the backends necessary for the geocoding. This
will require more time as currently I do not have prior knowledge of
JavaScript and shall need guidance from my mentor. However I am willing to
learn the basics before the start of the project as I find this work

*4.      **Implement the tagging.(June 22 to July8) *Completion of this part
will cover up most of the project. This will involve writing functions that
link the plugins for image manipulation and modify the image by tagging the
retrieved information. The GPSSync kipi plugin already integrates with
digiKam. This knowledge will be necessary for the tagging. **

*5.      **Complete the widget for tagging (Till July 15) *This will ensure
that the tagging widget is running perfectly.



*6.      **Work on picture display (July 15 to July 29) *This part will
involve writing the code for selection of the pictures pertaining to the
keyword from the database and save them in program variables. The next task
is to display them on the image in a manner that improves the interface of
the software and makes it more attractive. As suggested by Mr. Hansen, the
tag words themselves can be used for the search purposes along with the
keyword supplied by the user.**

*7.      **Work on selective picture display (July 29 to August 7) *If time

*8.      **Complete the entire project till August 14. Always good to finish
before deadline.*

* *

*Personal Bio:*

Hi, my name is Adwait Gandhe. I am a second year student at Birla Institute
of Technology and Science, BITS-Pilani, Goa Campus. I am currently pursuing
Electrical and Electronics engineering. My primary interest is Image

I have taken certain related courses like Computer Programming 1 and 2
covering the programming basics of C/C++ environment. I have good experience
in coding in C/C++ and deeply interested in working in image manipulation.
My main motivation in applying to this organisation was working on software
for image manipulation. I plan to work to the best of my knowledge and
simultaneously learn during the project.

Contact details :

Email : adwait.gandhe1990 at gmail.com

           : adwait1990 at gmail.com

Phone : Will be given if requested.

* *

* *

Adwait Gandhe
Second Year Undergraduate
BE(Hons) EEE
BITS-Pilani, Goa Campus.
adwait.gandhe1990 at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/digikam-devel/attachments/20100325/fd998d58/attachment.html>

More information about the Digikam-devel mailing list