Difference between revisions of "MapServer 2008 SOC Ideas"

From OSGeo
Jump to navigation Jump to search
(7 intermediate revisions by 4 users not shown)
Line 2: Line 2:
  
 
Enter ideas for development projects here.  Note these are just suggestions - students are welcome to propose projects based on their own interests that relate to MapServer.   
 
Enter ideas for development projects here.  Note these are just suggestions - students are welcome to propose projects based on their own interests that relate to MapServer.   
 +
 +
== Apache Module/MSAPI Module Support ==
 +
 +
While MapServer currently does support FastCGI, it would be beneficial to support tighter integration with the two most popular webserver platforms- Apache and Microsoft IIS.
  
 
== Support for reading SVG symbols ==
 
== Support for reading SVG symbols ==
  
 
Add support for SVG as an alternate method to define vector symbols in a MapServer symbolset.
 
Add support for SVG as an alternate method to define vector symbols in a MapServer symbolset.
 
== Other Ideas: ==
 
 
The following MapServer-dev thread outlines a few possible ideas, without providing much details:
 
[[http://www.nabble.com/Google-Summer-of-Code-Ideas-tf3370598.html http://www.nabble.com/Google-Summer-of-Code-Ideas-tf3370598.html]]
 
  
 
== Performance improvements for labelcache and MINDISTANCE processing ==
 
== Performance improvements for labelcache and MINDISTANCE processing ==
Line 25: Line 24:
  
 
== Output Support for KML ==
 
== Output Support for KML ==
 +
 +
Implement an output driver in MapServer to generate KML output for use with Google Earth, using an approach similar to the current Flash (SWF) and SVG output drivers.
  
 
== Binary persistence support ==
 
== Binary persistence support ==
  
 
This addition requires to develop a binary writer/reader implementation to serialize/deserialize the mapscript objects individually and to support reading/writing the entire mapfile in binary format. This option would result in a performance increment when loading the mapfiles and avoid the parser lock for the multi-threaded applications. The implementor should also create a console application to support converting between the current and the binary mapfile formats.
 
This addition requires to develop a binary writer/reader implementation to serialize/deserialize the mapscript objects individually and to support reading/writing the entire mapfile in binary format. This option would result in a performance increment when loading the mapfiles and avoid the parser lock for the multi-threaded applications. The implementor should also create a console application to support converting between the current and the binary mapfile formats.
 +
 +
== MapScript C# multithreaded test environment ==
 +
 +
The student should create a multithreaded C# test application that would provide automated execution of various pluggable mapscript tests by simulating an ASP.NET style multithreading environment. The application would allow to specify various test parameters like the thread pool size, test execution sequence and timings. The student should implement a fair amount of mapscript test cases to cover the most fundamental parts of the API.
 +
 +
== Other Ideas: ==
 +
 +
The following MapServer-dev thread outlines a few possible ideas, without providing much details:
 +
[[http://www.nabble.com/Fwd%3A--OSGeo-Discuss--Google-Summer-of-Code-2008-tt15614123.html#a15614123 http://www.nabble.com/Fwd%3A--OSGeo-Discuss--Google-Summer-of-Code-2008-tt15614123.html#a15614123]]
  
 
= Mentor Candidates =
 
= Mentor Candidates =
Line 38: Line 48:
 
* Stephen Lime (KML and label cache improvements)  
 
* Stephen Lime (KML and label cache improvements)  
 
* Assefa Yewondwossen (KML)
 
* Assefa Yewondwossen (KML)
* Tamas Szekeres (binary persistence)
+
* Tamas Szekeres (binary persistence, C# multithreaded tests)
 +
* Thomas Bonfort (Tilted Perspective)
 +
* Daniel Morissette
 +
 
 +
 
 +
[[Category:Google Summer of Code]]

Revision as of 01:57, 15 April 2008

MapServer 2008 SoC Ideas

Enter ideas for development projects here. Note these are just suggestions - students are welcome to propose projects based on their own interests that relate to MapServer.

Apache Module/MSAPI Module Support

While MapServer currently does support FastCGI, it would be beneficial to support tighter integration with the two most popular webserver platforms- Apache and Microsoft IIS.

Support for reading SVG symbols

Add support for SVG as an alternate method to define vector symbols in a MapServer symbolset.

Performance improvements for labelcache and MINDISTANCE processing

This is a proposal to redesign the labelcache processing from an O(N*N) process to an O(N) process. It would use a raster buffer for label collision detection and has the possibility for some other spin-off features like label placement with avoidance. Below is a draft RFC Proposal for this feature that provides more information.

[RFC Proposal]

Tilted Prespective Map View similar to that used in many GPS devices

A discussion of this was had in February on the Mapserver-Dev list, see the link below. There clearly is interest in supporting this but it needs some additional discussion, research and an appropriate sizing to a SoC task. On the trivial side it might be as simple as figuring out how to make mapserver work with proj4 parameters, which is clearly not a SoC project. On the other side it might mean implementing another render within mapserver what has a lot of cool features and my be larger in scope than a SoC project.

[http://www.nabble.com/How-to-generate-3d-image-like-GPS-device--td15713573.html#a15713573]

Output Support for KML

Implement an output driver in MapServer to generate KML output for use with Google Earth, using an approach similar to the current Flash (SWF) and SVG output drivers.

Binary persistence support

This addition requires to develop a binary writer/reader implementation to serialize/deserialize the mapscript objects individually and to support reading/writing the entire mapfile in binary format. This option would result in a performance increment when loading the mapfiles and avoid the parser lock for the multi-threaded applications. The implementor should also create a console application to support converting between the current and the binary mapfile formats.

MapScript C# multithreaded test environment

The student should create a multithreaded C# test application that would provide automated execution of various pluggable mapscript tests by simulating an ASP.NET style multithreading environment. The application would allow to specify various test parameters like the thread pool size, test execution sequence and timings. The student should implement a fair amount of mapscript test cases to cover the most fundamental parts of the API.

Other Ideas:

The following MapServer-dev thread outlines a few possible ideas, without providing much details: [http://www.nabble.com/Fwd%3A--OSGeo-Discuss--Google-Summer-of-Code-2008-tt15614123.html#a15614123]

Mentor Candidates

The following individuals are potentially willing to serve as MapServer mentors or co-mentors.

  • Frank Warmerdam
  • Stephen Woodbridge
  • Stephen Lime (KML and label cache improvements)
  • Assefa Yewondwossen (KML)
  • Tamas Szekeres (binary persistence, C# multithreaded tests)
  • Thomas Bonfort (Tilted Perspective)
  • Daniel Morissette