User:Nealindia/GSoC2

Identity
Name: Neeraj Agarwal

Email: nee.agl@gmail.com

Project Title: Integration of Thematic Mapping, OpenLayers, KML and GeoRSS Support to Maps

Contact/ Working info
Timezone: +0530 GMT

Typical working hours: 1300-0200 (flexible)

IRC: Nealindia

IM/XAMPP: nee.agl@gmail.com

Project Summary
Here I am proposing on building and extending the Maps extension & Semantic Maps. The basic idea is to add the functionality of Thematic Mapping and KML support into this extension. The Maps extension currently support point wise display of markers on the map as well as provide support for geocoding service. I propose to implement KML as well as Thematic mapping service into this extension so that MediaWiki users would be able to implement and add these features on their Wikis easily.

A simple example of a Thematic mapping would be: http://thematicmapping.org/api/piechart.php where the user just need to provide the data source and then using the Google Earth APIs, the map would be drawn and relevant data (as given in the data source) would be shown. Also, GeoRSS data source can also be added by the user. An example would be where he can use his existing Flickr account for the feeds for GeoRSS and display them on the map.

Another feature is to add directions onto the map. User would easily be able to show directions between two points on the map. Other easy features like drawing a line, polygon (by mentioning the coordinates) would be implemented using OpenLayers. For all above features, an easy to implement way would be instrumented for the user to add a Map.

Here is a list of planned features that will be integrated in the currect Maps and Semantic Maps extension:

1) Extend Google Maps API with:


 * Drawing Polylines
 * Drawing Polygones
 * Ground Overlays
 * Tile Overlays
 * Layers
 * Further geocoding features / Reverse Geocoding / Extract Structured Data / Geocoding Cache
 * Street View support / User photos capability / Querying Street View
 * KML and GeoRSS overlays
 * Traffic Overlays
 * Directions & Routes support

2) Support of Google Earth API:


 * Line String
 * Polygones
 * Ground Overlays
 * Screen Overlays
 * MultiGeometries
 * 3D models
 * Camera Controls
 * Ocean capabilities
 * Touring support
 * Time support (create video-like map)

3) Themantic Mapping API:


 * Choropleth map
 * Prism map
 * Propotional Symbol
 * Pie Chart map

4) KML and GeoRSS support for all current maps

About me
I am a third year student from BITS-Pilani BITS-Pilani India. Computer programming is what makes me crazy and am doing it for my last 10 years of my life and loving it! I have been involved and using many Open source packages like LAMP, Linux, etc and now I think it's time to return something back to this large community by being the part of itself.

I would love to be a part of MediaWiki and GSoC and spend my summers writing lots of code for the MediaWiki community and helping making the sum of all human knowledge available to everyone. Once we get done with this project, it would be making a good impact on Wikipedia's articles and making it easier for people to visualise the facts about a place, monument, building, or whatever.

I am experienced with PHP, MySQL, Javascript, Ajax, C incl. Network Programming (TCP/ UDP), Java and have good experience in working with many other APIs including Google Maps which will help me a lot in this project.

Deliverables
I would deliver an extended version of Maps extension with the above mentioned new features.

Required deliverables
•	Thematic Mapping built right into the system

•	KML Support

•	GeoRSS support

•	Simple line, polygon mark-ups using OpenLayers

If time permits
•	Integration of the same features with Semantic Maps.

•	Integrating other map services as well.

Project schedule
1 Week: Discussing and talking with the community

2-3 Weeks for extending with Google Maps API

2-3 Weeks for support with Google Earth API

2-3 Weeks for Thematic Mapping

1 Week for KML & GeoRSS support

1 Week for testing, documentation.

Participation
I expect to have regular chats/ conversations with my mentor for guiding me, code reviews as well as discussing new ideas as they might come during the course of the project. I will be maintaining the code on my server for development and trial basis and committing it whenever required. I would mostly be taking help from documentation available online, my mentor and through the IRC channel.

Past open source experience
I have a lot of experience in working with many Open Source technologies like LAMP, Java, etc Have implemented prototypes of many networking protocols like SMTP, DNS, HTTP incl. CGI support, DHCP, etc I have also coded 12 modules for the Joomla/ Virtuemart community for which the link is: www.joomla-modules.com

I have experience with the Google Maps APIs in using it for one of my project at www.streetadsite.com which involves using markers, pop-ups, geocoding services. Have mostly used JS for this and LAMP. It's still under development phase.

Any other info
I love to code most of the time inspite of heave academic load. I have done many courses like Artificial Intelligence, Network Programming, Object Oriented Programming, Data Processing etc which have contributed to my strong logical skills. I have won several competitions at my school and my college. Have worked on many other open source projects like WordPress, Joomla, Drupal, OpenSocial, Facebook API, Twitter API, MySpace APIs, etc.

My resume: http://www.neerajagarwal.in/upload/resume.pdf