Google Summer of Code
Hello there, and thank you for considering working on MapWindow for Google Summer of Code!
MapWindow GIS participates in the Google Summer of Code under the OSGeo umbrella.
We have a large and thriving community of users in all types of fields that make use of this open source product. Please check out our main website at http://www.MapWindow.org for more information on MapWindow itself, and to explore our forums and meet some of our users.
If you're a talented VB.Net, C#, or C++ programmer, you could be the perfect fit to work on this project. We have a couple of ideas that could be done over the summer; feel free to suggest your own ideas or plug-ins as well.
2010 Selected projects
Dave Gilmore and his Zap-A-Bug project is selected to do the
Google Summer of Code 2010.
Click here for Dave's page
MapWindow Summer of Code
We had 15 students that showed their interests. 5 of them actual submitted a proposal to Google.
Because of the huge interests we've started MapWindow Summer of Code.
If you still want to participate please join that program.
2010 Ideas List
- New GUI for MapWindow 4
- Currently the GUI is written in VB.NET and no design patterns have been used.
- Most of the code is in frmMain, making it very difficult to enhance or debug.
- The GUI should be rewritten in C# and a design pattern like MVC should be applied.
- See also Issue #1504
- This project is assigned to Bartosz
- New MapWinGeoProc library: replacing NTS with GEOS and merge with GIS Tools and Shapefile editor.
- This library is used in several plug-ins, like GIS Tools and Shapefile editor. Currently it is using an out-dated version of NTS. Since v4.7.5 MapWindow uses the GEOS library. MapWinGeoProc should be rewritten using GEOS and hopefully solve a lot of bugs we're experiencing with NTS. Also some GEOS methods have not been implemented yet. MWGeoProc and the plug-ins GIS Tools and Shapefile editor all have spatial methods. The plug-ins should only be the GUI for the library.
- See also Issue #1683
- This project is assigned to Anna
- Move the hard-coded projections to an XML file
- Add missing projections
- Use the list produced by PROJ4
- See also Issue #1668
- One big capability that ArcGIS has, is the support for relating attribute tables.
- Relates, as opposed to joins enable one to many relationships between vector attribute tables.
- For instance, in ArcGIS, if I identify a feature in the map, I can use the identify window to show me the attributes of the feature, and additionally if that record is associated to other tables, it displays the related records as well.
- In MeemsTools this is already implemented. The code should be reviewed/enhanced and move to the core of MapWindow (Legend control).
- GeoNotes (like in BeeGIS)(GDI+)
- MapWindow 6 enhancements
- MapWindow SilverLight (XAML)
- MapWindow Mobile (WinMobile / Android)
- This project is assigned to Yogesh Team
- Charts (C++, GDI+)
- We've just implemented a new labeler using C++ and GDI+, using the same methodology it should be able to draw pie charts, bar graphs etc.
- This project is assigned to Sergei Leschinsky
- Enhanced symbology (C# / C++, GDI+)
- This project is assigned to Sergei Leschinsky
- Geodatabase support
- We're using GDAL as our main library and GDAL can read/write postGIS, MySQL, SQLLite, Oracle and even ESRI databases.
- We should implement these methods.
- That would also skip the need for intermediate shapefiles
- This project is assigned to Team Sharad
If you don't have enough development skills but do want to learn more about GIS and MapWindow:
- Better use of external libraries
- We use several external libraries, like GDAL, GEOS, PROJ4 (all OSGeo projects) and we've just upgraded to the latest versions but we don't use all of the new features yet.
- Make a list of new features and how we should implement them.
- The new products need to be tested. You will help all the teams testing their products
- The new products need documentation. You will help all the teams documenting their products. Also the current documentation of MapWindow is a bit out-dated. You can update that as well.
- Zap-a-bug! (borrowed from the GRASS ideas list) (C#, VB.NET, C++)
- There are many old and neglected bugs in our issue tracker Mantis.
- Reach 100 points by the end of the summer:
- trivial bugs are 1 point
- minor bugs are 2 points
- normal bugs are 3 points
- major bugs are 4 points
- critical bugs are 7 points
- blocker bugs are 10 points
- Rules: Bugs must be in the tracker before I thought of this idea (16 March 2010) and priority is counted from that time as well. (exemptions may be given for fixing wishes and newly reported critical|blocker bugs only with prior permission of both your mentor and co-mentor). Points for fixing old wishes may be allocated at the discretion of your mentor (but no more than 10pts per wish). The bug fix must include a code patch, and your mentor is explicitly responsible for deciding when a bug is done and marking it as "fixed" in the trac system, not you. You get no points for bugs fixed before the SoC officially starts, but it could impress the judges and allow you to get in enough practice to hit the ground running. Good sense of humor, communication skills, and a thick skin are a must, as you will not be working in isolation. Students who are officially enrolled at their university and the SoC program with the given name of "Frank" [Zappa] (or obvious lingual/gender equivalent) will start the summer with an automatic 10 points. Members of the dev team with SVN write access may award 1 bonus point per week for any bug fixed within that week if they are especially impressed with your solution.
- (A great way to learn the entire GIS and get to know the dev team!)
- This project is the official Google of Summer 2010 entry and is assigned to Dave Gilmore
2009 Ideas List
Some ideas for the MapWindow 4.x line include:
- Enabling skinning - both for features (e.g., disabling or renaming some features) and for visual style, within the application and core plug-ins
- Better (faster) labeling, taking care of donuts, multi-part polygons, moon-like shapes and other challenges.
- Using Open Street Map data; a prototype in VB.NET is available (created by Mark Gray)
- Converting grid to polygon shapefiles; a prototype in VB6 is available (created by Dan Ames and Paul Meems)
- PostGIS plug-in; a prototype plug-in is available, created by Forest Chen. SharpMap has a similar capability that my provide guidance.
- Enhancement requests and bug reports in Mantis (general maintenance)
Alternatively, work is continuously being done on MapWindow 6 (a fully Dot Net port), and a new AJAX/jQuery interface to MapWindow.Web (aka MapWinWeb or MapWindow 5) would be a great idea. Another excellent idea is using the MapWindow 5 or MapWindow 6 components to create a Windows and .NET WMS server component.
Please get in touch with us if you're interested in participating!