Difference between revisions of "GRASS SoC Ideas 2007"
(paragraphs?? wiki editing is new to me...) |
|||
Line 1: | Line 1: | ||
GRASS related ideas for the [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2007: | GRASS related ideas for the [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2007: | ||
− | * Improved Line of Sight Analysis in GRASS | + | * '''Improved Line of Sight Analysis in GRASS''' |
Line of sight determination is a very important analysis to have available in a GIS. The GRASS module that currently performs this function, r.los, has a number of limitations, including being very slow to run and unable to handle large high-resolution datasets. The task: write a new r.los module based on the paper 'A Fast Algorithm for Approximate Viewshed Computation' published in 'Photogrammetric Engineering & Remote Sensing' July 2003: | Line of sight determination is a very important analysis to have available in a GIS. The GRASS module that currently performs this function, r.los, has a number of limitations, including being very slow to run and unable to handle large high-resolution datasets. The task: write a new r.los module based on the paper 'A Fast Algorithm for Approximate Viewshed Computation' published in 'Photogrammetric Engineering & Remote Sensing' July 2003: | ||
Line 11: | Line 11: | ||
Some hints on what's involved in GRASS programming are available here: http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/SUBMITTING | Some hints on what's involved in GRASS programming are available here: http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/SUBMITTING | ||
− | Potential Mentor: Paul Kelly | + | ; Potential Mentor: Paul Kelly |
+ | |||
+ | * '''A new module which would do line generalization with one of these algorithms''' | ||
+ | ** Douglas-Peuker algorithm | ||
+ | ** Reumann-Witkam algorithm | ||
+ | ** Lang simplification algorithm | ||
+ | ** Cromley's Hierarchical algorithm | ||
+ | ** Boyle's forward-looking smoothing algorithm | ||
+ | The most famous of these is the Douglas-Peuker algorithm. | ||
+ | ; Potential Mentor: Wolf Bergenheim | ||
+ | |||
+ | * '''A new simulation/optimization algorithm for least cost path''' | ||
+ | **A new module which would calculate the shortest path from a starting point to a destination. It would use dijkstra's algorithm do find the shortest path in a weighted network. In other words it would treat a cost surface (generated by r.cost) as a network and then calculate the shortest path. This differs from r.drain in that r.drain is a local function, greedy algorithm, whereas this a focal algorithm, that is it takes not only it's immediate location into account, and finds a global shortest path. | ||
+ | ; Potential Mentor: Wolf Bergenheim | ||
+ | |||
+ | * '''Shortest path in free (vector) space (avoiding obstacles''' | ||
+ | This module would take as input a vector map with polygons. These polygons would be treated as obstacles. It would also take a starting and end point as input. It would output a vector map containing the shortest path in free space (this assumes an equal cost surface). There are 2 different ways to do this calculation: | ||
+ | ** by building a "road network" with the help of building trapezoids from each corner point of the obstacles. | ||
+ | ** by building a visibility graph and converting it into a weighted network and running Dijkstra's shortest path on it. | ||
+ | ; Potential Mentor: Wolf Bergenheim | ||
* carry on the work on r.li --[[User:Cavallini|Cavallini]] 14:37, 27 February 2007 (CET) | * carry on the work on r.li --[[User:Cavallini|Cavallini]] 14:37, 27 February 2007 (CET) |
Revision as of 03:55, 12 March 2007
GRASS related ideas for the Google Summer of Code 2007:
- Improved Line of Sight Analysis in GRASS
Line of sight determination is a very important analysis to have available in a GIS. The GRASS module that currently performs this function, r.los, has a number of limitations, including being very slow to run and unable to handle large high-resolution datasets. The task: write a new r.los module based on the paper 'A Fast Algorithm for Approximate Viewshed Computation' published in 'Photogrammetric Engineering & Remote Sensing' July 2003: http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf Incorporate features of r.cva (http://www.ucl.ac.uk/~tcrnmar/GIS/r.cva.html), which cannot currently be incorporated in GRASS for licensing reasons, and extend with other functionality as appropriate.
The work will involve familiarisation with the GRASS raster library for reading and writing maps, the GRASS vector library for reading analysis location sites. It is expected that the GRASS directed graph library will also be useful for implementing many features of the algorithm (specifically, determining the crossing points and distances between the cells).
Some hints on what's involved in GRASS programming are available here: http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/SUBMITTING
- Potential Mentor
- Paul Kelly
- A new module which would do line generalization with one of these algorithms
- Douglas-Peuker algorithm
- Reumann-Witkam algorithm
- Lang simplification algorithm
- Cromley's Hierarchical algorithm
- Boyle's forward-looking smoothing algorithm
The most famous of these is the Douglas-Peuker algorithm.
- Potential Mentor
- Wolf Bergenheim
- A new simulation/optimization algorithm for least cost path
- A new module which would calculate the shortest path from a starting point to a destination. It would use dijkstra's algorithm do find the shortest path in a weighted network. In other words it would treat a cost surface (generated by r.cost) as a network and then calculate the shortest path. This differs from r.drain in that r.drain is a local function, greedy algorithm, whereas this a focal algorithm, that is it takes not only it's immediate location into account, and finds a global shortest path.
- Potential Mentor
- Wolf Bergenheim
- Shortest path in free (vector) space (avoiding obstacles
This module would take as input a vector map with polygons. These polygons would be treated as obstacles. It would also take a starting and end point as input. It would output a vector map containing the shortest path in free space (this assumes an equal cost surface). There are 2 different ways to do this calculation:
- by building a "road network" with the help of building trapezoids from each corner point of the obstacles.
- by building a visibility graph and converting it into a weighted network and running Dijkstra's shortest path on it.
- Potential Mentor
- Wolf Bergenheim
- carry on the work on r.li --Cavallini 14:37, 27 February 2007 (CET)
- better implement PostGIS support
- integrate GDAL as part of GRASS raster library: GRASS raster "live links" proposal
- integrate OGR as part of GRASS vector library
- please expand, I don't understand what you mean -HB
Potential Mentors
- Paul Kelly (for line of sight project)