GRASS SoC Ideas 2008: Difference between revisions
m (→Ideas: intorduction) |
(Fiddling with the general layout) |
||
Line 1: | Line 1: | ||
= About = | = About = | ||
This is the GRASS page for [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2008. Here we will list project ideas and and other information related to the GRASS GSoC projects. | This is the GRASS page for [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2008. Here we will list project ideas and and other information related to the GRASS GSoC projects. | ||
= Timeline = | = Timeline = | ||
* Community bonding time (getting to know the students) | * http://wolf.bergenheim.net/tmp/check.png Community bonding time (getting to know the students) | ||
* Work Begins | * Work Begins (May 28th) | ||
* Midterm evaluation | * Midterm evaluation (July 14th) | ||
* Pencils down! | * Pencils down! (August 11th) | ||
= Required Steps = | = Required Steps = | ||
* List ideas | * List ideas http://wolf.bergenheim.net/tmp/check.png | ||
* Assign Mentors to Ideas | * Assign Mentors to Ideas | ||
* Notify OSGeo | * Notify OSGeo | ||
* Process Student Applications. Deadline XXX | * Process Student Applications. Deadline XXX | ||
* | * April 14th: Accepted Students Announced | ||
* SVN branches and access for students | * SVN branches and access for students | ||
** Create a Wiki page for each accepted project, to be used as a progress reporting tool | |||
* Coding begins... | * Coding begins... | ||
* Students and mentors: Complete the Mid-term survey. | * Students and mentors: Complete the Mid-term survey. | ||
Line 146: | Line 145: | ||
How do you maximize your chances of getting picked? First read the [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents Google SoC FAQ]. Then talk to us about your idea. Try emailing the mentor directly, or come and talk to us in IRC (#grass). | How do you maximize your chances of getting picked? First read the [http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents Google SoC FAQ]. Then talk to us about your idea. Try emailing the mentor directly, or come and talk to us in IRC (#grass). | ||
= Accepted Ideas = | = Accepted Ideas = |
Revision as of 19:37, 12 March 2008
About
This is the GRASS page for Google Summer of Code 2008. Here we will list project ideas and and other information related to the GRASS GSoC projects.
Timeline
- http://wolf.bergenheim.net/tmp/check.png Community bonding time (getting to know the students)
- Work Begins (May 28th)
- Midterm evaluation (July 14th)
- Pencils down! (August 11th)
Required Steps
- List ideas http://wolf.bergenheim.net/tmp/check.png
- Assign Mentors to Ideas
- Notify OSGeo
- Process Student Applications. Deadline XXX
- April 14th: Accepted Students Announced
- SVN branches and access for students
- Create a Wiki page for each accepted project, to be used as a progress reporting tool
- Coding begins...
- Students and mentors: Complete the Mid-term survey.
- Final commit and packaging for Google.
Ideas
Here are some ideas you can base your application on
wxPython
These project ideas have to do with the new GUI of GRASS
3D Visualization
GRASS has an old Tcl based n-dimensional visualization tool. However since we are moving over to the new wxPython-based GUI we will need something similar for the new GUI.
This is potentially a very large task, but in 3 months we would expect to have a workable demo (but release quality code ;)) to display surface(s) in 2D and smoothly transfer the view into 3D. GUI needs to be consistent with the new wxPython GUI for GRASS.
You should keep in mind that the code has to be very well documented (even insanely well) to facilitate better expandability.
Willing to Mentor:Wolf Bergenheim, Michael Barton
Color management
GRASS has good color management features, but lacks a good UI to mange colors.
Your job would be to extend the wxPython GUI to
- Create a color and interval editor tool which should be able to create files which are compatible with r.reclass, r.colors and friends.
- A similar tool for vector data would also be very nice, which would simply store the colors in the GRASSRGB column of the attribute table.
- For added fun a C library that implements things such as "natural breaks" and others which could then also be used by r.reclass, v.reclass and possibly other modules that need to break number ranges into discrete classes.
Willing to Mentor:Wolf Bergenheim, Michael Barton
SQL
GRASS has excellent SQL support, however many people who are using GRASS are not SQL gurus.
Your job would be to create a SQL query builder to help build SQL queries. Additional cool features are welcome!
Willing to Mentor:Wolf Bergenheim, Michael Barton
Kriging
Currently GRASS has no native support for Kriging. Kriging is done either with the R package or with the GStat package. Both are command driven and thus a GUI could be created to control the program. R could be maybe called directly or via a script to do the variograms etc.
Your job would be to grate a GUI (in wxPython) that can:
- Do Kriging based on gstat.
- Create and edit GStat command files
- Call gstat to do variogram analysis
- Call gstat to do the actual Kriging.
- Do Kriging based or R
- Create and edit R scripts
- Call R to do variogram analysis. For efficiency the R environment should be done
- Call R to do the actual Kriging. This includes importing the result back to GRASS.
Willing to Mentor:Wolf Bergenheim, Michael Barton
Cartography
GRASS is mainly focused on Analysis, but it also has good map making tools. These tools lack a good GUI.
Your job would be to create a GUI for the ps.map tool which creates postscript maps. This would be a first step towards a graphical cartography tool for GRASS
Willing to Mentor: Michael Barton, Hamish Bowman
v.what
Your job would be to make v.what take xy coordinates (single xy or line of xy's with a buffer distance to find stuff within that buffer distance of the coordinates; set of at least 3 xy's to ID a polygon and find the stuff within it).
Willing to Mentor: Michael Barton
Raster
These projects involve the GRASS raster library.
r.external
GRASS can link to external vectors (as well as importing them) vi the GDAL OGR library. On the raster side on is unfortunately limited to importing raster maps.
Your job would be to create this r.external too for GRASS.
- See the GRASS raster "live links" proposal for more information.
This project will be done in cooperation with GDAL.
Willing to Mentor: Wolf Bergenheim (GRASS), Frank Warmerdam (GDAL)
Raster Database
In GRASS vector maps can be connected to a database table as an attribute table. Many commercial GIS packages also allow this for raster maps.
Your job would be to implement this connection.
Willing to Mentor: Wolf Bergenheim
Raster Objects
Implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification)
Vector
These ideas relate to the Vector library of GRASS.
v.buffer and v.parallel
These two modules are broken and need to be reimplemented.
Willing to Mentor: Wolf Bergenheim
Implement file based spatial index
Read "Keep topology and spatial index in file instead of in memory" in Radim's Vector ToDo Willing to Mentor: Wolf Bergenheim
v.voronoi / v.delauny
These modules need to be reimplemented as they are quite old an sub-optimal. There are many good algorithms that can be used.
v.generalize take two
Last year Daniel Bundala created the v.generalize module, and implemented many line generalization algorithms.
This year we'd like to expand the module with implementing algorithms to do the following methods (as defined by McMAster)
- merging
- exaggeration
- collapse
- point aggregation
Willing to Mentor: Wolf Bergenheim
v.overlay
Extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines)
Willing to Mentor: Wolf Bergenheim
Uniforming vector modules
GRASS has over 100 vector modules (many of which have multiple functions), and many of these modules very different input parameters, and lach where= and cats= parameters.
Your job would be to clean up these modules and that way ease the learning curve of GRASS
Willing to Mentor: Wolf Bergenheim
Guidelines for Students
How do you maximize your chances of getting picked? First read the Google SoC FAQ. Then talk to us about your idea. Try emailing the mentor directly, or come and talk to us in IRC (#grass).