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

Gilles Caulier caulier.gilles at gmail.com
Thu Mar 25 12:36:01 GMT 2010

Nice proposal. All is fine for me.

Gilles Caulier

2010/3/25 Adwait Gandhe <adwait.gandhe1990 at gmail.com>:
> 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
> organisation.
> 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 interesting.
> 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.
> Midterm
> Evaluation.............................................................................
> 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
> permits.
> 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
> Processing.
> 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.
> |+919881469181|
> adwait.gandhe1990 at gmail.com
> _______________________________________________
> Digikam-devel mailing list
> Digikam-devel at kde.org
> https://mail.kde.org/mailman/listinfo/digikam-devel

More information about the Digikam-devel mailing list