Difference between revisions of "MapServer 2008 SOC Ideas"

From OSGeo
Jump to navigation Jump to search
(New page: Enter ideas for development projects here... == Support for reading SVG symbols == Add support for SVG as an alternate method to define vector symbols in a MapServer symbolset. ==== Men...)
 
 
(14 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Enter ideas for development projects here...
+
= 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 ==
 
== Support for reading SVG symbols ==
Line 5: Line 11:
 
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.
  
==== Mentor ====
+
== 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.
 +
 
 +
[[http://lists.osgeo.org/pipermail/mapserver-dev/2007-October/004454.html 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 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: ==
 
== Other Ideas: ==
  
 
The following MapServer-dev thread outlines a few possible ideas, without providing much details:
 
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]]
+
[[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 =
 +
 
 +
The following individuals are potentially willing to serve as MapServer mentors or co-mentors.
  
== REMOVED ideas: ==
+
* 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
  
==== Add support for KML output to MapServer (for use with Google Earth) ====
 
  
IMPORTANT: KML output in MapServer used to be on the list of ideas but is needed in MapServer 5.0 by an organization that will likely fund it before the summer (before 5.0), so it has been taken out of the list.
+
[[Category:Google Summer of Code]]
 +
[[Category:MapServer]]

Latest revision as of 10:58, 2 September 2022

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