<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FWolf</id>
	<title>GRASS-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://grasswiki.osgeo.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=%E2%9A%A0%EF%B8%8FWolf"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/%E2%9A%A0%EF%B8%8FWolf"/>
	<updated>2026-05-31T14:53:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GIS_at_OSGeo_Community_Sprint_2022&amp;diff=26676</id>
		<title>GRASS GIS at OSGeo Community Sprint 2022</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GIS_at_OSGeo_Community_Sprint_2022&amp;diff=26676"/>
		<updated>2022-08-27T09:55:47Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: Renamed section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
[https://wiki.osgeo.org/wiki/OSGeo_Community_Sprint_2022 ''OSGeo Community Sprint 2022''], Florence, Aug 27-28, 2022.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:GRASS_GIS_Code_Sprint_2018.png|320px]] &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Participation is free of charge and anyone involved or interested in getting involved in OSGeo community projects is welcome.&lt;br /&gt;
&lt;br /&gt;
This year we will try to offer the format '''an hour with the developer''', where we ask seasoned community members to donate time for welcoming new members and introduce them to different projects or guide them through the setup of the development environment or translation tools and get started on the Foss4G journey. &lt;br /&gt;
&lt;br /&gt;
You can choose to contribute to one or more projects. The sky is the limit. There’s always plenty to do – and it’s not all about programming. Translation, documentation, feedback, discussions, and testing are very important for projects! Conference registration is not a prerequisite for participation in the code sprint.&lt;br /&gt;
&lt;br /&gt;
=== When ===&lt;br /&gt;
&lt;br /&gt;
The code sprint will be held on 27-28 of August.&lt;br /&gt;
&lt;br /&gt;
=== Where ===&lt;br /&gt;
&lt;br /&gt;
The codesprint will be hosted at the University of Florence. &lt;br /&gt;
&lt;br /&gt;
* onsite: Centro Didattico Morgagni UniFi in Viale Morgagni 42 -- 44 Firenze ([https://umap.openstreetmap.fr/it/map/foss4g-2022-sites_776000#16/43.7978/11.2472 map]).&lt;br /&gt;
* online: https://gitter.im/grassgis/sprint&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
=== Command Line Improvements ===&lt;br /&gt;
* Finish issues [https://github.com/OSGeo/grass/issues/942 #942] [https://github.com/OSGeo/grass/issues/753 #753] [https://github.com/OSGeo/grass/issues/964 #964] - A unified colorful prompt across all shells&lt;br /&gt;
** I need help with windows for testing if color works as expected&lt;br /&gt;
** Get clarification on whether issue #970 is up for grabs&lt;br /&gt;
** Discuss with Vaclav about introducing sub commands into grass.py, and maybe get it started.&lt;br /&gt;
&lt;br /&gt;
=== Discuss naming and presentation of GRASS GIS data hierarchy ===&lt;br /&gt;
* Kladivova, Petrasova, Petras, Landa (2022, not published): ''GRASS GIS was conceived from its very beginning as a powerful geospatial computing tool that emphasized data integrity to deliver accurate results. To achieve consistent results when working with data from different sources, GRASS GIS requires the data to be imported into GRASS data storage and reprojected into a common coordinate reference system (CRS) predetermined by the user for each project. Within each project, called location, data are further organized into subprojects, called mapsets, used for managing different subregions or analyses. Additionally, mapsets have distinct processing settings such as computational extent and resolution. The directory with one or more locations is referred to as GRASS database and is typically named grassdata.''&lt;br /&gt;
* location and mapset -&amp;gt; project and subproject&lt;br /&gt;
* GRASS database (GISDBASE, database directory) -&amp;gt; not needed as a prominent concept; a path, directory (folder) which happens to have one or more projects&lt;br /&gt;
* More than just a rename, but different presentation.&lt;br /&gt;
* g.project.switch (or g.switch.project) - change current project or subproject&lt;br /&gt;
* g.search.path - manage visibility of data in other subprojects &lt;br /&gt;
* g.mapset and g.mapsets kept for backwards compatibility&lt;br /&gt;
* grass.script.setup.init - add project and subproject keyword arguments; keep location and mapset&lt;br /&gt;
* Workspace file (.gxw) -&amp;gt; automatically created in each subproject with the last used GUI state, but still needs to be available as now for things like 3D animations and g.print.ws&lt;br /&gt;
* PERMANENT&lt;br /&gt;
** permanent versus temporary confusion&lt;br /&gt;
** alternative names: default, base, main (if common files are moved to location, there is no need for a specific name at all) &lt;br /&gt;
** also as a default subproject (mapset)? Path to project (location) would translate to project/{default}, e.g., project/PERMANENT&lt;br /&gt;
&lt;br /&gt;
=== Tools versus Modules ===&lt;br /&gt;
&lt;br /&gt;
* Modular: A component added to a modular system&lt;br /&gt;
* Tools: A things which does things&lt;br /&gt;
&lt;br /&gt;
=== NC sample data on the website ===&lt;br /&gt;
&lt;br /&gt;
* Rename https://grass.osgeo.org/download/data/#NorthCarolinaDataset: take out &amp;lt;tt&amp;gt;_grass7&amp;lt;/tt&amp;gt; to not confuse G8 users&lt;br /&gt;
&lt;br /&gt;
=== New semantic versioning and GitHub milestones ===&lt;br /&gt;
&lt;br /&gt;
* rename label 8.4 to 8.3?&lt;br /&gt;
&lt;br /&gt;
=== Marketing ===&lt;br /&gt;
&lt;br /&gt;
* Best practice (recommendations) how to make a presentation on GRASS GIS&lt;br /&gt;
** existing good material (e.g., reveal.js slides)&lt;br /&gt;
** what should be mentioned&lt;br /&gt;
** adversise the mailing list and new communication platform&lt;br /&gt;
** ... add more.&lt;br /&gt;
* add link to Anna's presentation on parallelization --&amp;gt; and blogpost&lt;br /&gt;
* add link to Vashek's presentation on code style --&amp;gt; and blogpost&lt;br /&gt;
&lt;br /&gt;
=== Parallel processing ===&lt;br /&gt;
&lt;br /&gt;
* r.mapcalc.tiled/r.*.tiled: set default window to non-square for faster row-based computation&lt;br /&gt;
* develop a script which tests a combination of nprocs/memory settings to guide the user what to use on the particular machine&lt;br /&gt;
* add link to Anna's presentation on parallelization&lt;br /&gt;
&lt;br /&gt;
=== Tests ===&lt;br /&gt;
&lt;br /&gt;
* Document how to write test (or prominently say where this is already documented)&lt;br /&gt;
&lt;br /&gt;
=== Sponsorship ===&lt;br /&gt;
&lt;br /&gt;
* add different levels&lt;br /&gt;
* explain better what it is a good idea to donate money (what is the value gained for the donor)&lt;br /&gt;
&lt;br /&gt;
=== GitHub maintenance ===&lt;br /&gt;
&lt;br /&gt;
* use a project board (?) - discuss&lt;br /&gt;
&lt;br /&gt;
=== Message Translation ===&lt;br /&gt;
&lt;br /&gt;
* how to backport translations (weblate pull requests)&lt;br /&gt;
&lt;br /&gt;
=== Student grants ===&lt;br /&gt;
&lt;br /&gt;
* define content of new round&lt;br /&gt;
&lt;br /&gt;
=== Web site ===&lt;br /&gt;
&lt;br /&gt;
* Add roadmap, with iframe pointing to milestones in GitHub?&lt;br /&gt;
&lt;br /&gt;
=== Juyper notebooks ===&lt;br /&gt;
&lt;br /&gt;
* fix timeseries plot which runs into an endless loop in t.rast.series - SQLite locking mess&lt;br /&gt;
&lt;br /&gt;
===  ===&lt;br /&gt;
&lt;br /&gt;
===  ===&lt;br /&gt;
&lt;br /&gt;
===  ===&lt;br /&gt;
&lt;br /&gt;
===  ===&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Saturday ===&lt;br /&gt;
&lt;br /&gt;
==== You ====&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Sunday ===&lt;br /&gt;
&lt;br /&gt;
==== You ====&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* https://wiki.osgeo.org/wiki/FOSS4G_2022/Community_sprint&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2022]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GIS_at_OSGeo_Community_Sprint_2022&amp;diff=26667</id>
		<title>GRASS GIS at OSGeo Community Sprint 2022</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GIS_at_OSGeo_Community_Sprint_2022&amp;diff=26667"/>
		<updated>2022-08-26T18:34:17Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Goals */ Wolf's goals&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
[https://wiki.osgeo.org/wiki/OSGeo_Community_Sprint_2022 ''OSGeo Community Sprint 2022''], Florence, Aug 27-28, 2022.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:GRASS_GIS_Code_Sprint_2018.png|320px]] &lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
Participation is free of charge and anyone involved or interested in getting involved in OSGeo community projects is welcome.&lt;br /&gt;
&lt;br /&gt;
This year we will try to offer the format '''an hour with the developer''', where we ask seasoned community members to donate time for welcoming new members and introduce them to different projects or guide them through the setup of the development environment or translation tools and get started on the Foss4G journey. &lt;br /&gt;
&lt;br /&gt;
You can choose to contribute to one or more projects. The sky is the limit. There’s always plenty to do – and it’s not all about programming. Translation, documentation, feedback, discussions, and testing are very important for projects! Conference registration is not a prerequisite for participation in the code sprint.&lt;br /&gt;
&lt;br /&gt;
=== When ===&lt;br /&gt;
&lt;br /&gt;
The code sprint will be held on 27-28 of August.&lt;br /&gt;
&lt;br /&gt;
=== Where ===&lt;br /&gt;
&lt;br /&gt;
The codesprint will be hosted at the University of Florence. &lt;br /&gt;
&lt;br /&gt;
* Centro Didattico Morgagni UniFi in Viale Morgagni 42 -- 44 Firenze ([https://umap.openstreetmap.fr/it/map/foss4g-2022-sites_776000#16/43.7978/11.2472 map]).&lt;br /&gt;
&lt;br /&gt;
== Goals ==&lt;br /&gt;
&lt;br /&gt;
* Wolf:&lt;br /&gt;
** Finish issues [https://github.com/OSGeo/grass/issues/942 #942] [https://github.com/OSGeo/grass/issues/753 #753] [https://github.com/OSGeo/grass/issues/964 #964] - A unified colorful prompt across all shells&lt;br /&gt;
*** I need help with windows for testing if color works as expected&lt;br /&gt;
*** Get clarification on whether issue #970 is up for grabs&lt;br /&gt;
*** Discuss with Vaclav about introducing sub commands into grass.py, and maybe get it started.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== Saturday ===&lt;br /&gt;
&lt;br /&gt;
==== You ====&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== Sunday ===&lt;br /&gt;
&lt;br /&gt;
==== You ====&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* https://wiki.osgeo.org/wiki/FOSS4G_2022/Community_sprint&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2022]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2012&amp;diff=14927</id>
		<title>GRASS SoC Ideas 2012</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2012&amp;diff=14927"/>
		<updated>2012-02-19T21:42:03Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:grasslogo_vector_small.png|link=http://grass.osgeo.org]]&amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; [[Image:Gsoc-2012-logo-color.png|250px|link=http://wiki.osgeo.org/wiki/Google_Summer_of_Code_2012]] &amp;lt;font size=&amp;quot;+3&amp;quot;&amp;gt; @ &amp;lt;/font&amp;gt; [[Image:OSGeo 220pix.png|link=http://www.osgeo.org]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* See also previous Google Summer of Code [[GRASS SoC Ideas 2011|ideas from 2011]].&lt;br /&gt;
&lt;br /&gt;
* Visit the [http://wiki.osgeo.org/wiki/Google_Summer_of_Code_2012 main OSGeo Google Summer of Code 2012 @ OSGeo wiki page].&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
This is the GRASS page for [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code 2012]. Here we will list project ideas and and other information related to the GRASS GSoC projects.&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/soc/ Official Google Summer of Code 2012 homepage]&lt;br /&gt;
* [http://wiki.osgeo.org/wiki/Google_Summer_of_Code_2012 OSGeo SoC 2012 homepage]&lt;br /&gt;
&lt;br /&gt;
Promotion:&lt;br /&gt;
 * OSGeo Flyer at &amp;lt;s&amp;gt;http://svn.osgeo.org/osgeo/marketing/flyer/google_summer_of_code/OSGeo_GSoC_2012.pdf &amp;lt;/s&amp;gt;(todo)&lt;br /&gt;
* Videos at      http://code.google.com/p/google-summer-of-code/wiki/Videos&lt;br /&gt;
* More Flyers at http://code.google.com/p/google-summer-of-code/wiki/GsocFlyers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
* '''[http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2012/faqs#timeline The official timeline]'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Required Steps ==&lt;br /&gt;
&lt;br /&gt;
* List ideas&lt;br /&gt;
&lt;br /&gt;
* Assign Mentors to Ideas&lt;br /&gt;
&lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
&lt;br /&gt;
* Mentors evaluate student applications&lt;br /&gt;
&lt;br /&gt;
* Accepted students announced&lt;br /&gt;
&lt;br /&gt;
* Students subscribe to the [http://lists.osgeo.org/mailman/listinfo/grass-dev grass-dev mailing list] and introduce themselves&lt;br /&gt;
&lt;br /&gt;
* Mentor will create directory structure in the [http://trac.osgeo.org/grass/browser/grass-addons GRASS add-ons SVN] for projects and setup access for students&lt;br /&gt;
** Students must read and post agreement to [http://grass.osgeo.org/programming7/rfc2_psc.html RFC2] to the [http://lists.osgeo.org/mailman/listinfo/grass-psc grass-psc mailing list] to gain SVN access&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
&lt;br /&gt;
* Coding begins...&lt;br /&gt;
&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey&lt;br /&gt;
&lt;br /&gt;
* Final commit and packaging for Google&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
* '''Also review ideas from [[GRASS SoC Ideas 2007#Ideas|2007]], [[GRASS SoC Ideas 2008#Ideas|2008]], [[GRASS SoC Ideas 2009#Ideas|2009]], [[GRASS SoC Ideas 2010#Ideas|2010]], and [[GRASS SoC Ideas 2011#Ideas|2011]]  which are still open'''.&lt;br /&gt;
&lt;br /&gt;
* Project ideas of your own are also most welcome and often the best.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== wxGUI ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Offer also (optional) &amp;quot;conventional&amp;quot; '''GUI layout''': For some users, the current approach of separate windows (SDI) leads to a '''windows flooding'''. This is a common complaint especially from newbies. Especially on large monitors or dual screen systems catching the wxGUI windows can be tedious when they appear on separate monitors (depends on windows manager, the much used KDE scatters typically the wxGUI windows all over the screen real estate). Almost each task generates a new wxGUI window which is freely floating around on the screen:  [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-03.png example 1] and [http://grass.osgeo.org/grass63/screenshots/images/wxgrass_digit-01.png example 2]. On a dual-screen this may sum up to 50cm of distance! The idea is to capture all those windows in one frame. For details, see [[WxGUI#Layout]].&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[Image:Wxgui_current.png|300px|thumb|left|Current wxGUI layout with detached window components]] &lt;br /&gt;
[[Image:Wxgui_proposal.png|300px|thumb|center|Proposal for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Add '''WMS and/or TiledMapService and/or WMS-T layer support''' for wxGUI. Tiles/WMS images should not be stored as GRASS rasters but only used for displaying purposes (i.e. stored in temp folder). Such tool should provide user-friendly setting choices based on service GetCapabilities response. [[WXGUI WMS service rendering GSoC 2011|GRASS WXGUI WMS service rendering project GSoC wiki page]]&lt;br /&gt;
&amp;lt;li&amp;gt; Develop a GUI module in wxPython for '''creating animations''' from multiple maps and saving animation outputs to animated GIF, MOV, or MPEG files. See existing modules {{cmd|xganim}}, {{cmd|r.out.mpeg}}, [[NVIZ]]'s animation tools, and the [[Movies]] creation wiki page. (co-mentor Helena Mitasova).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;li&amp;gt;  ''Your idea here''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
'''Willing to Mentor:''' [[User:Landa|Martin Landa]], [[User:MarisN|Maris Nartiss]], [[User:Mmetz|Markus Metz]], (''your name here'')&lt;br /&gt;
&lt;br /&gt;
=== Raster  ===&lt;br /&gt;
&lt;br /&gt;
#Add '''[[OpenMP]] parallelization''' where appropriate, for example {{cmd|r.cost}}, {{cmd|r.surf.contour}}, {{cmd|r.watershed}}. It is important to understand which modules are processor bound, and concentrate on them. i.e. do not needlessly complicate the code of non-long running processor bound modules. A good working knowledge of ANSI C and {{wikipedia|OpenMP}} is required. ({{wikipedia|OpenCL}} and {{wikipedia|pthreads}} are fine too!) &lt;br /&gt;
#Create a new GRASS module to find the {{wikipedia|topographic_prominence}} of peaks from a raster elevation map within the region. (probably this would only make up 1/4 to 1/2 of a multi-part GSoC project) &lt;br /&gt;
# Expand maximum grid size for {{cmd|r.watershed}}. [[LIDAR]]-based elevation grids are at finer resolution than previous elevation models, often overwhelming the integer variable limit for grid size.&lt;br /&gt;
# ''Your suggestion here!''&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Hamish (co-mentor parallelization and prominence projects), Wolf Bergenheim(''your name here'')&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
&lt;br /&gt;
# Add '''[[OpenMP]] parallelization''' where appropriate, for example, {{cmd|v.surf.rst}} and {{cmd|v.vol.rst}} ''(co-mentor Helena Mitasova)''. (OpenCL and pthreads are fine too!) See above idea in the [[GRASS SoC Ideas 2011#Raster|Raster section]].&lt;br /&gt;
# Better '''support for wrap-around at 180 longitude''': Currently the raster engine is pretty good at wrapping data over 180 longitude. The vector data isn't, but it should be. This is a great task if by the end of the summer you'd like to be familiar with the implementation method of an entire vector stack of a fully featured modern GIS.&lt;br /&gt;
# Add '''break lines support to interpolation modules''' ({{cmd|v.surf.rst}}, {{cmd|v.surf.idw}}, {{cmd|v.surf.bspline}}). Current implementations provide no support to specify locations of cliffs or faults* thus leading to improper results within non-continous datasets. See [http://www.spatialanalysisonline.com/output/html/Breaklinesandnaturalboundaries.html Geospatial Analysis - a comprehensive guide. 3rd edition] for description. [*] well, some support exists, see {{AddonCmd|v.surf.icw}}.&lt;br /&gt;
# Speed up wxGUI handling and 2D display of large point clouds (several million points). This is likely to include additional &amp;quot;Level-1 Vector&amp;quot; support in the backend modules (for which a working knowledge of ANSI C is req'd).&lt;br /&gt;
# ''Your idea here'' ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' [[User:Landa|Martin Landa]], [[User:Mmetz|Markus Metz]], Hamish (co-mentor for parallelization), Wolf Bergenheim, (''your name here'')&lt;br /&gt;
&lt;br /&gt;
=== Imagery ===&lt;br /&gt;
&lt;br /&gt;
# GRASS's imagery modules (for satellite, scanned maps, and orthophotos) act as enhanced raster modules. In GRASS 5 and 6 they were mostly implemented using interactive X-monitors which are not available in MS Windows and so are removed in the new cross-platform code of GRASS 7.&lt;br /&gt;
#* We need someone willing to '''port the old modules to work with GRASS 7''', including writing new '''wxPython GUI frontends''' to a number of existing tools and updating the imagery libraries to current raster library standards.&lt;br /&gt;
#* In addition, there are a number of '''improved/automated georectification tools''' which have not been merged into GRASS 5/6 which it would be nice to have updated and merged into the main code.&lt;br /&gt;
# Implement '''[[OpenMP]] (multithreading)''' as much as possible (where appropriate; OpenCL and pthreads are fine too)&lt;br /&gt;
# In addition to the porting of the georectification tools mentioned above, it would be interesting to implement an orthorectification tool for satellite imagery. Currently, GRASS only has i.ortho.photo for aerial photographs.&lt;br /&gt;
# Implement image segmentation algorithms and tools&lt;br /&gt;
# Implement region-based classification&lt;br /&gt;
# Implement hierarchical classification tools (e.g. being able to create a large class &amp;quot;forest&amp;quot;, with subclasses of different types of forests)&lt;br /&gt;
# ''Your idea here''&lt;br /&gt;
&lt;br /&gt;
See the [[Image_processing#Ideas_collection_for_improving_GRASS.27_Image_processing_capabilities|ideas for imagery improvement]] and [http://trac.osgeo.org/grass/wiki/Grass7/ImageryLib GRASS 7 ideas] wiki pages for more details.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Hamish (co-mentor for parallelization), (''your name here'')&lt;br /&gt;
&lt;br /&gt;
=== 3D visualization ===&lt;br /&gt;
&lt;br /&gt;
# Optimize OGSF (and NVIZ/wxNVIZ) to '''display large 3D point clouds with uninterupted tought speed'''. OGSF + (wx)NVIZ should be able to rotate point cloud (i.e. LiDAR dataset) with 4 millions of points on medium hardware (i.e. 2GHz CPU with 2Gb RAM and GPU with hardware transform and lighting support and dedicated video RAM) with response time not greater than 1.0 second.&lt;br /&gt;
# Design and implement '''text displaying and styling in OGSF library''' and it's front-ends (NVIZ, [[wxNVIZ]]). Solution should be user configurable (fonts, colors, effects etc.) and multilanguage friendly.&lt;br /&gt;
# Design and implement user-provided '''symbol support in OGSF library''' and it's front-ends (NVIZ, [[wxNVIZ]]). Solution should support GRASS symbols, SVG, and/or simple EPS symbols.&lt;br /&gt;
&amp;lt;!-- # Add/fix missing features to [[wxNVIZ]] (lighting, robust handling of z-exageration and viewing position including latlong data, cutting planes, multiattribute 3D points, decorations: scale, north, legend, text, isosurfaces and slicing) --&amp;gt;&lt;br /&gt;
# Drape multiple color maps over topography (equivalent to running r.patch or r.composite and draping the result; second raster is currently supported as transparency). &lt;br /&gt;
'''Willing to Mentor:''' [[User:Landa|Martin Landa]] (for 2), co-mentor for 1 and 4: Helena Mitasova, (''your name here'')&lt;br /&gt;
&lt;br /&gt;
=== Volume modeling ===&lt;br /&gt;
&lt;br /&gt;
# implement color management for 3D rasters : '''r3.colors'''&lt;br /&gt;
# develop '''r3.flow''' for computing 3D flow lines and 3D flow accumulation from 3D rasters&lt;br /&gt;
# enhance volume interpolation module '''{{cmd|v.vol.rst}}''' for handling of data in space-time cube, including computation of gradients and hypercurvatures&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' co-mentor Helena Mitasova, (''your name here'')&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&lt;br /&gt;
* See also the [https://trac.osgeo.org/grass/query?status=assigned&amp;amp;status=new&amp;amp;status=reopened&amp;amp;order=priority&amp;amp;col=id&amp;amp;col=summary&amp;amp;col=status&amp;amp;col=type&amp;amp;col=priority&amp;amp;col=milestone&amp;amp;col=component&amp;amp;type=enhancement GRASS wish list]&lt;br /&gt;
&lt;br /&gt;
# Design and implement modern '''metadata management system''' for GRASS to support [http://www.opengeospatial.org/standards/cat OGC CSW] and INSPIRE discovery a view services&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
# Design '''GRASS toolboxes environment''', see [[GRASS repository layout proposal]] for detailed information. This would also include general clean up and organization of existing GRASS modules in trunk and add-ons.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
# Design '''sophisticated Python scripting interface''' for GRASS based on [http://grass.osgeo.org/programming7/pythonlib.html GRASS Python Scripting Library]&lt;br /&gt;
# ''Your idea here''&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim (Python API, metadata management) (''your name here'')&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Students ==&lt;br /&gt;
&lt;br /&gt;
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 our [http://lists.osgeo.org/mailman/listinfo/grass-dev dev-mailing list], or come and talk to us in [[IRC]] (#grass). You can also reach the mentors directly by emailing:&lt;br /&gt;
* [http://lists.osgeo.org/mailman/listinfo/soc The OSGeo SoC mailing list]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
 * Anne (&amp;lt;tt&amp;gt; @ &amp;lt;/tt&amp;gt;)&lt;br /&gt;
 * Hamish (&amp;lt;tt&amp;gt;hamish_b at yahoo com&amp;lt;/tt&amp;gt;)&lt;br /&gt;
 * Wolf Bergenheim (&amp;lt;tt&amp;gt;wolf+grass at bergenheim.net&amp;lt;/tt&amp;gt;)&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* If you are thinking about applying, do make a point of reading the &amp;quot;[http://google-opensource.blogspot.co.nz/2011/02/flip-bits-not-burgers-student-guide.html Flip bits not Burgers: The Student's Guide to the Summer of Code]&amp;quot; eBook&lt;br /&gt;
&lt;br /&gt;
=== Getting started with GRASS coding ===&lt;br /&gt;
&lt;br /&gt;
* The source code is maintained in a [http://trac.osgeo.org/grass/browser/grass/trunk SVN server] which is easy to browse&lt;br /&gt;
&lt;br /&gt;
* Please review the submitting files for our coding standards&lt;br /&gt;
** {{src|SUBMITTING|branch=trunk}} for C coding rules&lt;br /&gt;
** {{src|SUBMITTING_PYTHON|branch=trunk}} for Python coding rules&lt;br /&gt;
** {{src|SUBMITTING_DOCS|branch=trunk}} for Documentantion coding rules&lt;br /&gt;
&lt;br /&gt;
* There is lots of good info at the [http://trac.osgeo.org/grass/wiki GRASS Developer's wiki]&lt;br /&gt;
: See also the [[Development|development section]] of the GRASS user's wiki&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Mentors ==&lt;br /&gt;
&lt;br /&gt;
* Un(?)official book: http://www.booki.cc/gsoc-mentoring/&lt;br /&gt;
* Some more hints on the [http://wiki.osgeo.org/wiki/Google_Summer_of_Code_2012_Administrative#Links OSGeo wiki]&lt;br /&gt;
&lt;br /&gt;
== Accepted Ideas ==&lt;br /&gt;
&lt;br /&gt;
# ''Project name''&lt;br /&gt;
#: Student: Your name here&lt;br /&gt;
#: Mentor: Your mentor's name here&lt;br /&gt;
#: Backup mentor: Your backup mentor's name here&lt;br /&gt;
#: Wiki page: wiki page maintained by you (typically in this GRASS wiki, or the trac development wiki)&lt;br /&gt;
# ''Project name''&lt;br /&gt;
#: Student: Someone else's name here&lt;br /&gt;
#: Mentor: Their mentor's name here&lt;br /&gt;
#: Backup mentor: Their backup mentor's name here&lt;br /&gt;
#: Wiki page: wiki page maintained by them (typically in this GRASS wiki, or the trac development wiki)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2009&amp;diff=8508</id>
		<title>GRASS SoC Ideas 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2009&amp;diff=8508"/>
		<updated>2009-03-26T20:52:19Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Other */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:2009 summer of code logo final r3-01.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0em 1em 1em 1em; background-color:#FFF5E5;&amp;quot;&amp;gt;&lt;br /&gt;
'''March 2009: This page is open to contributions - please edit!'''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the GRASS page for [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2009. Here we will list project ideas and and other information related to the GRASS GSoC projects.&lt;br /&gt;
&lt;br /&gt;
Promotion:&lt;br /&gt;
   OSGeo Flyer at http://svn.osgeo.org/osgeo/marketing/flyer/&lt;br /&gt;
   Videos at      http://code.google.com/p/google-summer-of-code/wiki/Videos&lt;br /&gt;
   More Flyers at http://code.google.com/p/google-summer-of-code/wiki/GsocFlyers&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
([http://code.google.com/opensource/gsoc/2009/faqs.html#0_1_timeline_5354032302481437_ GSoC timeline])&lt;br /&gt;
&lt;br /&gt;
* Community bonding time (getting to know the students)&lt;br /&gt;
* Deadline for student's applications (April 3rd)&lt;br /&gt;
* Accepted proposals announced (April 20th)&lt;br /&gt;
* Work Begins (May 23th)&lt;br /&gt;
* Midterm evaluation (July 6th-13th)&lt;br /&gt;
* Pencils down! (August 10th-17th)&lt;br /&gt;
&lt;br /&gt;
== Required Steps ==&lt;br /&gt;
&lt;br /&gt;
* List ideas&lt;br /&gt;
* Assign Mentors to Ideas&lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
* Mentors evaluate student applications ('''Deadline April 3rd''')&lt;br /&gt;
* April 20st: Accepted students announced&lt;br /&gt;
* Students subscribe to the [http://grass.osgeo.org/community/support.php grass-dev mailing list] and introduce themselves&lt;br /&gt;
* Create directory structure in the [http://trac.osgeo.org/grass/browser/grass-addons GRASS add-ons SVN] for projects and setup access for students&lt;br /&gt;
** Students must read and post agreement to [http://download.osgeo.org/grass/grass6_progman/rfc/ RFC2] to the [http://grass.osgeo.org/community/support.php grass-psc mailing list] to gain SVN access&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey&lt;br /&gt;
* Final commit and packaging for Google&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
* '''Also review ideas from [[GRASS SoC Ideas 2008#Ideas|2008]] which are still open'''.&lt;br /&gt;
* Project ideas of your own are also most welcome.&lt;br /&gt;
&lt;br /&gt;
=== [[wxGUI]] ===&lt;br /&gt;
&lt;br /&gt;
* While the GUI is becoming very powerful, there is potential for improvement of the layout. It is suggested to reorganize the wxGUI layout to be more similar to QGIS and likeminded with all-in-one-frame interface (see figure below). Essentially follow the [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] and mind your users (and where they come from - think newcomers to the GRASS world - &amp;quot;Don't Limit Your User Base&amp;quot; by being too different from others). If possible, this could be implemented as ''skin'' to give users choices to also get wxGUI as Multiple Document Interface (MDI, i.e, the wxGUI windows reside under a single parent window). More [[WxGUI#Layout|here]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui_current.png|200px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
[[Image:Wxgui_proposal.png|200px|thumb|center|Proposal for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
&lt;br /&gt;
* Implement new [[wxGUI#GEM integration|extension manager]] which downloads from GRASS Addons SVN (Unix based systems) or from precompiled Windows binaries ([http://trac.osgeo.org/osgeo4w/ OSGeo4W]?). See the [http://cran.at.r-project.org/web/packages/ R packages manager]&lt;br /&gt;
&lt;br /&gt;
* Continue in [[wxNviz]] development.&lt;br /&gt;
&lt;br /&gt;
* Implement [[wxGUI#Graphical_modeller|graphical modeller]].&lt;br /&gt;
&lt;br /&gt;
* Develop a [[WxPython-based_GUI_for_GRASS#Cartography_tools|graphical cartographic module]] - something like a GUI front-end or replacement for ps.map&lt;br /&gt;
&lt;br /&gt;
* Create a fully functional command line interface with history within the GUI (see [http://trac.osgeo.org/grass/ticket/528#comment:6 suggestion])&lt;br /&gt;
&lt;br /&gt;
* Develop a GUI module in wxPython for creating animations from multiple maps and saving animation outputs to animated GIF, MOV, or MPEG files.&lt;br /&gt;
&lt;br /&gt;
====Kriging GUI====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
&lt;br /&gt;
: See [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.autokrige v.autokridge] in Addons&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] (multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
* Rewrite {{cmd|v.select}} to implement more spatial operators (currently only &amp;quot;overlap&amp;quot; is available) - see [http://edndoc.esri.com/arcsde/9.0/general_topics/understand_spatial_relations.htm].&lt;br /&gt;
: Probably merge {{cmd|v.select}} with {{cmd|v.overlay}}.&lt;br /&gt;
: ''--HB: I'm not so sure that a merge is justified; they perform two conceptually different tasks. A full-summer project would probably require more than this one task''&lt;br /&gt;
&lt;br /&gt;
* Implement [http://www.vividsolutions.com/JCS/images/Road%20Network%20Matching.gif vector conflation] to match vector networks from different sources (even rasterized streets from aerial/satellite imagery)&lt;br /&gt;
&lt;br /&gt;
* Further development of network analysis, modules for calculating new indicators such as degree, betweenness, etc, a v.net.distance module (see [http://trac.osgeo.org/grass/ticket/521 ticket 521], integration of time tables (train, public transport) into routing, etc.&lt;br /&gt;
&lt;br /&gt;
* Update and enhance vector querying to give full query capabilities to GRASS vectors. See vector querying section of [http://grass.osgeo.org/wiki/GRASS_6.4_Feature_Plan  GRASS 6.4 Feature Plan].&lt;br /&gt;
&lt;br /&gt;
=== Imagery ===&lt;br /&gt;
&lt;br /&gt;
* GRASS's imagery modules (for satellite, scanned maps, and orthophotos) act as enhanced raster modules. In GRASS 5 and 6 they were mostly implimented using interactive X-monitors which are not available in MS Windows and so are removed in the new cross-platform code of GRASS 7.&lt;br /&gt;
** We need someone willing to port the old modules to work with GRASS 7, including writing new wxPython GUI frontends to a number of existing tools and updating the imagery libraries to current raster library standards.&lt;br /&gt;
** In addition, there are a number of improved/automated georectification tools which have not been merged into GRASS 5/6 which it would be nice to have updated and merged into the main code.&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
See the [[Image_processing#Ideas_collection_for_improving_GRASS.27_Image_processing_capabilities|Ideas for imagery improvement]] and [[GRASS_7_ideas_collection#Imagery|GRASS 7 ideas]] wiki pages for more details.&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&lt;br /&gt;
* Continue the development of [[WinGRASS_Current_Status|GRASS for Windows]]. We are especially interested in having GRASS work on Windows Vista.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Students ==&lt;br /&gt;
&lt;br /&gt;
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 [http://lists.osgeo.org/mailman/listinfo/grass-dev our dev-mailing list], or come and talk to us in [[IRC]] (#grass). You can also reach the mentors directly by emailing:&lt;br /&gt;
* Wolf Bergenheim (wolf+grass@bergenheim.net)&lt;br /&gt;
&lt;br /&gt;
=== Getting started with GRASS coding ===&lt;br /&gt;
&lt;br /&gt;
* The source code is maintained in a [http://trac.osgeo.org/grass/browser/grass/trunk SVN server] which is easy to browse&lt;br /&gt;
: Please review the SUBMITTING files there for our coding standards.&lt;br /&gt;
&lt;br /&gt;
* There is lots of good info at the [http://trac.osgeo.org/grass/wiki GRASS Developer's wiki]&lt;br /&gt;
: See also the [[Development|development section]] of the GRASS user's wiki&lt;br /&gt;
&lt;br /&gt;
== Accepted Ideas ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- See: http://code.google.com/soc/2009/osgeo/about.html --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2009&amp;diff=8507</id>
		<title>GRASS SoC Ideas 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2009&amp;diff=8507"/>
		<updated>2009-03-26T20:51:15Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Ideas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:2009 summer of code logo final r3-01.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0em 1em 1em 1em; background-color:#FFF5E5;&amp;quot;&amp;gt;&lt;br /&gt;
'''March 2009: This page is open to contributions - please edit!'''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the GRASS page for [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2009. Here we will list project ideas and and other information related to the GRASS GSoC projects.&lt;br /&gt;
&lt;br /&gt;
Promotion:&lt;br /&gt;
   OSGeo Flyer at http://svn.osgeo.org/osgeo/marketing/flyer/&lt;br /&gt;
   Videos at      http://code.google.com/p/google-summer-of-code/wiki/Videos&lt;br /&gt;
   More Flyers at http://code.google.com/p/google-summer-of-code/wiki/GsocFlyers&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
([http://code.google.com/opensource/gsoc/2009/faqs.html#0_1_timeline_5354032302481437_ GSoC timeline])&lt;br /&gt;
&lt;br /&gt;
* Community bonding time (getting to know the students)&lt;br /&gt;
* Deadline for student's applications (April 3rd)&lt;br /&gt;
* Accepted proposals announced (April 20th)&lt;br /&gt;
* Work Begins (May 23th)&lt;br /&gt;
* Midterm evaluation (July 6th-13th)&lt;br /&gt;
* Pencils down! (August 10th-17th)&lt;br /&gt;
&lt;br /&gt;
== Required Steps ==&lt;br /&gt;
&lt;br /&gt;
* List ideas&lt;br /&gt;
* Assign Mentors to Ideas&lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
* Mentors evaluate student applications ('''Deadline April 3rd''')&lt;br /&gt;
* April 20st: Accepted students announced&lt;br /&gt;
* Students subscribe to the [http://grass.osgeo.org/community/support.php grass-dev mailing list] and introduce themselves&lt;br /&gt;
* Create directory structure in the [http://trac.osgeo.org/grass/browser/grass-addons GRASS add-ons SVN] for projects and setup access for students&lt;br /&gt;
** Students must read and post agreement to [http://download.osgeo.org/grass/grass6_progman/rfc/ RFC2] to the [http://grass.osgeo.org/community/support.php grass-psc mailing list] to gain SVN access&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey&lt;br /&gt;
* Final commit and packaging for Google&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
* '''Also review ideas from [[GRASS SoC Ideas 2008#Ideas|2008]] which are still open'''.&lt;br /&gt;
* Project ideas of your own are also most welcome.&lt;br /&gt;
&lt;br /&gt;
=== [[wxGUI]] ===&lt;br /&gt;
&lt;br /&gt;
* While the GUI is becoming very powerful, there is potential for improvement of the layout. It is suggested to reorganize the wxGUI layout to be more similar to QGIS and likeminded with all-in-one-frame interface (see figure below). Essentially follow the [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] and mind your users (and where they come from - think newcomers to the GRASS world - &amp;quot;Don't Limit Your User Base&amp;quot; by being too different from others). If possible, this could be implemented as ''skin'' to give users choices to also get wxGUI as Multiple Document Interface (MDI, i.e, the wxGUI windows reside under a single parent window). More [[WxGUI#Layout|here]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui_current.png|200px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
[[Image:Wxgui_proposal.png|200px|thumb|center|Proposal for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
&lt;br /&gt;
* Implement new [[wxGUI#GEM integration|extension manager]] which downloads from GRASS Addons SVN (Unix based systems) or from precompiled Windows binaries ([http://trac.osgeo.org/osgeo4w/ OSGeo4W]?). See the [http://cran.at.r-project.org/web/packages/ R packages manager]&lt;br /&gt;
&lt;br /&gt;
* Continue in [[wxNviz]] development.&lt;br /&gt;
&lt;br /&gt;
* Implement [[wxGUI#Graphical_modeller|graphical modeller]].&lt;br /&gt;
&lt;br /&gt;
* Develop a [[WxPython-based_GUI_for_GRASS#Cartography_tools|graphical cartographic module]] - something like a GUI front-end or replacement for ps.map&lt;br /&gt;
&lt;br /&gt;
* Create a fully functional command line interface with history within the GUI (see [http://trac.osgeo.org/grass/ticket/528#comment:6 suggestion])&lt;br /&gt;
&lt;br /&gt;
* Develop a GUI module in wxPython for creating animations from multiple maps and saving animation outputs to animated GIF, MOV, or MPEG files.&lt;br /&gt;
&lt;br /&gt;
====Kriging GUI====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
&lt;br /&gt;
: See [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.autokrige v.autokridge] in Addons&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] (multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
* Rewrite {{cmd|v.select}} to implement more spatial operators (currently only &amp;quot;overlap&amp;quot; is available) - see [http://edndoc.esri.com/arcsde/9.0/general_topics/understand_spatial_relations.htm].&lt;br /&gt;
: Probably merge {{cmd|v.select}} with {{cmd|v.overlay}}.&lt;br /&gt;
: ''--HB: I'm not so sure that a merge is justified; they perform two conceptually different tasks. A full-summer project would probably require more than this one task''&lt;br /&gt;
&lt;br /&gt;
* Implement [http://www.vividsolutions.com/JCS/images/Road%20Network%20Matching.gif vector conflation] to match vector networks from different sources (even rasterized streets from aerial/satellite imagery)&lt;br /&gt;
&lt;br /&gt;
* Further development of network analysis, modules for calculating new indicators such as degree, betweenness, etc, a v.net.distance module (see [http://trac.osgeo.org/grass/ticket/521 ticket 521], integration of time tables (train, public transport) into routing, etc.&lt;br /&gt;
&lt;br /&gt;
* Update and enhance vector querying to give full query capabilities to GRASS vectors. See vector querying section of [http://grass.osgeo.org/wiki/GRASS_6.4_Feature_Plan  GRASS 6.4 Feature Plan].&lt;br /&gt;
&lt;br /&gt;
=== Imagery ===&lt;br /&gt;
&lt;br /&gt;
* GRASS's imagery modules (for satellite, scanned maps, and orthophotos) act as enhanced raster modules. In GRASS 5 and 6 they were mostly implimented using interactive X-monitors which are not available in MS Windows and so are removed in the new cross-platform code of GRASS 7.&lt;br /&gt;
** We need someone willing to port the old modules to work with GRASS 7, including writing new wxPython GUI frontends to a number of existing tools and updating the imagery libraries to current raster library standards.&lt;br /&gt;
** In addition, there are a number of improved/automated georectification tools which have not been merged into GRASS 5/6 which it would be nice to have updated and merged into the main code.&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
See the [[Image_processing#Ideas_collection_for_improving_GRASS.27_Image_processing_capabilities|Ideas for imagery improvement]] and [[GRASS_7_ideas_collection#Imagery|GRASS 7 ideas]] wiki pages for more details.&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
&lt;br /&gt;
* Continue the development of [[WinGRASS_Current_Status|GRASS for Windows]].&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Students ==&lt;br /&gt;
&lt;br /&gt;
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 [http://lists.osgeo.org/mailman/listinfo/grass-dev our dev-mailing list], or come and talk to us in [[IRC]] (#grass). You can also reach the mentors directly by emailing:&lt;br /&gt;
* Wolf Bergenheim (wolf+grass@bergenheim.net)&lt;br /&gt;
&lt;br /&gt;
=== Getting started with GRASS coding ===&lt;br /&gt;
&lt;br /&gt;
* The source code is maintained in a [http://trac.osgeo.org/grass/browser/grass/trunk SVN server] which is easy to browse&lt;br /&gt;
: Please review the SUBMITTING files there for our coding standards.&lt;br /&gt;
&lt;br /&gt;
* There is lots of good info at the [http://trac.osgeo.org/grass/wiki GRASS Developer's wiki]&lt;br /&gt;
: See also the [[Development|development section]] of the GRASS user's wiki&lt;br /&gt;
&lt;br /&gt;
== Accepted Ideas ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- See: http://code.google.com/soc/2009/osgeo/about.html --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2009&amp;diff=8502</id>
		<title>GRASS SoC Ideas 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2009&amp;diff=8502"/>
		<updated>2009-03-23T10:54:30Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* wxGUI */ Added The Kriging idea from 2008&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:2009 summer of code logo final r3-01.png|right|400px]]&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin:0; margin-top:10px; margin-right:10px; border:1px solid #dfdfdf; padding:0em 1em 1em 1em; background-color:#FFF5E5;&amp;quot;&amp;gt;&lt;br /&gt;
'''March 2009: This page is open to contributions - please edit!'''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the GRASS page for [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2009. Here we will list project ideas and and other information related to the GRASS GSoC projects.&lt;br /&gt;
&lt;br /&gt;
Promotion:&lt;br /&gt;
   OSGeo Flyer at http://svn.osgeo.org/osgeo/marketing/flyer/&lt;br /&gt;
   Videos at      http://code.google.com/p/google-summer-of-code/wiki/Videos&lt;br /&gt;
   More Flyers at http://code.google.com/p/google-summer-of-code/wiki/GsocFlyers&lt;br /&gt;
&lt;br /&gt;
== Timeline ==&lt;br /&gt;
&lt;br /&gt;
([http://code.google.com/opensource/gsoc/2009/faqs.html#0_1_timeline_5354032302481437_ GSoC timeline])&lt;br /&gt;
&lt;br /&gt;
* Community bonding time (getting to know the students)&lt;br /&gt;
* Deadline for student's applications (April 3rd)&lt;br /&gt;
* Accepted proposals announced (April 20th)&lt;br /&gt;
* Work Begins (May 23th)&lt;br /&gt;
* Midterm evaluation (July 6th-13th)&lt;br /&gt;
* Pencils down! (August 10th-17th)&lt;br /&gt;
&lt;br /&gt;
== Required Steps ==&lt;br /&gt;
&lt;br /&gt;
* List ideas&lt;br /&gt;
* Assign Mentors to Ideas&lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
* Mentors evaluate student applications ('''Deadline April 3rd''')&lt;br /&gt;
* April 20st: Accepted students announced&lt;br /&gt;
* Students subscribe to the [http://grass.osgeo.org/community/support.php grass-dev mailing list] and introduce themselves&lt;br /&gt;
* Create directory structure in the [http://trac.osgeo.org/grass/browser/grass-addons GRASS add-ons SVN] for projects and setup access for students&lt;br /&gt;
** Students must read and post agreement to [http://download.osgeo.org/grass/grass6_progman/rfc/ RFC2] to the [http://grass.osgeo.org/community/support.php grass-psc mailing list] to gain SVN access&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey&lt;br /&gt;
* Final commit and packaging for Google&lt;br /&gt;
&lt;br /&gt;
== Ideas ==&lt;br /&gt;
&lt;br /&gt;
* '''Also review ideas from [[GRASS SoC Ideas 2008#Ideas|2008]] which are still open'''.&lt;br /&gt;
* Project ideas of your own are also most welcome.&lt;br /&gt;
&lt;br /&gt;
=== [[wxGUI]] ===&lt;br /&gt;
&lt;br /&gt;
* While the GUI is becoming very powerful, there is potential for improvement of the layout. It is suggested to reorganize the wxGUI layout to be more similar to QGIS and likeminded with all-in-one-frame interface (see figure below). Essentially follow the [http://en.wikipedia.org/wiki/Human_interface_guidelines Human interface guidelines] and mind your users (and where they come from - think newcomers to the GRASS world - &amp;quot;Don't Limit Your User Base&amp;quot; by being too different from others). If possible, this could be implemented as ''skin'' to give users choices to also get wxGUI as Multiple Document Interface (MDI, i.e, the wxGUI windows reside under a single parent window). More [[WxGUI#Layout|here]].&lt;br /&gt;
&lt;br /&gt;
[[Image:Wxgui_current.png|200px|thumb|center|Current wxGUI layout with detached window components]]&lt;br /&gt;
[[Image:Wxgui_proposal.png|200px|thumb|center|Proposal for wxGUI layout modification (Recomposition of existing toolbars, mapview and menus)]]&lt;br /&gt;
&lt;br /&gt;
* Implement new [[wxGUI#GEM integration|extension manager]] which downloads from GRASS Addons SVN (Unix based systems) or from precompiled Windows binaries ([http://trac.osgeo.org/osgeo4w/ OSGeo4W]?). See the [http://cran.at.r-project.org/web/packages/ R packages manager]&lt;br /&gt;
&lt;br /&gt;
* Continue in [[wxNviz]] development.&lt;br /&gt;
&lt;br /&gt;
* Implement [[wxGUI#Graphical_modeller|graphical modeller]].&lt;br /&gt;
&lt;br /&gt;
* Develop a [[WxPython-based_GUI_for_GRASS#Cartography_tools|graphical cartographic module]] - something like a GUI front-end or replacement for ps.map&lt;br /&gt;
&lt;br /&gt;
* Create a fully functional command line interface with history within the GUI (see [http://trac.osgeo.org/grass/ticket/528#comment:6 suggestion])&lt;br /&gt;
&lt;br /&gt;
* Develop a GUI module in wxPython for creating animations from multiple maps and saving animation outputs to animated GIF, MOV, or MPEG files.&lt;br /&gt;
&lt;br /&gt;
====Kriging====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to grate a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based or R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
&lt;br /&gt;
: See v.autokridge in Addons&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] (multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
* Rewrite {{cmd|v.select}} to implement more spatial operators (currently only &amp;quot;overlap&amp;quot; is available) - see [http://edndoc.esri.com/arcsde/9.0/general_topics/understand_spatial_relations.htm].&lt;br /&gt;
: Probably merge {{cmd|v.select}} with {{cmd|v.overlay}}.&lt;br /&gt;
: ''--HB: I'm not so sure that a merge is justified; they perform two conceptually different tasks. A full-summer project would probably require more than this one task''&lt;br /&gt;
&lt;br /&gt;
* Implement [http://www.vividsolutions.com/JCS/images/Road%20Network%20Matching.gif vector conflation] to match vector networks from different sources (even rasterized streets from aerial/satellite imagery)&lt;br /&gt;
&lt;br /&gt;
* Further development of network analysis, modules for calculating new indicators such as degree, betweenness, etc, a v.net.distance module (see [http://trac.osgeo.org/grass/ticket/521 ticket 521], integration of time tables (train, public transport) into routing, etc.&lt;br /&gt;
&lt;br /&gt;
* Update and enhance vector querying to give full query capabilities to GRASS vectors. See vector querying section of [http://grass.osgeo.org/wiki/GRASS_6.4_Feature_Plan  GRASS 6.4 Feature Plan].&lt;br /&gt;
&lt;br /&gt;
=== Imagery ===&lt;br /&gt;
&lt;br /&gt;
* GRASS's imagery modules (for satellite, scanned maps, and orthophotos) act as enhanced raster modules. In GRASS 5 and 6 they were mostly implimented using interactive X-monitors which are not available in MS Windows and so are removed in the new cross-platform code of GRASS 7.&lt;br /&gt;
** We need someone willing to port the old modules to work with GRASS 7, including writing new wxPython GUI frontends to a number of existing tools and updating the imagery libraries to current raster library standards.&lt;br /&gt;
** In addition, there are a number of improved/automated georectification tools which have not been merged into GRASS 5/6 which it would be nice to have updated and merged into the main code.&lt;br /&gt;
&lt;br /&gt;
* implement [[OpenMP]] multithreading) as much as possible&lt;br /&gt;
&lt;br /&gt;
See the [[Image_processing#Ideas_collection_for_improving_GRASS.27_Image_processing_capabilities|Ideas for imagery improvement]] and [[GRASS_7_ideas_collection#Imagery|GRASS 7 ideas]] wiki pages for more details.&lt;br /&gt;
&lt;br /&gt;
== Guidelines for Students ==&lt;br /&gt;
&lt;br /&gt;
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 [http://lists.osgeo.org/mailman/listinfo/grass-dev our dev-mailing list], or come and talk to us in [[IRC]] (#grass). You can also reach the mentors directly by emailing:&lt;br /&gt;
* Wolf Bergenheim (wolf+grass@bergenheim.net)&lt;br /&gt;
&lt;br /&gt;
=== Getting started with GRASS coding ===&lt;br /&gt;
&lt;br /&gt;
* The source code is maintained in a [http://trac.osgeo.org/grass/browser/grass/trunk SVN server] which is easy to browse&lt;br /&gt;
: Please review the SUBMITTING files there for our coding standards.&lt;br /&gt;
&lt;br /&gt;
* There is lots of good info at the [http://trac.osgeo.org/grass/wiki GRASS Developer's wiki]&lt;br /&gt;
: See also the [[Development|development section]] of the GRASS user's wiki&lt;br /&gt;
&lt;br /&gt;
== Accepted Ideas ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- See: http://code.google.com/soc/2009/osgeo/about.html --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_Terminology&amp;diff=6518</id>
		<title>GRASS 7 Terminology</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_Terminology&amp;diff=6518"/>
		<updated>2008-05-01T18:03:34Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Layer contra Map */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is dedicated to discussion about changes in terminology for GRASS 7.&lt;br /&gt;
&lt;br /&gt;
== Layer contra Map ==&lt;br /&gt;
&lt;br /&gt;
'''Background''':&lt;br /&gt;
Currently data entities like raster or vector are called in GRASS &amp;quot;maps&amp;quot;, i.e. &amp;quot;raster map&amp;quot; or &amp;quot;vector map&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|ML]]: GRASS is basically '''&amp;quot;layer-based&amp;quot;''' GIS, calling single raster or vector entities as &amp;quot;maps&amp;quot; is quite confusing. Better would be to use term &amp;quot;layer&amp;quot; for this purpose. &amp;quot;Map&amp;quot; can be used for layer composition, e.g. for cartography outputs.&lt;br /&gt;
&lt;br /&gt;
'''Background''':&lt;br /&gt;
The term &amp;quot;vector layer&amp;quot; is currently used even in more confusing sense, to mark subgroup of vector objects in vector entity. Originally called as &amp;quot;field&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|ML]]: Not sure if to go back to the original term &amp;quot;field&amp;quot; (DB-based) or use something like &amp;quot;sub-layer&amp;quot;.&lt;br /&gt;
* WB: How about calling it &amp;quot;attribute-layer&amp;quot; which connects to an &amp;quot;attribute-table&amp;quot; (DB table)?&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/gdp/html_grass5/terminology.html GRASS 5 terminology]&lt;br /&gt;
* [http://www.nabble.com/terminology-fixes-in-GRASS-td7856076.html#a7856076 GRASS 6 terminology fixes]&lt;br /&gt;
* The terminology is related to '''flags and parameters standardization'''. See [http://trac.osgeo.org/grass/browser/grass/trunk/doc/parms_flags.txt proposal(s)].&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_Terminology&amp;diff=6517</id>
		<title>GRASS 7 Terminology</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_Terminology&amp;diff=6517"/>
		<updated>2008-05-01T18:02:13Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Layer contra Map */ Added some thoughts on terminology&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is dedicated to discussion about changes in terminology for GRASS 7.&lt;br /&gt;
&lt;br /&gt;
== Layer contra Map ==&lt;br /&gt;
&lt;br /&gt;
'''Background''':&lt;br /&gt;
Currently data entities like raster or vector are called in GRASS &amp;quot;maps&amp;quot;, i.e. &amp;quot;raster map&amp;quot; or &amp;quot;vector map&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|ML]]: GRASS is basically '''&amp;quot;layer-based&amp;quot;''' GIS, calling single raster or vector entities as &amp;quot;maps&amp;quot; is quite confusing. Better would be to use term &amp;quot;layer&amp;quot; for this purpose. &amp;quot;Map&amp;quot; can be used for layer composition, e.g. for cartography outputs.&lt;br /&gt;
&lt;br /&gt;
'''Background''':&lt;br /&gt;
The term &amp;quot;vector layer&amp;quot; is currently used even in more confusing sense, to mark subgroup of vector objects in vector entity. Originally called as &amp;quot;field&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* [[User:Landa|ML]]: Not sure if to go back to the original term &amp;quot;field&amp;quot; (DB-based) or use something like &amp;quot;sub-layer&amp;quot;.&lt;br /&gt;
* WB: How about calling it &amp;quot;attribute-layer&amp;quot; or better yet: &amp;quot;attribute-table&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [http://grass.osgeo.org/gdp/html_grass5/terminology.html GRASS 5 terminology]&lt;br /&gt;
* [http://www.nabble.com/terminology-fixes-in-GRASS-td7856076.html#a7856076 GRASS 6 terminology fixes]&lt;br /&gt;
* The terminology is related to '''flags and parameters standardization'''. See [http://trac.osgeo.org/grass/browser/grass/trunk/doc/parms_flags.txt proposal(s)].&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_ideas_collection&amp;diff=6458</id>
		<title>GRASS 7 ideas collection</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_ideas_collection&amp;diff=6458"/>
		<updated>2008-04-27T15:48:40Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* fix */ Added link v.generalize to manual page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MoveToTrac}}&lt;br /&gt;
== Maintenance of repository ==&lt;br /&gt;
&lt;br /&gt;
For grass7 development will be used svn-trunk, for grass6 must be created new branch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Planning is continued here: http://trac.osgeo.org/grass/wiki/Grass7Planning&lt;br /&gt;
&lt;br /&gt;
== Raster ==&lt;br /&gt;
&lt;br /&gt;
See also [[Replacement raster format]]&lt;br /&gt;
&lt;br /&gt;
=== Library ===&lt;br /&gt;
* allowing nulls to be embedded&lt;br /&gt;
* Split libgis into G_() part and Rast_() part&lt;br /&gt;
* Rewrite library from scratch. See [http://grass.itc.it/pipermail/grass-dev/2006-August/025025.html suggestions]&lt;br /&gt;
* Insert 'vertical' 2d rasters (e.g. [http://woodshole.er.usgs.gov/project-pages/longislandsound/images/Ghist_square2.jpg geophysical survey data])&lt;br /&gt;
* [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; via GDAL]&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
==== rename ====&lt;br /&gt;
* rename r.in.gdal to r.import&lt;br /&gt;
* rename r.out.gdal to r.export&lt;br /&gt;
* rename r.volume 'data' parameter to something more standard like 'input' or 'map'&lt;br /&gt;
&lt;br /&gt;
==== remove ====&lt;br /&gt;
* Remove r.bitpattern since r.mapcalc does it more nicely now&lt;br /&gt;
* Remove r.in.arc and r.out.arc, '''if''' a [http://intevation.de/rt/webrt?serial_num=4897 related bug in r.in.gdal] is fixed. The [http://bugzilla.remotesensing.org/show_bug.cgi?id=1071 integer/floating point detection for AAIGrid driver in GDAL] was fixed after 1.3.2 release, so r.in.gdal and r.out.gdal should be enough now.&lt;br /&gt;
&lt;br /&gt;
* remove '''r.resample''' and '''r.bilinear''' in favor of '''r.resamp.interp'''&lt;br /&gt;
* remove '''r.univar.sh'''; newly implemented '''r.univar''' features cover it&lt;br /&gt;
&lt;br /&gt;
* remove r.out.tiff. New C r.out.gdal should cover all it's option now (doublecheck!). See [http://intevation.de/rt/webrt?serial_num=3680 RT #3680] (starting with date Sun, Nov 26 2006 14:54:23).&lt;br /&gt;
: It might be worth keeping r.out.tiff! It makes a nice delta when things don't go well (eg [https://svn.qgis.org/trac/ticket/348 QGIS bug#348]) --HB&lt;br /&gt;
&lt;br /&gt;
* Remove remaining -v and -q flags for verbosity levels of modules.&lt;br /&gt;
&lt;br /&gt;
==== Merge ====&lt;br /&gt;
&lt;br /&gt;
* merge '''r.surf.idw''' and '''r.surf.idw2'''&lt;br /&gt;
: while r.surf.idw will only output CELL maps, it is Very Fast.&lt;br /&gt;
&lt;br /&gt;
* r.sum, r.mode, r.median, r.average, r.statistics, r.univar, r.univar2 - maybe they can be reduced to just r.statistics and r.univar? See [http://intevation.de/rt/webrt?serial_num=1848 RT #1848] and a [http://grass.itc.it/pipermail/grass-dev/2006-November/027665.html thread on the GRASS dev list]&lt;br /&gt;
&lt;br /&gt;
* r.resamp.rst: merge into r.resamp.interp to make resolution management identical to the other modules&lt;br /&gt;
&lt;br /&gt;
* r.in.wms and r.in.srtm into r.in.gdal thanks to native support for [http://www.gdal.org/frmt_wms.html WMS] and [http://www.gdal.org/frmt_various.html#SRTMHGT SRTM] in GDAL 1.5&lt;br /&gt;
* '''r.buffer''' and '''r.grow'''&lt;br /&gt;
&lt;br /&gt;
==== fix ====&lt;br /&gt;
* fix lseek() usage for Large File Support: see [http://grass.itc.it/pipermail/grass-dev/2006-December/028231.html list of affected modules]&lt;br /&gt;
* fix the raster map history management (truncating long history, odd storage). It should work like for vector maps in GRASS 6.&lt;br /&gt;
* r.volume centroids parameter only makes a level one vector with no attribute table; module should be updated to GRASS 6 vector library)&lt;br /&gt;
&lt;br /&gt;
== Vector ==&lt;br /&gt;
=== Radim's TODO list ===&lt;br /&gt;
&lt;br /&gt;
[http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Vector TODO list]&lt;br /&gt;
* Particularly important: &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; --ML&lt;br /&gt;
&lt;br /&gt;
=== Library ===&lt;br /&gt;
* 2d 'vertical' vector data (e.g. [http://sofia.usgs.gov/publications/maps/florida_geology/Txsectionbh.jpg Geologic Cross Sections])&lt;br /&gt;
* implement transactions for geometry handling (esp. v.edit, v.digit and to avoid leftover files when a vector command fails)&lt;br /&gt;
* Assume '''cat 0''' as the first possible, instead of 1. GRASS has supported cat 0 since around 2005, but it hasn't been widely used. According to Radim, using cat 0 allows for [http://sourceforge.net/mailarchive/message.php?msg_name=340505ef0601170244n1b5fe25bhd0a3eba7342b78d4%40mail.gmail.com exact mapping from OGR FID (which can be 0) to GRASS cat].&lt;br /&gt;
* support for elliptical arcs, quadratic and cubic splines. Elliptical arcs or circular arcs are very common in Swiss survey data (Amtliche Vermessung)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
==== rename ====&lt;br /&gt;
* rename v.in.ogr to v.import&lt;br /&gt;
* rename v.out.ogr to v.export&lt;br /&gt;
* rename v.mkgrid to v.grid&lt;br /&gt;
* rename v.univar.sh to v.db.univar ([http://grass.itc.it/pipermail/grass-dev/2007-May/030883.html comment])&lt;br /&gt;
&lt;br /&gt;
==== remove ====&lt;br /&gt;
&lt;br /&gt;
* Remove [http://intevation.de/rt/webrt?serial_num=3600 doubled units in v.to.db GUI]&lt;br /&gt;
&lt;br /&gt;
==== merge ====&lt;br /&gt;
* merge v.select and v.overlay&lt;br /&gt;
: needs discussion, they are doing fundamentally different things --HB&lt;br /&gt;
&lt;br /&gt;
* merge v.sample and v.what.rast&lt;br /&gt;
: See a feature request [http://wald.intevation.org/tracker/index.php?func=detail&amp;amp;aid=506&amp;amp;group_id=21&amp;amp;atid=188 #506] in GForge.&lt;br /&gt;
&lt;br /&gt;
==== fix ====&lt;br /&gt;
* Fix the [http://intevation.de/rt/webrt?serial_num=3623 Column 'cat_' already exists (duplicate name)] in v.in.ogr. Maybe by creating columns ''cat_1'', ''cat_2'' etc.  each time a Grass vector is exported to shapefile and imported back to Grass?&lt;br /&gt;
* write Vect_map_exists() and implement in g.remove and v.digit -n (why wait for GRASS 7 ??)&lt;br /&gt;
* add '-d' dissolve to v.reclass&lt;br /&gt;
* add 'where=' to v.to.rast (why wait for GRASS 7 ??)&lt;br /&gt;
* &amp;lt;strike&amp;gt;implement Douglas-Peucker generalization ([http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhs/ C code file])to substitute prune tool of v.clean ([http://grass.itc.it/pipermail/grass-dev/2007-May/thread.html#31446 done]?, see also GSoC)&amp;lt;/strike&amp;gt;&lt;br /&gt;
** This is done. [http://grass.osgeo.org/grass63/manuals/html63_user/v.generalize.html v.generalize] does D-P and a lot more -WB&lt;br /&gt;
* Rewrite vector labeling. Needs more placement control options (may be db field value based), label overlapping prevention would be also good. May be we could borrow some ideas from MapServer? (ongoing: v.label.sa)&lt;br /&gt;
* v.what.vect - rename parameters &amp;amp;quot;vector&amp;amp;quot; to &amp;amp;quot;map&amp;amp;quot;, &amp;amp;quot;qvector&amp;amp;quot; to &amp;amp;quot;qmap&amp;amp;quot;&lt;br /&gt;
* v.type - change type= option to from= and to=.(code's already in there)&lt;br /&gt;
&lt;br /&gt;
==== enhance ====&lt;br /&gt;
* extend v.overlay to allow combination of all types (point, line, area)&lt;br /&gt;
* v.category: add possibility to create new layer categories on the basis of a column in the table linked to an existing layer&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
* Add support for planetary bodies reference systems&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add new partial differential equation (PDE) library with OpenMP support&amp;lt;/strike&amp;gt; (GRASS 6.3)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
* g.remove, g.mremove, g.rename, g.copy: don't allow for default datatype (which is currently raster) [http://intevation.de/rt/webrt?serial_num=3009].&lt;br /&gt;
: controversial, needs more discussion --HB&lt;br /&gt;
* g.region&lt;br /&gt;
** [http://grass.itc.it/pipermail/grassuser/2007-February/038337.html Glynn's notes] - cleaning the print flags and new &amp;lt;tt&amp;gt;print=&amp;lt;/tt&amp;gt; option&lt;br /&gt;
** Support '''vector's 3rd''' dimension in '''g.region vect= [-a]''', '''[res=]''', like the 2d extents are (or should be).&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
&lt;br /&gt;
* establish SQLite as default DBMI driver (DBF is too limited)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
* allow cross-mapset database access, i.e. parse the '@mapset' notation appended to vector names&lt;br /&gt;
&lt;br /&gt;
== Imagery ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
&lt;br /&gt;
Do merge of image libraries:&lt;br /&gt;
&lt;br /&gt;
* A)&lt;br /&gt;
** lib/imagery/: standard lib, in use (i.* except for i.points3, i.rectify3)&lt;br /&gt;
** imagery/i.ortho.photo/libes/: standard lib, in use (i.ortho.photo, photo.*)&lt;br /&gt;
* B)&lt;br /&gt;
** lib/image3/: never finished improvement which integrated the standard lib and the ortho lib. Seems to provide also ortho rectification for satellite data (i.points3, i.rectify3)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
* merge of i.points, i.vpoints, i.points3&lt;br /&gt;
: drop these altogether? (loss of interactive XDRIVER)&lt;br /&gt;
* merge of i.rectify and i.rectify3&lt;br /&gt;
: maybe depend on gdalwarp C API for this?&lt;br /&gt;
* addition of new resampling algorithms such as bilinear, cubic convolution (take from r.proj?)&lt;br /&gt;
* add other warping methods (maybe thin splines from GDAL?)&lt;br /&gt;
* implement/finish linewise ortho-rectification of satellite data&lt;br /&gt;
* Depreciate tape functions in next major revision of GRASS and create a tape module that accomplishes tape access.&lt;br /&gt;
&lt;br /&gt;
== Raster3D ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
* renaming of all G3D library functions to fulfil the grass coding standard&lt;br /&gt;
* extent/rewrite documentation &lt;br /&gt;
* localisation support (why wait for GRASS 7 ??)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
* report and support modules like r3.stats, r3.support&lt;br /&gt;
* voxel -&amp;gt; vector (isosurfaces ...) and vector -&amp;gt; voxel (lines, faces, volumes) conversion modules&lt;br /&gt;
* module for 3d Kriging interpolation based on vector points&lt;br /&gt;
* a GRASS-Python/VTK visualisation/manipulation tool&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
&lt;br /&gt;
=== New display architecture ===&lt;br /&gt;
&lt;br /&gt;
''Comments from Glynn Clements (from [http://www.nabble.com/Cairo-monitor-driver-tf4620004.html#a13206009 here]):''&lt;br /&gt;
&lt;br /&gt;
# Eliminating separate driver processes. Having to extend the protocol for each new operation has been a major drag on development.&lt;br /&gt;
# Use of floating-point for all graphics coordinates. For geographic data, the expected approach will be to set an appropriate transform then use cartographic coordinates. &lt;br /&gt;
# Common architecture for both video and hardcopy output. ps.map should be redundant. &lt;br /&gt;
&lt;br /&gt;
In retrospect, #1 means that we don't really need support for the Windows/MacOSX GUI, just the ability to generate image files.&lt;br /&gt;
&lt;br /&gt;
With X, we could take the shortcut of having d.* commands draw directly into an existing window, but I don't know whether that's possible on other platforms.&lt;br /&gt;
&lt;br /&gt;
OTOH, it might be useful to be able to use the same functions for self-contained GUI programs (e.g. vector digitising) as for d.* commands.&lt;br /&gt;
&lt;br /&gt;
=== Library ===&lt;br /&gt;
* Drop support for interactive xmon modules&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
* d.font etc.&lt;br /&gt;
** Huidae Cho merged d.text.freetype and d.text into d.text.new; drop them and rename d.text.new into d.text&lt;br /&gt;
** merge d.font and d.font.freetype too&lt;br /&gt;
: now done in 6.3?&lt;br /&gt;
&lt;br /&gt;
* d.vect&lt;br /&gt;
** consolidate parameter names (attrcol, wcolumn, rgb_column)&lt;br /&gt;
: how?&lt;br /&gt;
&lt;br /&gt;
* remove d.ask, d.menu, d.linegraph(?), d.mapgraph, d.text.freetype, d.paint.labels (symlink), d.font.*&lt;br /&gt;
&lt;br /&gt;
* remove d.m&lt;br /&gt;
&lt;br /&gt;
* d.legend, d.barscale, d.text, etc: make at=0,0 origin identical!&lt;br /&gt;
: FWIW, I copied the d.legend at= syntax from d.frame --HB&lt;br /&gt;
&lt;br /&gt;
== Postscript ==&lt;br /&gt;
=== Modules ===&lt;br /&gt;
ps.map&lt;br /&gt;
* remove scale parameter&lt;br /&gt;
: -&amp;gt; from the command line, not the map instruction&lt;br /&gt;
* rename sizecol to sizecolumn (remove the given warning)&lt;br /&gt;
&lt;br /&gt;
See also &amp;quot;New display architecture&amp;quot; comments above.&lt;br /&gt;
&lt;br /&gt;
== Parser ==&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Add another semantic meaning to the parser system for a type safe enumerated list&amp;quot; (Cedric's words commenting the bug that  [http://intevation.de/rt/webrt?serial_num=2969 '''v.type''' doesn't allow for selecting input and output type in '''GUI''']&lt;br /&gt;
&lt;br /&gt;
* Making GRASS modules be less verbose. Use --verbose flag and GRASS_VERBOSE environment variable. All output (G_message, G_percetn, G_warning) should go to GRASS_LOG file which could be grassdata/location/mapset/.grass.log by default.&lt;br /&gt;
: less verbose: this is well underway in 6.3&lt;br /&gt;
: Note warning and errors are already logged to GIS_ERROR_LOG (see variables.html)&lt;br /&gt;
&lt;br /&gt;
== Init shell and startup ==&lt;br /&gt;
&lt;br /&gt;
* .grassrc6 is not what you expect. It holds the g.gisenv GIS variables, it's not a shell script containing commands like .bashrc is.&lt;br /&gt;
: Suggestion: We should change the name for 7.x. It isn't an &amp;quot;rc&amp;quot; file in the conventional sense.&lt;br /&gt;
:: Suggestion: make it even a $HOME/.grass7/ directory to store settings etc (e.g., from r.li and others)&lt;br /&gt;
&lt;br /&gt;
* It is asked to run GRASS in its own shell to avoid portability issues [http://grass.itc.it/pipermail/grass-dev/2007-August/032607.html 1].&lt;br /&gt;
&lt;br /&gt;
* Eliminate Init.sh. Glynn explains on [http://www.nabble.com/forum/ViewPost.jtp?post=12914361&amp;amp;framed=y GRASS user ML]: &amp;quot;Most of the environment can be set up through an e.g. /etc/env.d/grass script. The database, location and mapset can be set through g.mapset. The only slight subtlety is if you want multiple independent sessions, but that can be done with a fraction of the code in Init.sh.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Provide a mechanism (g.access option?) to enable r/w access for users in mapsets they don't own. So that it they don't need to hack lib/gis/mapset_msc.c. Glynn explains on [http://www.nabble.com/forum/ViewPost.jtp?post=12914361&amp;amp;framed=y GRASS user ML]: &amp;quot;AFAICT, that restriction has been unnecessary ever since the lockfile was moved from the user's home directory to the mapset directory.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Data management ==&lt;br /&gt;
&lt;br /&gt;
* store vertical units on per-map base, using code from [http://www.gnu.org/software/units/ units] software&lt;br /&gt;
: Support for free form unit meta-data added in 6.3. I don't mind it as a guide, but we shouldn't be limited to units found in ''units''. --HB&lt;br /&gt;
&lt;br /&gt;
* store vertical map datum on per-location base (GDAL/OGR needs the same [http://lists.maptools.org/pipermail/gdal-dev/2005-October/006857.html enhancement])&lt;br /&gt;
: This requires more discussion. I'm not sure it's a good idea to do this location-wide. --HB&lt;br /&gt;
: On a per raster map basis done in 6.3 cvs.&lt;br /&gt;
&lt;br /&gt;
* add versioning for maps (to recover previous map versions)&lt;br /&gt;
: see &amp;quot;v.info -h&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
== Time series ==&lt;br /&gt;
&lt;br /&gt;
* Implement better [[Time series in GRASS]] support (series of satellite data etc)&lt;br /&gt;
: for example?&lt;br /&gt;
&lt;br /&gt;
== Visualization ==&lt;br /&gt;
&lt;br /&gt;
* better support for faces and kernels in libgis&lt;br /&gt;
: not really Visualization, but....&lt;br /&gt;
&lt;br /&gt;
== CLI ==&lt;br /&gt;
&lt;br /&gt;
* Fix the parameters and flags. Make it a concept. See proposal in GRASS 5 [http://freegis.org/cgi-bin/viewcvs.cgi/grass/documents/parameter_proposal.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup documents/parameter_proposal.txt]&lt;br /&gt;
&lt;br /&gt;
* Get rid of 'quiet/verbose' flags, preparation in GRASS 6, e.g.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /* please, remove before GRASS 7 released */&lt;br /&gt;
    if(q-&amp;gt;answer) {&lt;br /&gt;
        putenv(&amp;quot;GRASS_VERBOSE=0&amp;quot;);&lt;br /&gt;
        G_warning(_(&amp;quot;The '-q' flag is superseded and will be removed &amp;quot;&lt;br /&gt;
            &amp;quot;in future. Please use '--quiet' instead&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GUI ==&lt;br /&gt;
&lt;br /&gt;
* Multiplatform&lt;br /&gt;
* Fast, minimalist, number of windows reduced&lt;br /&gt;
* Manageable also from command line via d.* modules&lt;br /&gt;
* Facilitating easy development of custom GUI application based on GRASS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;rarr; [[WxPython-based GUI for GRASS]]&lt;br /&gt;
&lt;br /&gt;
== Conceptual changes ==&lt;br /&gt;
&lt;br /&gt;
* File organization in binaries:&lt;br /&gt;
** the grass etc dir is a mess... module should maintain arch-deps and arch-indep things in different paths -- &amp;lt;cite&amp;gt; frankie at #grass irc&amp;lt;/cite&amp;gt;&lt;br /&gt;
** it's basically a FHS violation, i dunno if it is reported by lintian, anyway /usr/lib/grass should be used for arch-deps data, not for mixed stuff -- &amp;lt;cite&amp;gt; frankie at #grass irc&amp;lt;/cite&amp;gt;&lt;br /&gt;
* Creating $HOME/.grass7 directory for&lt;br /&gt;
** Custom fonts&lt;br /&gt;
** r.li and other modules temp. files&lt;br /&gt;
** GEM addons installation&lt;br /&gt;
** Default path for custom scripts&lt;br /&gt;
** Custom symbols and EPS fill patterns&lt;br /&gt;
** Custom color maps&lt;br /&gt;
** Add here new item&lt;br /&gt;
&lt;br /&gt;
== User Wishes ==&lt;br /&gt;
&lt;br /&gt;
''This section is not really development related...''&lt;br /&gt;
* Create 3D animation w nviz showing GRASS 3D coolness. [[User:MarisN|MarisN]] 12:00, 4 August 2006 (CEST)&lt;br /&gt;
* here are some examples to get inspired (apparently that's already possible):&lt;br /&gt;
** [http://skagit.meas.ncsu.edu/~helena/publwork/grasskey02/grass02talk10.html dynamic surfaces and volumes]&lt;br /&gt;
**[http://skagit.meas.ncsu.edu/~helena/wrriwork/cenntenial/water01dsmall.gif some water]&lt;br /&gt;
**[http://skagit.meas.ncsu.edu/~helena/wrriwork/balsam/fanimwalk.gif particles]&lt;br /&gt;
** [http://www.fhpv.unipo.sk/kagerr/pracovnici/hofierka/pv_results.html solar radiation and energy]&lt;br /&gt;
* Convince the users to use ParaView [http://www.paraview.org] for sophisticated animations --[[User:Huhabla|huhabla]] 20:47, 14 August 2006 (CEST)&lt;br /&gt;
**(Add support for Paraview in GDAL/OGR or add GDAL/OGR support in ParaView to read directly data from GRASS) see discussion&lt;br /&gt;
* Or use [http://www.llnl.gov/visit/ VisIt software], it should be able to read GRASS maps directly via GDAL&lt;br /&gt;
&lt;br /&gt;
== Complete GRASS Test Suite ==&lt;br /&gt;
* base a comprehensive test suite on [http://www-pool.math.tu-berlin.de/~soeren/grass/GRASS_TestSuite/?C=M;O=D Soeren's GRASS Test Suite]&lt;br /&gt;
* automated error checking on all modules to catch data corruption issues&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Release Roadmap]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_ideas_collection&amp;diff=6457</id>
		<title>GRASS 7 ideas collection</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_ideas_collection&amp;diff=6457"/>
		<updated>2008-04-27T15:47:15Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* fix */ Added more information on D-P&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MoveToTrac}}&lt;br /&gt;
== Maintenance of repository ==&lt;br /&gt;
&lt;br /&gt;
For grass7 development will be used svn-trunk, for grass6 must be created new branch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   Planning is continued here: http://trac.osgeo.org/grass/wiki/Grass7Planning&lt;br /&gt;
&lt;br /&gt;
== Raster ==&lt;br /&gt;
&lt;br /&gt;
See also [[Replacement raster format]]&lt;br /&gt;
&lt;br /&gt;
=== Library ===&lt;br /&gt;
* allowing nulls to be embedded&lt;br /&gt;
* Split libgis into G_() part and Rast_() part&lt;br /&gt;
* Rewrite library from scratch. See [http://grass.itc.it/pipermail/grass-dev/2006-August/025025.html suggestions]&lt;br /&gt;
* Insert 'vertical' 2d rasters (e.g. [http://woodshole.er.usgs.gov/project-pages/longislandsound/images/Ghist_square2.jpg geophysical survey data])&lt;br /&gt;
* [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; via GDAL]&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
==== rename ====&lt;br /&gt;
* rename r.in.gdal to r.import&lt;br /&gt;
* rename r.out.gdal to r.export&lt;br /&gt;
* rename r.volume 'data' parameter to something more standard like 'input' or 'map'&lt;br /&gt;
&lt;br /&gt;
==== remove ====&lt;br /&gt;
* Remove r.bitpattern since r.mapcalc does it more nicely now&lt;br /&gt;
* Remove r.in.arc and r.out.arc, '''if''' a [http://intevation.de/rt/webrt?serial_num=4897 related bug in r.in.gdal] is fixed. The [http://bugzilla.remotesensing.org/show_bug.cgi?id=1071 integer/floating point detection for AAIGrid driver in GDAL] was fixed after 1.3.2 release, so r.in.gdal and r.out.gdal should be enough now.&lt;br /&gt;
&lt;br /&gt;
* remove '''r.resample''' and '''r.bilinear''' in favor of '''r.resamp.interp'''&lt;br /&gt;
* remove '''r.univar.sh'''; newly implemented '''r.univar''' features cover it&lt;br /&gt;
&lt;br /&gt;
* remove r.out.tiff. New C r.out.gdal should cover all it's option now (doublecheck!). See [http://intevation.de/rt/webrt?serial_num=3680 RT #3680] (starting with date Sun, Nov 26 2006 14:54:23).&lt;br /&gt;
: It might be worth keeping r.out.tiff! It makes a nice delta when things don't go well (eg [https://svn.qgis.org/trac/ticket/348 QGIS bug#348]) --HB&lt;br /&gt;
&lt;br /&gt;
* Remove remaining -v and -q flags for verbosity levels of modules.&lt;br /&gt;
&lt;br /&gt;
==== Merge ====&lt;br /&gt;
&lt;br /&gt;
* merge '''r.surf.idw''' and '''r.surf.idw2'''&lt;br /&gt;
: while r.surf.idw will only output CELL maps, it is Very Fast.&lt;br /&gt;
&lt;br /&gt;
* r.sum, r.mode, r.median, r.average, r.statistics, r.univar, r.univar2 - maybe they can be reduced to just r.statistics and r.univar? See [http://intevation.de/rt/webrt?serial_num=1848 RT #1848] and a [http://grass.itc.it/pipermail/grass-dev/2006-November/027665.html thread on the GRASS dev list]&lt;br /&gt;
&lt;br /&gt;
* r.resamp.rst: merge into r.resamp.interp to make resolution management identical to the other modules&lt;br /&gt;
&lt;br /&gt;
* r.in.wms and r.in.srtm into r.in.gdal thanks to native support for [http://www.gdal.org/frmt_wms.html WMS] and [http://www.gdal.org/frmt_various.html#SRTMHGT SRTM] in GDAL 1.5&lt;br /&gt;
* '''r.buffer''' and '''r.grow'''&lt;br /&gt;
&lt;br /&gt;
==== fix ====&lt;br /&gt;
* fix lseek() usage for Large File Support: see [http://grass.itc.it/pipermail/grass-dev/2006-December/028231.html list of affected modules]&lt;br /&gt;
* fix the raster map history management (truncating long history, odd storage). It should work like for vector maps in GRASS 6.&lt;br /&gt;
* r.volume centroids parameter only makes a level one vector with no attribute table; module should be updated to GRASS 6 vector library)&lt;br /&gt;
&lt;br /&gt;
== Vector ==&lt;br /&gt;
=== Radim's TODO list ===&lt;br /&gt;
&lt;br /&gt;
[http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Vector TODO list]&lt;br /&gt;
* Particularly important: &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; --ML&lt;br /&gt;
&lt;br /&gt;
=== Library ===&lt;br /&gt;
* 2d 'vertical' vector data (e.g. [http://sofia.usgs.gov/publications/maps/florida_geology/Txsectionbh.jpg Geologic Cross Sections])&lt;br /&gt;
* implement transactions for geometry handling (esp. v.edit, v.digit and to avoid leftover files when a vector command fails)&lt;br /&gt;
* Assume '''cat 0''' as the first possible, instead of 1. GRASS has supported cat 0 since around 2005, but it hasn't been widely used. According to Radim, using cat 0 allows for [http://sourceforge.net/mailarchive/message.php?msg_name=340505ef0601170244n1b5fe25bhd0a3eba7342b78d4%40mail.gmail.com exact mapping from OGR FID (which can be 0) to GRASS cat].&lt;br /&gt;
* support for elliptical arcs, quadratic and cubic splines. Elliptical arcs or circular arcs are very common in Swiss survey data (Amtliche Vermessung)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
==== rename ====&lt;br /&gt;
* rename v.in.ogr to v.import&lt;br /&gt;
* rename v.out.ogr to v.export&lt;br /&gt;
* rename v.mkgrid to v.grid&lt;br /&gt;
* rename v.univar.sh to v.db.univar ([http://grass.itc.it/pipermail/grass-dev/2007-May/030883.html comment])&lt;br /&gt;
&lt;br /&gt;
==== remove ====&lt;br /&gt;
&lt;br /&gt;
* Remove [http://intevation.de/rt/webrt?serial_num=3600 doubled units in v.to.db GUI]&lt;br /&gt;
&lt;br /&gt;
==== merge ====&lt;br /&gt;
* merge v.select and v.overlay&lt;br /&gt;
: needs discussion, they are doing fundamentally different things --HB&lt;br /&gt;
&lt;br /&gt;
* merge v.sample and v.what.rast&lt;br /&gt;
: See a feature request [http://wald.intevation.org/tracker/index.php?func=detail&amp;amp;aid=506&amp;amp;group_id=21&amp;amp;atid=188 #506] in GForge.&lt;br /&gt;
&lt;br /&gt;
==== fix ====&lt;br /&gt;
* Fix the [http://intevation.de/rt/webrt?serial_num=3623 Column 'cat_' already exists (duplicate name)] in v.in.ogr. Maybe by creating columns ''cat_1'', ''cat_2'' etc.  each time a Grass vector is exported to shapefile and imported back to Grass?&lt;br /&gt;
* write Vect_map_exists() and implement in g.remove and v.digit -n (why wait for GRASS 7 ??)&lt;br /&gt;
* add '-d' dissolve to v.reclass&lt;br /&gt;
* add 'where=' to v.to.rast (why wait for GRASS 7 ??)&lt;br /&gt;
* &amp;lt;strike&amp;gt;implement Douglas-Peucker generalization ([http://www.ngdc.noaa.gov/mgg/shorelines/data/gshhs/ C code file])to substitute prune tool of v.clean ([http://grass.itc.it/pipermail/grass-dev/2007-May/thread.html#31446 done]?, see also GSoC)&amp;lt;/strike&amp;gt;&lt;br /&gt;
** This is done. v.generalize does D-P and a lot more -WB&lt;br /&gt;
* Rewrite vector labeling. Needs more placement control options (may be db field value based), label overlapping prevention would be also good. May be we could borrow some ideas from MapServer? (ongoing: v.label.sa)&lt;br /&gt;
* v.what.vect - rename parameters &amp;amp;quot;vector&amp;amp;quot; to &amp;amp;quot;map&amp;amp;quot;, &amp;amp;quot;qvector&amp;amp;quot; to &amp;amp;quot;qmap&amp;amp;quot;&lt;br /&gt;
* v.type - change type= option to from= and to=.(code's already in there)&lt;br /&gt;
&lt;br /&gt;
==== enhance ====&lt;br /&gt;
* extend v.overlay to allow combination of all types (point, line, area)&lt;br /&gt;
* v.category: add possibility to create new layer categories on the basis of a column in the table linked to an existing layer&lt;br /&gt;
&lt;br /&gt;
== General ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
* Add support for planetary bodies reference systems&lt;br /&gt;
* &amp;lt;strike&amp;gt;Add new partial differential equation (PDE) library with OpenMP support&amp;lt;/strike&amp;gt; (GRASS 6.3)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
* g.remove, g.mremove, g.rename, g.copy: don't allow for default datatype (which is currently raster) [http://intevation.de/rt/webrt?serial_num=3009].&lt;br /&gt;
: controversial, needs more discussion --HB&lt;br /&gt;
* g.region&lt;br /&gt;
** [http://grass.itc.it/pipermail/grassuser/2007-February/038337.html Glynn's notes] - cleaning the print flags and new &amp;lt;tt&amp;gt;print=&amp;lt;/tt&amp;gt; option&lt;br /&gt;
** Support '''vector's 3rd''' dimension in '''g.region vect= [-a]''', '''[res=]''', like the 2d extents are (or should be).&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
&lt;br /&gt;
* establish SQLite as default DBMI driver (DBF is too limited)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
* allow cross-mapset database access, i.e. parse the '@mapset' notation appended to vector names&lt;br /&gt;
&lt;br /&gt;
== Imagery ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
&lt;br /&gt;
Do merge of image libraries:&lt;br /&gt;
&lt;br /&gt;
* A)&lt;br /&gt;
** lib/imagery/: standard lib, in use (i.* except for i.points3, i.rectify3)&lt;br /&gt;
** imagery/i.ortho.photo/libes/: standard lib, in use (i.ortho.photo, photo.*)&lt;br /&gt;
* B)&lt;br /&gt;
** lib/image3/: never finished improvement which integrated the standard lib and the ortho lib. Seems to provide also ortho rectification for satellite data (i.points3, i.rectify3)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
* merge of i.points, i.vpoints, i.points3&lt;br /&gt;
: drop these altogether? (loss of interactive XDRIVER)&lt;br /&gt;
* merge of i.rectify and i.rectify3&lt;br /&gt;
: maybe depend on gdalwarp C API for this?&lt;br /&gt;
* addition of new resampling algorithms such as bilinear, cubic convolution (take from r.proj?)&lt;br /&gt;
* add other warping methods (maybe thin splines from GDAL?)&lt;br /&gt;
* implement/finish linewise ortho-rectification of satellite data&lt;br /&gt;
* Depreciate tape functions in next major revision of GRASS and create a tape module that accomplishes tape access.&lt;br /&gt;
&lt;br /&gt;
== Raster3D ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
* renaming of all G3D library functions to fulfil the grass coding standard&lt;br /&gt;
* extent/rewrite documentation &lt;br /&gt;
* localisation support (why wait for GRASS 7 ??)&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
* report and support modules like r3.stats, r3.support&lt;br /&gt;
* voxel -&amp;gt; vector (isosurfaces ...) and vector -&amp;gt; voxel (lines, faces, volumes) conversion modules&lt;br /&gt;
* module for 3d Kriging interpolation based on vector points&lt;br /&gt;
* a GRASS-Python/VTK visualisation/manipulation tool&lt;br /&gt;
&lt;br /&gt;
== Display ==&lt;br /&gt;
&lt;br /&gt;
=== New display architecture ===&lt;br /&gt;
&lt;br /&gt;
''Comments from Glynn Clements (from [http://www.nabble.com/Cairo-monitor-driver-tf4620004.html#a13206009 here]):''&lt;br /&gt;
&lt;br /&gt;
# Eliminating separate driver processes. Having to extend the protocol for each new operation has been a major drag on development.&lt;br /&gt;
# Use of floating-point for all graphics coordinates. For geographic data, the expected approach will be to set an appropriate transform then use cartographic coordinates. &lt;br /&gt;
# Common architecture for both video and hardcopy output. ps.map should be redundant. &lt;br /&gt;
&lt;br /&gt;
In retrospect, #1 means that we don't really need support for the Windows/MacOSX GUI, just the ability to generate image files.&lt;br /&gt;
&lt;br /&gt;
With X, we could take the shortcut of having d.* commands draw directly into an existing window, but I don't know whether that's possible on other platforms.&lt;br /&gt;
&lt;br /&gt;
OTOH, it might be useful to be able to use the same functions for self-contained GUI programs (e.g. vector digitising) as for d.* commands.&lt;br /&gt;
&lt;br /&gt;
=== Library ===&lt;br /&gt;
* Drop support for interactive xmon modules&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
* d.font etc.&lt;br /&gt;
** Huidae Cho merged d.text.freetype and d.text into d.text.new; drop them and rename d.text.new into d.text&lt;br /&gt;
** merge d.font and d.font.freetype too&lt;br /&gt;
: now done in 6.3?&lt;br /&gt;
&lt;br /&gt;
* d.vect&lt;br /&gt;
** consolidate parameter names (attrcol, wcolumn, rgb_column)&lt;br /&gt;
: how?&lt;br /&gt;
&lt;br /&gt;
* remove d.ask, d.menu, d.linegraph(?), d.mapgraph, d.text.freetype, d.paint.labels (symlink), d.font.*&lt;br /&gt;
&lt;br /&gt;
* remove d.m&lt;br /&gt;
&lt;br /&gt;
* d.legend, d.barscale, d.text, etc: make at=0,0 origin identical!&lt;br /&gt;
: FWIW, I copied the d.legend at= syntax from d.frame --HB&lt;br /&gt;
&lt;br /&gt;
== Postscript ==&lt;br /&gt;
=== Modules ===&lt;br /&gt;
ps.map&lt;br /&gt;
* remove scale parameter&lt;br /&gt;
: -&amp;gt; from the command line, not the map instruction&lt;br /&gt;
* rename sizecol to sizecolumn (remove the given warning)&lt;br /&gt;
&lt;br /&gt;
See also &amp;quot;New display architecture&amp;quot; comments above.&lt;br /&gt;
&lt;br /&gt;
== Parser ==&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;Add another semantic meaning to the parser system for a type safe enumerated list&amp;quot; (Cedric's words commenting the bug that  [http://intevation.de/rt/webrt?serial_num=2969 '''v.type''' doesn't allow for selecting input and output type in '''GUI''']&lt;br /&gt;
&lt;br /&gt;
* Making GRASS modules be less verbose. Use --verbose flag and GRASS_VERBOSE environment variable. All output (G_message, G_percetn, G_warning) should go to GRASS_LOG file which could be grassdata/location/mapset/.grass.log by default.&lt;br /&gt;
: less verbose: this is well underway in 6.3&lt;br /&gt;
: Note warning and errors are already logged to GIS_ERROR_LOG (see variables.html)&lt;br /&gt;
&lt;br /&gt;
== Init shell and startup ==&lt;br /&gt;
&lt;br /&gt;
* .grassrc6 is not what you expect. It holds the g.gisenv GIS variables, it's not a shell script containing commands like .bashrc is.&lt;br /&gt;
: Suggestion: We should change the name for 7.x. It isn't an &amp;quot;rc&amp;quot; file in the conventional sense.&lt;br /&gt;
:: Suggestion: make it even a $HOME/.grass7/ directory to store settings etc (e.g., from r.li and others)&lt;br /&gt;
&lt;br /&gt;
* It is asked to run GRASS in its own shell to avoid portability issues [http://grass.itc.it/pipermail/grass-dev/2007-August/032607.html 1].&lt;br /&gt;
&lt;br /&gt;
* Eliminate Init.sh. Glynn explains on [http://www.nabble.com/forum/ViewPost.jtp?post=12914361&amp;amp;framed=y GRASS user ML]: &amp;quot;Most of the environment can be set up through an e.g. /etc/env.d/grass script. The database, location and mapset can be set through g.mapset. The only slight subtlety is if you want multiple independent sessions, but that can be done with a fraction of the code in Init.sh.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
* Provide a mechanism (g.access option?) to enable r/w access for users in mapsets they don't own. So that it they don't need to hack lib/gis/mapset_msc.c. Glynn explains on [http://www.nabble.com/forum/ViewPost.jtp?post=12914361&amp;amp;framed=y GRASS user ML]: &amp;quot;AFAICT, that restriction has been unnecessary ever since the lockfile was moved from the user's home directory to the mapset directory.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Data management ==&lt;br /&gt;
&lt;br /&gt;
* store vertical units on per-map base, using code from [http://www.gnu.org/software/units/ units] software&lt;br /&gt;
: Support for free form unit meta-data added in 6.3. I don't mind it as a guide, but we shouldn't be limited to units found in ''units''. --HB&lt;br /&gt;
&lt;br /&gt;
* store vertical map datum on per-location base (GDAL/OGR needs the same [http://lists.maptools.org/pipermail/gdal-dev/2005-October/006857.html enhancement])&lt;br /&gt;
: This requires more discussion. I'm not sure it's a good idea to do this location-wide. --HB&lt;br /&gt;
: On a per raster map basis done in 6.3 cvs.&lt;br /&gt;
&lt;br /&gt;
* add versioning for maps (to recover previous map versions)&lt;br /&gt;
: see &amp;quot;v.info -h&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
== Time series ==&lt;br /&gt;
&lt;br /&gt;
* Implement better [[Time series in GRASS]] support (series of satellite data etc)&lt;br /&gt;
: for example?&lt;br /&gt;
&lt;br /&gt;
== Visualization ==&lt;br /&gt;
&lt;br /&gt;
* better support for faces and kernels in libgis&lt;br /&gt;
: not really Visualization, but....&lt;br /&gt;
&lt;br /&gt;
== CLI ==&lt;br /&gt;
&lt;br /&gt;
* Fix the parameters and flags. Make it a concept. See proposal in GRASS 5 [http://freegis.org/cgi-bin/viewcvs.cgi/grass/documents/parameter_proposal.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup documents/parameter_proposal.txt]&lt;br /&gt;
&lt;br /&gt;
* Get rid of 'quiet/verbose' flags, preparation in GRASS 6, e.g.:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /* please, remove before GRASS 7 released */&lt;br /&gt;
    if(q-&amp;gt;answer) {&lt;br /&gt;
        putenv(&amp;quot;GRASS_VERBOSE=0&amp;quot;);&lt;br /&gt;
        G_warning(_(&amp;quot;The '-q' flag is superseded and will be removed &amp;quot;&lt;br /&gt;
            &amp;quot;in future. Please use '--quiet' instead&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== GUI ==&lt;br /&gt;
&lt;br /&gt;
* Multiplatform&lt;br /&gt;
* Fast, minimalist, number of windows reduced&lt;br /&gt;
* Manageable also from command line via d.* modules&lt;br /&gt;
* Facilitating easy development of custom GUI application based on GRASS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;amp;rarr; [[WxPython-based GUI for GRASS]]&lt;br /&gt;
&lt;br /&gt;
== Conceptual changes ==&lt;br /&gt;
&lt;br /&gt;
* File organization in binaries:&lt;br /&gt;
** the grass etc dir is a mess... module should maintain arch-deps and arch-indep things in different paths -- &amp;lt;cite&amp;gt; frankie at #grass irc&amp;lt;/cite&amp;gt;&lt;br /&gt;
** it's basically a FHS violation, i dunno if it is reported by lintian, anyway /usr/lib/grass should be used for arch-deps data, not for mixed stuff -- &amp;lt;cite&amp;gt; frankie at #grass irc&amp;lt;/cite&amp;gt;&lt;br /&gt;
* Creating $HOME/.grass7 directory for&lt;br /&gt;
** Custom fonts&lt;br /&gt;
** r.li and other modules temp. files&lt;br /&gt;
** GEM addons installation&lt;br /&gt;
** Default path for custom scripts&lt;br /&gt;
** Custom symbols and EPS fill patterns&lt;br /&gt;
** Custom color maps&lt;br /&gt;
** Add here new item&lt;br /&gt;
&lt;br /&gt;
== User Wishes ==&lt;br /&gt;
&lt;br /&gt;
''This section is not really development related...''&lt;br /&gt;
* Create 3D animation w nviz showing GRASS 3D coolness. [[User:MarisN|MarisN]] 12:00, 4 August 2006 (CEST)&lt;br /&gt;
* here are some examples to get inspired (apparently that's already possible):&lt;br /&gt;
** [http://skagit.meas.ncsu.edu/~helena/publwork/grasskey02/grass02talk10.html dynamic surfaces and volumes]&lt;br /&gt;
**[http://skagit.meas.ncsu.edu/~helena/wrriwork/cenntenial/water01dsmall.gif some water]&lt;br /&gt;
**[http://skagit.meas.ncsu.edu/~helena/wrriwork/balsam/fanimwalk.gif particles]&lt;br /&gt;
** [http://www.fhpv.unipo.sk/kagerr/pracovnici/hofierka/pv_results.html solar radiation and energy]&lt;br /&gt;
* Convince the users to use ParaView [http://www.paraview.org] for sophisticated animations --[[User:Huhabla|huhabla]] 20:47, 14 August 2006 (CEST)&lt;br /&gt;
**(Add support for Paraview in GDAL/OGR or add GDAL/OGR support in ParaView to read directly data from GRASS) see discussion&lt;br /&gt;
* Or use [http://www.llnl.gov/visit/ VisIt software], it should be able to read GRASS maps directly via GDAL&lt;br /&gt;
&lt;br /&gt;
== Complete GRASS Test Suite ==&lt;br /&gt;
* base a comprehensive test suite on [http://www-pool.math.tu-berlin.de/~soeren/grass/GRASS_TestSuite/?C=M;O=D Soeren's GRASS Test Suite]&lt;br /&gt;
* automated error checking on all modules to catch data corruption issues&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Release Roadmap]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6114</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6114"/>
		<updated>2008-03-31T20:42:25Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Timeline */ updated to reflect Google's changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Promotion:&lt;br /&gt;
   OSGeo Flyer at http://svn.osgeo.org/osgeo/marketing/flyer/&lt;br /&gt;
   Videos at      http://code.google.com/p/google-summer-of-code/wiki/Videos&lt;br /&gt;
   More Flyers at http://code.google.com/p/google-summer-of-code/wiki/GsocFlyers&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
&lt;br /&gt;
([http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC timeline])&lt;br /&gt;
&lt;br /&gt;
* http://wolf.bergenheim.net/tmp/check.png Community bonding time (getting to know the students)&lt;br /&gt;
* Deadline for student's applications: April 7th&lt;br /&gt;
* Work Begins (May 26th)&lt;br /&gt;
* Midterm evaluation (July 7th-14th)&lt;br /&gt;
* Pencils down! (August 11-18th)&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Assign Mentors to Ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Notify OSGeo http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Process Student Applications. Deadline April 10th&lt;br /&gt;
* April 14th: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Here are some ideas you can base your application on&lt;br /&gt;
===wxPython===&lt;br /&gt;
&lt;br /&gt;
These project ideas have to do with the [[WxPython-based GUI for GRASS]] of GRASS.&lt;br /&gt;
&lt;br /&gt;
====3D Visualization====&lt;br /&gt;
3-D visualization in GRASS is currently achieved using the ageing &amp;quot;Nviz&amp;quot; tool. Nviz is a hybrid Tcl/TK and C application, which makes extending and improving it a very complicated task. GRASS is moving to a new wxPython-based GUI and the task of 3-D visualization needs to be integrated with this new GUI.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
NVIZ is itself a frontend to the underlying OpenGL gsurf library (part of GRASS) which reads GRASS datasets and interfaces with OpenGL at a C API level. It is anticipated that this approach will be retained with the new GUI. Thus one approach to the task might be to &amp;quot;clean and tidy&amp;quot; this library and develop a modular interface to it, i.e. to develop individual GRASS modules to access the 3-D visualization functionality directly without having to use NVIZ. This would make the 3-D visualization capabilities of GRASS &amp;quot;scriptable&amp;quot; and possible to run in a modular way from any GUI toolkit. The development of a wxPython frontend would then be a simple exercise in user interface design and consistent with the way the GUI interfaces with other GRASS modules (other than v.digit, which is also a hybrid C application).&lt;br /&gt;
&lt;br /&gt;
Other approaches may also be possible. You should keep in mind that the code has to be very well documented (even insanely well) to facilitate better expandability.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton, Paul Kelly&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf/README Description of the capabilities of the GRASS OpenGL gsurf library]&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf/TODO Bugs and issues in the gsurf library which may need to be resolved]&lt;br /&gt;
&lt;br /&gt;
====Color management====&lt;br /&gt;
GRASS has good color management features, but lacks a good UI to mange colors.&lt;br /&gt;
&lt;br /&gt;
Your job would be to extend the wxPython GUI to&lt;br /&gt;
# Create a color and interval editor tool which should be able to create files which are compatible with r.reclass, r.colors and friends.&lt;br /&gt;
# 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.&lt;br /&gt;
&amp;lt;strike&amp;gt;# For added fun a C library that implements things such as &amp;quot;natural breaks&amp;quot; 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.&amp;lt;/strike&amp;gt; cf: http://trac.osgeo.org/grass/browser/grass/trunk/lib/arraystats &lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
====SQL====&lt;br /&gt;
GRASS has excellent SQL support, however many people who are using GRASS are not SQL gurus.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a SQL query builder to help build SQL queries. Additional cool features are welcome!&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
:Note there is already [[WxPython-based GUI for GRASS#Attribute table manager|Attribute Table Manager]] in [[wxPython-based GUI for GRASS|wxPython GUI]], anyway [http://trac.osgeo.org/grass/browser/grass/trunk/gui/wxpython/gui_modules/sqlbuilder.py SQL Builder] need complete reconstruction. -- ML (2008/03)&lt;br /&gt;
&lt;br /&gt;
==== Cartography ====&lt;br /&gt;
GRASS is mainly focused on Analysis, but it also has good map making tools. These tools have a strong back end but lack a good GUI.&lt;br /&gt;
&lt;br /&gt;
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 [[WxPython-based_GUI_for_GRASS#Cartography:_GUI_front_end_for_ps.map|graphical cartography tool]] for GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton, Hamish Bowman, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== v.what ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
These projects involve the GRASS raster library.&lt;br /&gt;
&lt;br /&gt;
====r.external: Virtual raster map linking ====&lt;br /&gt;
GRASS can link to external vectors (as well as importing them) vi the GDAL OGR library. On the raster side the user still has to always import raster maps.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create this r.external too for GRASS.&lt;br /&gt;
* See the [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal] for more information.&lt;br /&gt;
&lt;br /&gt;
This project will be done in cooperation with GDAL.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim (GRASS), Frank Warmerdam (GDAL)&lt;br /&gt;
&lt;br /&gt;
====Time series management in GRASS====&lt;br /&gt;
&lt;br /&gt;
A lot of people seem to be interested in having some standardized, documented format for dealing with time series in GRASS, so that we can deal with data (e.g. climate station, water gauges), link with models, etc., without having to come up with a custom solution each time. This could also lead to modules to help with interpolation to deal with missing values, etc. A SQL based raster/vector map management is desired. A prototype is available [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.rast4d here].&lt;br /&gt;
&lt;br /&gt;
See details at [[Time series in GRASS]]&lt;br /&gt;
&lt;br /&gt;
====Improved Line of Sight Analysis====&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Paul Kelly&lt;br /&gt;
&lt;br /&gt;
==== Raster Database ====&lt;br /&gt;
&lt;br /&gt;
In GRASS vector maps can be connected to a database table as an attribute table. GRASS's CELL (integer) maps include label support via the v.category module. Currently this is rather basic, labels may have a dynamic component but they are still just labels (see the r.category help page; e.g. using the Spearfish sample dataset: &amp;quot;r.report landcover.30m&amp;quot;, &amp;quot;r.category geology&amp;quot;, ). The idea is to seamlessly link the CELL value with a integer &amp;quot;cat&amp;quot; column in a database table. That cat ID in the database would be linked to any number of other attributes. Once the DB connection is made, a method of raster cell selection by SQL query would be needed. See the db.* and v.db.* modules for GRASS's existing database management code.&lt;br /&gt;
&amp;lt;!-- Many proprietary GIS packages also allow this for raster maps.  --HB: so what? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your job would be to implement this connection.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
====Kriging====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to grate a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
# Do Kriging based or R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Raster Objects ====&lt;br /&gt;
Implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification). See GRASS's existing i.* imagery modules for current clustering and classification modules.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Moritz Lennert (as second mentor for the contents, not the programming)&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
These ideas relate to the Vector library of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.buffer and v.parallel ====&lt;br /&gt;
These two modules are broken and need to be reimplemented or deeply debugged with at least a partial rewrite.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Implement file based spatial index ====&lt;br /&gt;
Read &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in [http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Radim's Vector ToDo]&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== v.voronoi / v.delauny ====&lt;br /&gt;
These modules need to be reimplemented or deeply debugged as they are &amp;lt;!-- quite old and --HB: so what? --&amp;gt; sub-optimal. There are many good algorithms that can be used.&lt;br /&gt;
&lt;br /&gt;
'''Willing to mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.generalize take two ====&lt;br /&gt;
Last year Daniel Bundala created the v.generalize module, and implemented many line generalization algorithms.&lt;br /&gt;
&lt;br /&gt;
This year we'd like to expand the module with implementing algorithms to do the following methods (as defined by McMAster)&lt;br /&gt;
* merging&lt;br /&gt;
* exaggeration&lt;br /&gt;
* collapse&lt;br /&gt;
* point aggregation&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.overlay ====&lt;br /&gt;
Extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines; i.e. merge in v.select)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== Uniforming vector modules ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to clean up these modules and that way ease the learning curve of GRASS.&lt;br /&gt;
&lt;br /&gt;
(would happen in the GRASS 7 development branch)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Auto-tuning for spline surface interpolation ====&lt;br /&gt;
&lt;br /&gt;
GRASS's regularized spline with tension (RST) modules* do a very nice job of generating raster surfaces from point data (often massive point datasets) using a thin plate spline method. Good results currently require a lot of trial and error to fine-tune the modules' tension and smoothing parameters to match the input data and deal with segmentation jumps when the input data points are not evenly distributed in space. Your job would be to implement auto-tuning algorithms into the RST modules to short circuit the manual trial and error process, possibly taking advantage of the existing cross-validation support.&lt;br /&gt;
&lt;br /&gt;
[*] v.surf.rst (2.5D), v.vol.rst (3D), r.resample.rst&lt;br /&gt;
&lt;br /&gt;
=== Manual related ===&lt;br /&gt;
&lt;br /&gt;
* Develop a searchable keyword navigator to easier find commands. Each command provides at least one keyword (should be more), a tree based navigator with free text entry could guide users through the available commands. Also a [http://en.wikipedia.org/wiki/HyperbolicTree HyperbolicTree] style tag cloud would be cool.&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
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 [http://lists.osgeo.org/mailman/listinfo/grass-dev our dev-mailinglist], or come and talk to us in IRC (#grass). You can also reach the mentors directly by emailing:&lt;br /&gt;
* Wolf Bergenheim (wolf+grass@bergenheim.net)&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6079</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6079"/>
		<updated>2008-03-23T15:49:12Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Guidelines for Students */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
* http://wolf.bergenheim.net/tmp/check.png Community bonding time (getting to know the students)&lt;br /&gt;
* Work Begins (May 28th)&lt;br /&gt;
* Midterm evaluation (July 14th)&lt;br /&gt;
* Pencils down! (August 11th)&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Assign Mentors to Ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Notify OSGeo http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Process Student Applications. Deadline April 10th&lt;br /&gt;
* April 14th: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Here are some ideas you can base your application on&lt;br /&gt;
===wxPython===&lt;br /&gt;
&lt;br /&gt;
These project ideas have to do with the [[WxPython-based GUI for GRASS]] of GRASS.&lt;br /&gt;
&lt;br /&gt;
====3D Visualization====&lt;br /&gt;
3-D visualization in GRASS is currently achieved using the ageing &amp;quot;Nviz&amp;quot; tool. Nviz is a hybrid Tcl/TK and C application, which makes extending and improving it a very complicated task. GRASS is moving to a new wxPython-based GUI and the task of 3-D visualization needs to be integrated with this new GUI.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
NVIZ is itself a frontend to the underlying OpenGL gsurf library (part of GRASS) which reads GRASS datasets and interfaces with OpenGL at a C API level. It is anticipated that this approach will be retained with the new GUI. Thus one approach to the task might be to &amp;quot;clean and tidy&amp;quot; this library and develop a modular interface to it, i.e. to develop individual GRASS modules to access the 3-D visualization functionality directly without having to use NVIZ. This would make the 3-D visualization capabilities of GRASS &amp;quot;scriptable&amp;quot; and possible to run in a modular way from any GUI toolkit. The development of a wxPython frontend would then be a simple exercise in user interface design and consistent with the way the GUI interfaces with other GRASS modules (other than v.digit, which is also a hybrid C application).&lt;br /&gt;
&lt;br /&gt;
Other approaches may also be possible. You should keep in mind that the code has to be very well documented (even insanely well) to facilitate better expandability.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton, Paul Kelly&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf/README Description of the capabilities of the GRASS OpenGL gsurf library]&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf/TODO Bugs and issues in the gsurf library which may need to be resolved]&lt;br /&gt;
&lt;br /&gt;
====Color management====&lt;br /&gt;
GRASS has good color management features, but lacks a good UI to mange colors.&lt;br /&gt;
&lt;br /&gt;
Your job would be to extend the wxPython GUI to&lt;br /&gt;
# Create a color and interval editor tool which should be able to create files which are compatible with r.reclass, r.colors and friends.&lt;br /&gt;
# 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.&lt;br /&gt;
&amp;lt;strike&amp;gt;# For added fun a C library that implements things such as &amp;quot;natural breaks&amp;quot; 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.&amp;lt;/strike&amp;gt; cf: http://trac.osgeo.org/grass/browser/grass/trunk/lib/arraystats &lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
====SQL====&lt;br /&gt;
GRASS has excellent SQL support, however many people who are using GRASS are not SQL gurus.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a SQL query builder to help build SQL queries. Additional cool features are welcome!&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Cartography ====&lt;br /&gt;
GRASS is mainly focused on Analysis, but it also has good map making tools. These tools have a strong back end but lack a good GUI.&lt;br /&gt;
&lt;br /&gt;
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 [[WxPython-based_GUI_for_GRASS#Cartography:_GUI_front_end_for_ps.map|graphical cartography tool]] for GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton, Hamish Bowman, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== v.what ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
These projects involve the GRASS raster library.&lt;br /&gt;
&lt;br /&gt;
====r.external: Virtual raster map linking ====&lt;br /&gt;
GRASS can link to external vectors (as well as importing them) vi the GDAL OGR library. On the raster side the user still has to always import raster maps.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create this r.external too for GRASS.&lt;br /&gt;
* See the [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal] for more information.&lt;br /&gt;
&lt;br /&gt;
This project will be done in cooperation with GDAL.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim (GRASS), Frank Warmerdam (GDAL)&lt;br /&gt;
&lt;br /&gt;
====Time series management in GRASS====&lt;br /&gt;
&lt;br /&gt;
A lot of people seem to be interested in having some standardized, documented format for dealing with time series in GRASS, so that we can deal with data (e.g. climate station, water gauges), link with models, etc., without having to come up with a custom solution each time. This could also lead to modules to help with interpolation to deal with missing values, etc. A SQL based raster/vector map management is desired. A prototype is available [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.rast4d here].&lt;br /&gt;
&lt;br /&gt;
See details at [[Time series in GRASS]]&lt;br /&gt;
&lt;br /&gt;
====Improved Line of Sight Analysis====&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Paul Kelly&lt;br /&gt;
&lt;br /&gt;
==== Raster Database ====&lt;br /&gt;
&lt;br /&gt;
In GRASS vector maps can be connected to a database table as an attribute table. GRASS's CELL (integer) maps include label support via the v.category module. Currently this is rather basic, labels may have a dynamic component but they are still just labels (see the r.category help page; e.g. using the Spearfish sample dataset: &amp;quot;r.report landcover.30m&amp;quot;, &amp;quot;r.category geology&amp;quot;, ). The idea is to seamlessly link the CELL value with a integer &amp;quot;cat&amp;quot; column in a database table. That cat ID in the database would be linked to any number of other attributes. Once the DB connection is made, a method of raster cell selection by SQL query would be needed. See the db.* and v.db.* modules for GRASS's existing database management code.&lt;br /&gt;
&amp;lt;!-- Many proprietary GIS packages also allow this for raster maps.  --HB: so what? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your job would be to implement this connection.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
====Kriging====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to grate a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
# Do Kriging based or R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Raster Objects ====&lt;br /&gt;
Implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification). See GRASS's existing i.* imagery modules for current clustering and classification modules.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Moritz Lennert (as second mentor for the contents, not the programming)&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
These ideas relate to the Vector library of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.buffer and v.parallel ====&lt;br /&gt;
These two modules are broken and need to be reimplemented or deeply debugged with at least a partial rewrite.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Implement file based spatial index ====&lt;br /&gt;
Read &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in [http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Radim's Vector ToDo]&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== v.voronoi / v.delauny ====&lt;br /&gt;
These modules need to be reimplemented or deeply debugged as they are &amp;lt;!-- quite old and --HB: so what? --&amp;gt; sub-optimal. There are many good algorithms that can be used.&lt;br /&gt;
&lt;br /&gt;
'''Willing to mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.generalize take two ====&lt;br /&gt;
Last year Daniel Bundala created the v.generalize module, and implemented many line generalization algorithms.&lt;br /&gt;
&lt;br /&gt;
This year we'd like to expand the module with implementing algorithms to do the following methods (as defined by McMAster)&lt;br /&gt;
* merging&lt;br /&gt;
* exaggeration&lt;br /&gt;
* collapse&lt;br /&gt;
* point aggregation&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.overlay ====&lt;br /&gt;
Extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines; i.e. merge in v.select)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== Uniforming vector modules ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to clean up these modules and that way ease the learning curve of GRASS.&lt;br /&gt;
&lt;br /&gt;
(would happen in the GRASS 7 development branch)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Auto-tuning for spline surface interpolation ====&lt;br /&gt;
&lt;br /&gt;
GRASS's regularized spline with tension (RST) modules* do a very nice job of generating raster surfaces from point data (often massive point datasets) using a thin plate spline method. Good results currently require a lot of trial and error to fine-tune the modules' tension and smoothing parameters to match the input data and deal with segmentation jumps when the input data points are not evenly distributed in space. Your job would be to implement auto-tuning algorithms into the RST modules to short circuit the manual trial and error process, possibly taking advantage of the existing cross-validation support.&lt;br /&gt;
&lt;br /&gt;
[*] v.surf.rst (2.5D), v.vol.rst (3D), r.resample.rst&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
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 [http://lists.osgeo.org/mailman/listinfo/grass-dev our dev-mailinglist], or come and talk to us in IRC (#grass). You can also reach the mentors directly by emailing:&lt;br /&gt;
* Wolf Bergenheim (wolf+grass@bergenheim.net)&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6078</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6078"/>
		<updated>2008-03-23T15:43:06Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* v.voronoi / v.delauny */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
* http://wolf.bergenheim.net/tmp/check.png Community bonding time (getting to know the students)&lt;br /&gt;
* Work Begins (May 28th)&lt;br /&gt;
* Midterm evaluation (July 14th)&lt;br /&gt;
* Pencils down! (August 11th)&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Assign Mentors to Ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Notify OSGeo http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Process Student Applications. Deadline April 10th&lt;br /&gt;
* April 14th: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Here are some ideas you can base your application on&lt;br /&gt;
===wxPython===&lt;br /&gt;
&lt;br /&gt;
These project ideas have to do with the [[WxPython-based GUI for GRASS]] of GRASS.&lt;br /&gt;
&lt;br /&gt;
====3D Visualization====&lt;br /&gt;
3-D visualization in GRASS is currently achieved using the ageing &amp;quot;Nviz&amp;quot; tool. Nviz is a hybrid Tcl/TK and C application, which makes extending and improving it a very complicated task. GRASS is moving to a new wxPython-based GUI and the task of 3-D visualization needs to be integrated with this new GUI.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
NVIZ is itself a frontend to the underlying OpenGL gsurf library (part of GRASS) which reads GRASS datasets and interfaces with OpenGL at a C API level. It is anticipated that this approach will be retained with the new GUI. Thus one approach to the task might be to &amp;quot;clean and tidy&amp;quot; this library and develop a modular interface to it, i.e. to develop individual GRASS modules to access the 3-D visualization functionality directly without having to use NVIZ. This would make the 3-D visualization capabilities of GRASS &amp;quot;scriptable&amp;quot; and possible to run in a modular way from any GUI toolkit. The development of a wxPython frontend would then be a simple exercise in user interface design and consistent with the way the GUI interfaces with other GRASS modules (other than v.digit, which is also a hybrid C application).&lt;br /&gt;
&lt;br /&gt;
Other approaches may also be possible. You should keep in mind that the code has to be very well documented (even insanely well) to facilitate better expandability.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton, Paul Kelly&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf/README Description of the capabilities of the GRASS OpenGL gsurf library]&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf/TODO Bugs and issues in the gsurf library which may need to be resolved]&lt;br /&gt;
&lt;br /&gt;
====Color management====&lt;br /&gt;
GRASS has good color management features, but lacks a good UI to mange colors.&lt;br /&gt;
&lt;br /&gt;
Your job would be to extend the wxPython GUI to&lt;br /&gt;
# Create a color and interval editor tool which should be able to create files which are compatible with r.reclass, r.colors and friends.&lt;br /&gt;
# 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.&lt;br /&gt;
&amp;lt;strike&amp;gt;# For added fun a C library that implements things such as &amp;quot;natural breaks&amp;quot; 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.&amp;lt;/strike&amp;gt; cf: http://trac.osgeo.org/grass/browser/grass/trunk/lib/arraystats &lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
====SQL====&lt;br /&gt;
GRASS has excellent SQL support, however many people who are using GRASS are not SQL gurus.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a SQL query builder to help build SQL queries. Additional cool features are welcome!&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Cartography ====&lt;br /&gt;
GRASS is mainly focused on Analysis, but it also has good map making tools. These tools have a strong back end but lack a good GUI.&lt;br /&gt;
&lt;br /&gt;
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 [[WxPython-based_GUI_for_GRASS#Cartography:_GUI_front_end_for_ps.map|graphical cartography tool]] for GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton, Hamish Bowman, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== v.what ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
These projects involve the GRASS raster library.&lt;br /&gt;
&lt;br /&gt;
====r.external: Virtual raster map linking ====&lt;br /&gt;
GRASS can link to external vectors (as well as importing them) vi the GDAL OGR library. On the raster side the user still has to always import raster maps.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create this r.external too for GRASS.&lt;br /&gt;
* See the [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal] for more information.&lt;br /&gt;
&lt;br /&gt;
This project will be done in cooperation with GDAL.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim (GRASS), Frank Warmerdam (GDAL)&lt;br /&gt;
&lt;br /&gt;
====Time series management in GRASS====&lt;br /&gt;
&lt;br /&gt;
A lot of people seem to be interested in having some standardized, documented format for dealing with time series in GRASS, so that we can deal with data (e.g. climate station, water gauges), link with models, etc., without having to come up with a custom solution each time. This could also lead to modules to help with interpolation to deal with missing values, etc. A SQL based raster/vector map management is desired. A prototype is available [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.rast4d here].&lt;br /&gt;
&lt;br /&gt;
See details at [[Time series in GRASS]]&lt;br /&gt;
&lt;br /&gt;
====Improved Line of Sight Analysis====&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Paul Kelly&lt;br /&gt;
&lt;br /&gt;
==== Raster Database ====&lt;br /&gt;
&lt;br /&gt;
In GRASS vector maps can be connected to a database table as an attribute table. GRASS's CELL (integer) maps include label support via the v.category module. Currently this is rather basic, labels may have a dynamic component but they are still just labels (see the r.category help page; e.g. using the Spearfish sample dataset: &amp;quot;r.report landcover.30m&amp;quot;, &amp;quot;r.category geology&amp;quot;, ). The idea is to seamlessly link the CELL value with a integer &amp;quot;cat&amp;quot; column in a database table. That cat ID in the database would be linked to any number of other attributes. Once the DB connection is made, a method of raster cell selection by SQL query would be needed. See the db.* and v.db.* modules for GRASS's existing database management code.&lt;br /&gt;
&amp;lt;!-- Many proprietary GIS packages also allow this for raster maps.  --HB: so what? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your job would be to implement this connection.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
====Kriging====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to grate a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
# Do Kriging based or R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Raster Objects ====&lt;br /&gt;
Implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification). See GRASS's existing i.* imagery modules for current clustering and classification modules.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Moritz Lennert (as second mentor for the contents, not the programming)&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
These ideas relate to the Vector library of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.buffer and v.parallel ====&lt;br /&gt;
These two modules are broken and need to be reimplemented or deeply debugged with at least a partial rewrite.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Implement file based spatial index ====&lt;br /&gt;
Read &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in [http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Radim's Vector ToDo]&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== v.voronoi / v.delauny ====&lt;br /&gt;
These modules need to be reimplemented or deeply debugged as they are &amp;lt;!-- quite old and --HB: so what? --&amp;gt; sub-optimal. There are many good algorithms that can be used.&lt;br /&gt;
&lt;br /&gt;
'''Willing to mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.generalize take two ====&lt;br /&gt;
Last year Daniel Bundala created the v.generalize module, and implemented many line generalization algorithms.&lt;br /&gt;
&lt;br /&gt;
This year we'd like to expand the module with implementing algorithms to do the following methods (as defined by McMAster)&lt;br /&gt;
* merging&lt;br /&gt;
* exaggeration&lt;br /&gt;
* collapse&lt;br /&gt;
* point aggregation&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.overlay ====&lt;br /&gt;
Extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines; i.e. merge in v.select)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== Uniforming vector modules ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to clean up these modules and that way ease the learning curve of GRASS.&lt;br /&gt;
&lt;br /&gt;
(would happen in the GRASS 7 development branch)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Auto-tuning for spline surface interpolation ====&lt;br /&gt;
&lt;br /&gt;
GRASS's regularized spline with tension (RST) modules* do a very nice job of generating raster surfaces from point data (often massive point datasets) using a thin plate spline method. Good results currently require a lot of trial and error to fine-tune the modules' tension and smoothing parameters to match the input data and deal with segmentation jumps when the input data points are not evenly distributed in space. Your job would be to implement auto-tuning algorithms into the RST modules to short circuit the manual trial and error process, possibly taking advantage of the existing cross-validation support.&lt;br /&gt;
&lt;br /&gt;
[*] v.surf.rst (2.5D), v.vol.rst (3D), r.resample.rst&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6077</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6077"/>
		<updated>2008-03-23T15:36:40Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Required Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
* http://wolf.bergenheim.net/tmp/check.png Community bonding time (getting to know the students)&lt;br /&gt;
* Work Begins (May 28th)&lt;br /&gt;
* Midterm evaluation (July 14th)&lt;br /&gt;
* Pencils down! (August 11th)&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Assign Mentors to Ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Notify OSGeo http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Process Student Applications. Deadline April 10th&lt;br /&gt;
* April 14th: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Here are some ideas you can base your application on&lt;br /&gt;
===wxPython===&lt;br /&gt;
&lt;br /&gt;
These project ideas have to do with the [[WxPython-based GUI for GRASS]] of GRASS.&lt;br /&gt;
&lt;br /&gt;
====3D Visualization====&lt;br /&gt;
3-D visualization in GRASS is currently achieved using the ageing &amp;quot;Nviz&amp;quot; tool. Nviz is a hybrid Tcl/TK and C application, which makes extending and improving it a very complicated task. GRASS is moving to a new wxPython-based GUI and the task of 3-D visualization needs to be integrated with this new GUI.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
NVIZ is itself a frontend to the underlying OpenGL gsurf library (part of GRASS) which reads GRASS datasets and interfaces with OpenGL at a C API level. It is anticipated that this approach will be retained with the new GUI. Thus one approach to the task might be to &amp;quot;clean and tidy&amp;quot; this library and develop a modular interface to it, i.e. to develop individual GRASS modules to access the 3-D visualization functionality directly without having to use NVIZ. This would make the 3-D visualization capabilities of GRASS &amp;quot;scriptable&amp;quot; and possible to run in a modular way from any GUI toolkit. The development of a wxPython frontend would then be a simple exercise in user interface design and consistent with the way the GUI interfaces with other GRASS modules (other than v.digit, which is also a hybrid C application).&lt;br /&gt;
&lt;br /&gt;
Other approaches may also be possible. You should keep in mind that the code has to be very well documented (even insanely well) to facilitate better expandability.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton, Paul Kelly&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf/README Description of the capabilities of the GRASS OpenGL gsurf library]&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass/trunk/lib/ogsf/TODO Bugs and issues in the gsurf library which may need to be resolved]&lt;br /&gt;
&lt;br /&gt;
====Color management====&lt;br /&gt;
GRASS has good color management features, but lacks a good UI to mange colors.&lt;br /&gt;
&lt;br /&gt;
Your job would be to extend the wxPython GUI to&lt;br /&gt;
# Create a color and interval editor tool which should be able to create files which are compatible with r.reclass, r.colors and friends.&lt;br /&gt;
# 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.&lt;br /&gt;
&amp;lt;strike&amp;gt;# For added fun a C library that implements things such as &amp;quot;natural breaks&amp;quot; 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.&amp;lt;/strike&amp;gt; cf: http://trac.osgeo.org/grass/browser/grass/trunk/lib/arraystats &lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
====SQL====&lt;br /&gt;
GRASS has excellent SQL support, however many people who are using GRASS are not SQL gurus.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a SQL query builder to help build SQL queries. Additional cool features are welcome!&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Cartography ====&lt;br /&gt;
GRASS is mainly focused on Analysis, but it also has good map making tools. These tools have a strong back end but lack a good GUI.&lt;br /&gt;
&lt;br /&gt;
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 [[WxPython-based_GUI_for_GRASS#Cartography:_GUI_front_end_for_ps.map|graphical cartography tool]] for GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton, Hamish Bowman, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== v.what ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
These projects involve the GRASS raster library.&lt;br /&gt;
&lt;br /&gt;
====r.external: Virtual raster map linking ====&lt;br /&gt;
GRASS can link to external vectors (as well as importing them) vi the GDAL OGR library. On the raster side the user still has to always import raster maps.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create this r.external too for GRASS.&lt;br /&gt;
* See the [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal] for more information.&lt;br /&gt;
&lt;br /&gt;
This project will be done in cooperation with GDAL.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim (GRASS), Frank Warmerdam (GDAL)&lt;br /&gt;
&lt;br /&gt;
====Time series management in GRASS====&lt;br /&gt;
&lt;br /&gt;
A lot of people seem to be interested in having some standardized, documented format for dealing with time series in GRASS, so that we can deal with data (e.g. climate station, water gauges), link with models, etc., without having to come up with a custom solution each time. This could also lead to modules to help with interpolation to deal with missing values, etc. A SQL based raster/vector map management is desired. A prototype is available [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.rast4d here].&lt;br /&gt;
&lt;br /&gt;
See details at [[Time series in GRASS]]&lt;br /&gt;
&lt;br /&gt;
====Improved Line of Sight Analysis====&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Paul Kelly&lt;br /&gt;
&lt;br /&gt;
==== Raster Database ====&lt;br /&gt;
&lt;br /&gt;
In GRASS vector maps can be connected to a database table as an attribute table. GRASS's CELL (integer) maps include label support via the v.category module. Currently this is rather basic, labels may have a dynamic component but they are still just labels (see the r.category help page; e.g. using the Spearfish sample dataset: &amp;quot;r.report landcover.30m&amp;quot;, &amp;quot;r.category geology&amp;quot;, ). The idea is to seamlessly link the CELL value with a integer &amp;quot;cat&amp;quot; column in a database table. That cat ID in the database would be linked to any number of other attributes. Once the DB connection is made, a method of raster cell selection by SQL query would be needed. See the db.* and v.db.* modules for GRASS's existing database management code.&lt;br /&gt;
&amp;lt;!-- Many proprietary GIS packages also allow this for raster maps.  --HB: so what? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your job would be to implement this connection.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
====Kriging====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to grate a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
# Do Kriging based or R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Raster Objects ====&lt;br /&gt;
Implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification). See GRASS's existing i.* imagery modules for current clustering and classification modules.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Moritz Lennert (as second mentor for the contents, not the programming)&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
These ideas relate to the Vector library of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.buffer and v.parallel ====&lt;br /&gt;
These two modules are broken and need to be reimplemented or deeply debugged with at least a partial rewrite.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Implement file based spatial index ====&lt;br /&gt;
Read &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in [http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Radim's Vector ToDo]&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== v.voronoi / v.delauny ====&lt;br /&gt;
These modules need to be reimplemented or deeply debugged as they are &amp;lt;!-- quite old and --HB: so what? --&amp;gt; sub-optimal. There are many good algorithms that can be used.&lt;br /&gt;
&lt;br /&gt;
==== v.generalize take two ====&lt;br /&gt;
Last year Daniel Bundala created the v.generalize module, and implemented many line generalization algorithms.&lt;br /&gt;
&lt;br /&gt;
This year we'd like to expand the module with implementing algorithms to do the following methods (as defined by McMAster)&lt;br /&gt;
* merging&lt;br /&gt;
* exaggeration&lt;br /&gt;
* collapse&lt;br /&gt;
* point aggregation&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.overlay ====&lt;br /&gt;
Extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines; i.e. merge in v.select)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim, Moritz Lennert&lt;br /&gt;
&lt;br /&gt;
==== Uniforming vector modules ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to clean up these modules and that way ease the learning curve of GRASS.&lt;br /&gt;
&lt;br /&gt;
(would happen in the GRASS 7 development branch)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Auto-tuning for spline surface interpolation ====&lt;br /&gt;
&lt;br /&gt;
GRASS's regularized spline with tension (RST) modules* do a very nice job of generating raster surfaces from point data (often massive point datasets) using a thin plate spline method. Good results currently require a lot of trial and error to fine-tune the modules' tension and smoothing parameters to match the input data and deal with segmentation jumps when the input data points are not evenly distributed in space. Your job would be to implement auto-tuning algorithms into the RST modules to short circuit the manual trial and error process, possibly taking advantage of the existing cross-validation support.&lt;br /&gt;
&lt;br /&gt;
[*] v.surf.rst (2.5D), v.vol.rst (3D), r.resample.rst&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6025</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6025"/>
		<updated>2008-03-12T19:37:50Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: Fiddling with the general layout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
* http://wolf.bergenheim.net/tmp/check.png Community bonding time (getting to know the students)&lt;br /&gt;
* Work Begins (May 28th)&lt;br /&gt;
* Midterm evaluation (July 14th)&lt;br /&gt;
* Pencils down! (August 11th)&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas http://wolf.bergenheim.net/tmp/check.png&lt;br /&gt;
* Assign Mentors to Ideas &lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
* Process Student Applications. Deadline XXX&lt;br /&gt;
* April 14th: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
** Create a Wiki page for each accepted project, to be used as a progress reporting tool&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Here are some ideas you can base your application on&lt;br /&gt;
===wxPython===&lt;br /&gt;
These project ideas have to do with the new GUI of GRASS&lt;br /&gt;
&lt;br /&gt;
====3D Visualization====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You should keep in mind that the code has to be very well documented (even insanely well) to facilitate better expandability.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====Color management====&lt;br /&gt;
GRASS has good color management features, but lacks a good UI to mange colors.&lt;br /&gt;
&lt;br /&gt;
Your job would be to extend the wxPython GUI to&lt;br /&gt;
# Create a color and interval editor tool which should be able to create files which are compatible with r.reclass, r.colors and friends.&lt;br /&gt;
# 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.&lt;br /&gt;
# For added fun a C library that implements things such as &amp;quot;natural breaks&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====SQL====&lt;br /&gt;
GRASS has excellent SQL support, however many people who are using GRASS are not SQL gurus.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a SQL query builder to help build SQL queries. Additional cool features are welcome!&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====Kriging====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to grate a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
# Do Kriging based or R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Cartography ====&lt;br /&gt;
GRASS is mainly focused on Analysis, but it also has good map making tools. These tools lack a good GUI.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.what ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
These projects involve the GRASS raster library.&lt;br /&gt;
&lt;br /&gt;
====r.external====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create this r.external too for GRASS.&lt;br /&gt;
* See the [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal] for more information.&lt;br /&gt;
&lt;br /&gt;
This project will be done in cooperation with GDAL.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim (GRASS), Frank Warmerdam (GDAL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Raster Database ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to implement this connection.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Raster Objects ====&lt;br /&gt;
Implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification)&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
These ideas relate to the Vector library of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.buffer and v.parallel ====&lt;br /&gt;
These two modules are broken and need to be reimplemented.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Implement file based spatial index ====&lt;br /&gt;
Read &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in [http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Radim's Vector ToDo]&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.voronoi / v.delauny ====&lt;br /&gt;
These modules need to be reimplemented as they are quite old an sub-optimal. There are many good algorithms that can be used.&lt;br /&gt;
&lt;br /&gt;
==== v.generalize take two ====&lt;br /&gt;
Last year Daniel Bundala created the v.generalize module, and implemented many line generalization algorithms.&lt;br /&gt;
&lt;br /&gt;
This year we'd like to expand the module with implementing algorithms to do the following methods (as defined by McMAster)&lt;br /&gt;
* merging&lt;br /&gt;
* exaggeration&lt;br /&gt;
* collapse&lt;br /&gt;
* point aggregation&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.overlay ====&lt;br /&gt;
Extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Uniforming vector modules ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to clean up these modules and that way ease the learning curve of GRASS&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6022</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6022"/>
		<updated>2008-03-12T19:18:23Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Ideas */ intorduction&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
* For inspiration see the [[GRASS SoC Ideas 2007]] page&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
* Community bonding time (getting to know the students)&lt;br /&gt;
* Work Begins&lt;br /&gt;
* Midterm evaluation&lt;br /&gt;
* Pencils down!&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas&lt;br /&gt;
* Assign Mentors to Ideas&lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
* Process Student Applications. Deadline XXX&lt;br /&gt;
* YYY: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Here are some ideas you can base your application on&lt;br /&gt;
===wxPython===&lt;br /&gt;
These project ideas have to do with the new GUI of GRASS&lt;br /&gt;
&lt;br /&gt;
====3D Visualization====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You should keep in mind that the code has to be very well documented (even insanely well) to facilitate better expandability.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====Color management====&lt;br /&gt;
GRASS has good color management features, but lacks a good UI to mange colors.&lt;br /&gt;
&lt;br /&gt;
Your job would be to extend the wxPython GUI to&lt;br /&gt;
# Create a color and interval editor tool which should be able to create files which are compatible with r.reclass, r.colors and friends.&lt;br /&gt;
# 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.&lt;br /&gt;
# For added fun a C library that implements things such as &amp;quot;natural breaks&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====SQL====&lt;br /&gt;
GRASS has excellent SQL support, however many people who are using GRASS are not SQL gurus.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a SQL query builder to help build SQL queries. Additional cool features are welcome!&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====Kriging====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to grate a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
# Do Kriging based or R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Cartography ====&lt;br /&gt;
GRASS is mainly focused on Analysis, but it also has good map making tools. These tools lack a good GUI.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.what ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
These projects involve the GRASS raster library.&lt;br /&gt;
&lt;br /&gt;
====r.external====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create this r.external too for GRASS.&lt;br /&gt;
* See the [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal] for more information.&lt;br /&gt;
&lt;br /&gt;
This project will be done in cooperation with GDAL.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim (GRASS), Frank Warmerdam (GDAL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Raster Database ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to implement this connection.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Raster Objects ====&lt;br /&gt;
Implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification)&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
These ideas relate to the Vector library of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.buffer and v.parallel ====&lt;br /&gt;
These two modules are broken and need to be reimplemented.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Implement file based spatial index ====&lt;br /&gt;
Read &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in [http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Radim's Vector ToDo]&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.voronoi / v.delauny ====&lt;br /&gt;
These modules need to be reimplemented as they are quite old an sub-optimal. There are many good algorithms that can be used.&lt;br /&gt;
&lt;br /&gt;
==== v.generalize take two ====&lt;br /&gt;
Last year Daniel Bundala created the v.generalize module, and implemented many line generalization algorithms.&lt;br /&gt;
&lt;br /&gt;
This year we'd like to expand the module with implementing algorithms to do the following methods (as defined by McMAster)&lt;br /&gt;
* merging&lt;br /&gt;
* exaggeration&lt;br /&gt;
* collapse&lt;br /&gt;
* point aggregation&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.overlay ====&lt;br /&gt;
Extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Uniforming vector modules ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to clean up these modules and that way ease the learning curve of GRASS&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
= Suggested Ideas =&lt;br /&gt;
&lt;br /&gt;
See [[Talk:GRASS SoC Ideas 2008]]&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6021</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=6021"/>
		<updated>2008-03-12T19:17:19Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Ideas */ Added some ideas, we have been talking about&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
* For inspiration see the [[GRASS SoC Ideas 2007]] page&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
* Community bonding time (getting to know the students)&lt;br /&gt;
* Work Begins&lt;br /&gt;
* Midterm evaluation&lt;br /&gt;
* Pencils down!&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas&lt;br /&gt;
* Assign Mentors to Ideas&lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
* Process Student Applications. Deadline XXX&lt;br /&gt;
* YYY: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Ideas with assigned mentors will be listed here. (will link to new page if needed)&lt;br /&gt;
&lt;br /&gt;
===wxPython===&lt;br /&gt;
These project ideas have to do with the new GUI of GRASS&lt;br /&gt;
&lt;br /&gt;
====3D Visualization====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
You should keep in mind that the code has to be very well documented (even insanely well) to facilitate better expandability.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====Color management====&lt;br /&gt;
GRASS has good color management features, but lacks a good UI to mange colors.&lt;br /&gt;
&lt;br /&gt;
Your job would be to extend the wxPython GUI to&lt;br /&gt;
# Create a color and interval editor tool which should be able to create files which are compatible with r.reclass, r.colors and friends.&lt;br /&gt;
# 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.&lt;br /&gt;
# For added fun a C library that implements things such as &amp;quot;natural breaks&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====SQL====&lt;br /&gt;
GRASS has excellent SQL support, however many people who are using GRASS are not SQL gurus.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create a SQL query builder to help build SQL queries. Additional cool features are welcome!&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
====Kriging====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to grate a GUI (in wxPython) that can:&lt;br /&gt;
# Do Kriging based on gstat.&lt;br /&gt;
#* Create and edit GStat command files&lt;br /&gt;
#* Call gstat to do variogram analysis&lt;br /&gt;
#* Call gstat to do the actual Kriging.&lt;br /&gt;
# Do Kriging based or R&lt;br /&gt;
#* Create and edit R scripts&lt;br /&gt;
#* Call R to do variogram analysis. For efficiency the R environment should be done &lt;br /&gt;
#* Call R to do the actual Kriging. This includes importing the result back to GRASS.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:'''Wolf Bergenheim, Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== Cartography ====&lt;br /&gt;
GRASS is mainly focused on Analysis, but it also has good map making tools. These tools lack a good GUI.&lt;br /&gt;
&lt;br /&gt;
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&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.what ====&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
These projects involve the GRASS raster library.&lt;br /&gt;
&lt;br /&gt;
====r.external====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to create this r.external too for GRASS.&lt;br /&gt;
* See the [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal] for more information.&lt;br /&gt;
&lt;br /&gt;
This project will be done in cooperation with GDAL.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim (GRASS), Frank Warmerdam (GDAL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Raster Database ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to implement this connection.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Raster Objects ====&lt;br /&gt;
Implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification)&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
These ideas relate to the Vector library of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.buffer and v.parallel ====&lt;br /&gt;
These two modules are broken and need to be reimplemented.&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Implement file based spatial index ====&lt;br /&gt;
Read &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in [http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup Radim's Vector ToDo]&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.voronoi / v.delauny ====&lt;br /&gt;
These modules need to be reimplemented as they are quite old an sub-optimal. There are many good algorithms that can be used.&lt;br /&gt;
&lt;br /&gt;
==== v.generalize take two ====&lt;br /&gt;
Last year Daniel Bundala created the v.generalize module, and implemented many line generalization algorithms.&lt;br /&gt;
&lt;br /&gt;
This year we'd like to expand the module with implementing algorithms to do the following methods (as defined by McMAster)&lt;br /&gt;
* merging&lt;br /&gt;
* exaggeration&lt;br /&gt;
* collapse&lt;br /&gt;
* point aggregation&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== v.overlay ====&lt;br /&gt;
Extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines)&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==== Uniforming vector modules ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Your job would be to clean up these modules and that way ease the learning curve of GRASS&lt;br /&gt;
&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
= Suggested Ideas =&lt;br /&gt;
&lt;br /&gt;
See [[Talk:GRASS SoC Ideas 2008]]&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_SoC_Ideas_2008&amp;diff=6020</id>
		<title>Talk:GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_SoC_Ideas_2008&amp;diff=6020"/>
		<updated>2008-03-12T07:25:57Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Line of sight */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay, making a raw dump of ideas here, so that we can more easily keep track of them.&lt;br /&gt;
&lt;br /&gt;
= Displaced symbols =&lt;br /&gt;
*Create a module to place map symbols on a map, so that the feature and other overlap information is minimized (NP-Complete problem). The map symbol should be referenced to their original location, by using a reference line.&lt;br /&gt;
** Create new symbol file and add support for it to the GUI and a d.icon command, and to the PS driver.&lt;br /&gt;
** Support native GRASS symbols, png, svg and others. Support specifying symbol in the database for each feature.&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: --HB: ''[http://thread.gmane.org/gmane.comp.gis.grass.devel/25006/focus=25584 see comments posted to the mailing list]''&lt;br /&gt;
&lt;br /&gt;
= Uniforming the vector modules =&lt;br /&gt;
* Vector 3D support. Make all vector modules work in 3D space.&lt;br /&gt;
* Add where= and cats= to as many modules as possible, where reasonable (also see ml discussion on this)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Line of sight =&lt;br /&gt;
* Improved line of sight (Paul Kelly's proposal from last year)&lt;br /&gt;
* 3D Vector line of sight (related): line of sight in 3D vector city models etc&lt;br /&gt;
* See [[GRASS SoC Ideas 2007]]&lt;br /&gt;
&lt;br /&gt;
= wxGui =&lt;br /&gt;
* Graphical colour and interval and category selections. This would create a file which could be used in r.reclass, r.colors and friends. Maybe a similar tool for the vector equivalent?&lt;br /&gt;
* create an SQL query builder tool to help build sql queries, if enough time add PostGIS queries [cooperation with PostGIS]&lt;br /&gt;
* I've heard many complaints about GRASS lacking a Kriging module. One of these ideas could fix that (maybe both)&lt;br /&gt;
** gstat GUI (would create gstat files, run gstat, and provide a GUI for all file editing tasks)&lt;br /&gt;
** The same except would create an R script.&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Are these projects large enough to be their own individual SoC projects or should they maybe be one?&lt;br /&gt;
&lt;br /&gt;
= Raster =&lt;br /&gt;
&lt;br /&gt;
* GDAL based live-linking of raster maps to avoid import: r.external (from last year) via GDAL&lt;br /&gt;
&lt;br /&gt;
* raster db connections. The raster category value would be a cat in a database. Introduce maybe a new kind of map otherwise identical to an INT map, but the values should be treated as DB cat id's.&lt;br /&gt;
** is this at all feasible?&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Vector =&lt;br /&gt;
* Implement new TIN algorithms from http://www.cs.cmu.edu/~jrs/jrspapers.html#dtstreamn and Digital elevation model construction from structured topographic data: The DEST algorithm (see list discussion)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Expand v.generalize with new methods (e.g merging, exaggeration, collapse, displacement, point aggregation)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* rewrite v.buffer / v.parallel (maybe need to remap the GRASS map in another datastructure, like winged edge)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reimplement v.delauny (also possibly by going via some other data structure)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Statistics =&lt;br /&gt;
&lt;br /&gt;
* R integration [there was some talk on this on the list]&lt;br /&gt;
&lt;br /&gt;
* v.out.odg To create OO draw files (we could maybe collaborate with OO.o on this one, e.g. one mentor form each organisation)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ideas by Moriz Lennert =&lt;br /&gt;
== Implement file based spatial index ==&lt;br /&gt;
&lt;br /&gt;
* (see &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in Radim's Vector ToDo http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup)&lt;br /&gt;
* extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== More ambitious ==&lt;br /&gt;
* implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification)&lt;br /&gt;
&lt;br /&gt;
= Ideas by Helena Mitasova =&lt;br /&gt;
* Getting a start for the next generation visualization tool for GRASS - just a simple demo that can be done in 3 months 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. Do we have a potential mentor? (I can be the second mentor, but we would need somebody to mentor the programming part).&lt;br /&gt;
&lt;br /&gt;
= Ideas by Michael Barton =&lt;br /&gt;
* v.what to 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).&lt;br /&gt;
** '''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=5883</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=5883"/>
		<updated>2008-02-22T07:41:27Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
* Community bonding time (getting to know the students)&lt;br /&gt;
* Work Begins&lt;br /&gt;
* Midterm evaluation&lt;br /&gt;
* Pencils down!&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas&lt;br /&gt;
* Assign Mentors to Ideas&lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
* Process Student Applications. Deadline XXX&lt;br /&gt;
* YYY: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Ideas with assigned mentors will be listed here. (will link to new page if needed)&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_SoC_Ideas_2008&amp;diff=5882</id>
		<title>Talk:GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_SoC_Ideas_2008&amp;diff=5882"/>
		<updated>2008-02-22T07:39:33Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* wxGui */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay, making a raw dump of ideas here, so that we can more easily keep track of them.&lt;br /&gt;
&lt;br /&gt;
= Displaced symbols =&lt;br /&gt;
*Create a module to place map symbols on a map, so that the feature and other overlap information is minimized (NP-Complete problem). The map symbol should be referenced to their original location, by using a reference line.&lt;br /&gt;
** Create new symbol file and add support for it to the GUI and a d.icon command, and to the PS driver.&lt;br /&gt;
** Support native GRASS symbols, png, svg and others. Support specifying symbol in the database for each feature.&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uniforming the vector modules =&lt;br /&gt;
* Vector 3D support. Make all vector modules work in 3D space.&lt;br /&gt;
* Add where= and cats= to as many modules as possible, where reasonable (also see ml discussion on this)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Line of sight =&lt;br /&gt;
* Improved line of sight (Paul Kelly's proposal from last year)&lt;br /&gt;
* 3D Vector line of sight (related)&lt;br /&gt;
* See [GRASS SoC Ideas 2007]&lt;br /&gt;
&lt;br /&gt;
= wxGui =&lt;br /&gt;
* Graphical colour and interval and category selections. This would create a file which could be used in r.reclass, r.colors and friends. Maybe a similar tool for the vector equivalent?&lt;br /&gt;
* create an SQL query builder tool to help build sql queries, if enough time add PostGIS queries [cooperation with PostGIS]&lt;br /&gt;
* I've heard many complaints about GRASS lacking a Kriging module. One of these ideas could fix that (maybe both)&lt;br /&gt;
** gstat GUI (would create gstat files, run gstat, and provide a GUI for all file editing tasks)&lt;br /&gt;
** The same except would create an R script.&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Are these projects large enough to be their own individual SoC projects or should they maybe be one?&lt;br /&gt;
&lt;br /&gt;
= other =&lt;br /&gt;
&lt;br /&gt;
* raster db connections. The raster category value would be a cat in a database. Introduce maybe a new kind of map otherwise identical to an INT map, but the values should be treated as DB cat id's.&lt;br /&gt;
** is this at all feasible?&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Implement new TIN algorithms from http://www.cs.cmu.edu/~jrs/jrspapers.html#dtstreamn and Digital elevation model construction from structured topographic data: The DEST algorithm (see list discussion)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Expand v.generalize with new methods (e.g merging, exaggeration, collapse, displacement, point aggregation)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* rewrite v.buffer / v.parallel (maybe need to remap the GRASS map in another datastructure, like winged edge)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reimplement v.delauny (also possibly by going via some other data structure)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R integration [there was some talk on this on the list]&lt;br /&gt;
&lt;br /&gt;
* v.out.odg To create OO draw files (we could maybe collaborate with OO.o on this one, e.g. one mentor form each organisation)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* r.external (from last year) via GDAL&lt;br /&gt;
&lt;br /&gt;
= Ideas by Moriz Lennert =&lt;br /&gt;
== implement file based spatial index ==&lt;br /&gt;
* (see &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in Radim's Vector ToDo http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup)&lt;br /&gt;
* extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== More ambitious ==&lt;br /&gt;
* implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification)&lt;br /&gt;
&lt;br /&gt;
= Ideas by Helena Mitasova =&lt;br /&gt;
* Getting a start for the next generation visualization tool for GRASS - just a simple demo that can be done in 3 months to display surface(s) in 2D and smoothly transfer the view into 3D. Do we have a potential mentor? (I can be the second mentor, but we would need somebody to mentor the programming part).&lt;br /&gt;
&lt;br /&gt;
= Ideas by Michael Barton =&lt;br /&gt;
* v.what to 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).&lt;br /&gt;
** '''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_SoC_Ideas_2008&amp;diff=5881</id>
		<title>Talk:GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_SoC_Ideas_2008&amp;diff=5881"/>
		<updated>2008-02-22T07:36:36Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay, making a raw dump of ideas here, so that we can more easily keep track of them.&lt;br /&gt;
&lt;br /&gt;
= Displaced symbols =&lt;br /&gt;
*Create a module to place map symbols on a map, so that the feature and other overlap information is minimized (NP-Complete problem). The map symbol should be referenced to their original location, by using a reference line.&lt;br /&gt;
** Create new symbol file and add support for it to the GUI and a d.icon command, and to the PS driver.&lt;br /&gt;
** Support native GRASS symbols, png, svg and others. Support specifying symbol in the database for each feature.&lt;br /&gt;
'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uniforming the vector modules =&lt;br /&gt;
* Vector 3D support. Make all vector modules work in 3D space.&lt;br /&gt;
* Add where= and cats= to as many modules as possible, where reasonable (also see ml discussion on this)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Line of sight =&lt;br /&gt;
* Improved line of sight (Paul Kelly's proposal from last year)&lt;br /&gt;
* 3D Vector line of sight (related)&lt;br /&gt;
* See [GRASS SoC Ideas 2007]&lt;br /&gt;
&lt;br /&gt;
= wxGui =&lt;br /&gt;
* Graphical colour and interval and category selections. This would create a file which could be used in r.reclass, r.colors and friends. Maybe a similar tool for the vector equivalent?&lt;br /&gt;
* create an SQL query builder tool to help build sql queries, if enough time add PostGIS queries [cooperation with PostGIS]&lt;br /&gt;
* I've heard many complaints about GRASS lacking a Kriging module. One of these ideas could fix that (maybe both)&lt;br /&gt;
** gstat GUI (would create gstat files, run gstat, and provide a GUI for all file editing tasks)&lt;br /&gt;
** The same except would create an R script.&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= other =&lt;br /&gt;
&lt;br /&gt;
* raster db connections. The raster category value would be a cat in a database. Introduce maybe a new kind of map otherwise identical to an INT map, but the values should be treated as DB cat id's.&lt;br /&gt;
** is this at all feasible?&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Implement new TIN algorithms from http://www.cs.cmu.edu/~jrs/jrspapers.html#dtstreamn and Digital elevation model construction from structured topographic data: The DEST algorithm (see list discussion)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Expand v.generalize with new methods (e.g merging, exaggeration, collapse, displacement, point aggregation)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* rewrite v.buffer / v.parallel (maybe need to remap the GRASS map in another datastructure, like winged edge)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reimplement v.delauny (also possibly by going via some other data structure)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R integration [there was some talk on this on the list]&lt;br /&gt;
&lt;br /&gt;
* v.out.odg To create OO draw files (we could maybe collaborate with OO.o on this one, e.g. one mentor form each organisation)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* r.external (from last year) via GDAL&lt;br /&gt;
&lt;br /&gt;
= Ideas by Moriz Lennert =&lt;br /&gt;
== implement file based spatial index ==&lt;br /&gt;
* (see &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in Radim's Vector ToDo http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup)&lt;br /&gt;
* extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines)&lt;br /&gt;
**'''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== More ambitious ==&lt;br /&gt;
* implement an equivalent of eCognition's object-based classification (in contrast to pixel-based classification)&lt;br /&gt;
&lt;br /&gt;
= Ideas by Helena Mitasova =&lt;br /&gt;
* Getting a start for the next generation visualization tool for GRASS - just a simple demo that can be done in 3 months to display surface(s) in 2D and smoothly transfer the view into 3D. Do we have a potential mentor? (I can be the second mentor, but we would need somebody to mentor the programming part).&lt;br /&gt;
&lt;br /&gt;
= Ideas by Michael Barton =&lt;br /&gt;
* v.what to 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).&lt;br /&gt;
** '''Willing to Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass@bergenheim.net&amp;gt;&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas&amp;diff=5880</id>
		<title>GRASS SoC Ideas</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas&amp;diff=5880"/>
		<updated>2008-02-21T23:46:59Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[GRASS SoC Ideas 2008]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas&amp;diff=5879</id>
		<title>GRASS SoC Ideas</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas&amp;diff=5879"/>
		<updated>2008-02-21T23:46:22Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[GRASS SoC Ideas 2008]]&lt;br /&gt;
&lt;br /&gt;
[[GRASS SoC Ideas 2008]]&lt;br /&gt;
[[GRASS SoC Ideas 2007]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_SoC_Ideas_2008&amp;diff=5878</id>
		<title>Talk:GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_SoC_Ideas_2008&amp;diff=5878"/>
		<updated>2008-02-21T23:45:21Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Okay, making a raw dump of ideas here, so that we can more easily keep track of them.&lt;br /&gt;
&lt;br /&gt;
= Displaced symbols =&lt;br /&gt;
*Create a module to place map symbols on a map, so that the feature and other overlap information is minimized (NP-Complete problem). The map symbol should be referenced to their original location, by using a reference line.&lt;br /&gt;
** Create new symbol file and add support for it to the GUI and a d.icon command, and to the PS driver.&lt;br /&gt;
** Support native GRASS symbols, png, svg and others. Support specifying symbol in the database for each feature.&lt;br /&gt;
'''Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass [] bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Uniforming the vector modules =&lt;br /&gt;
** Vector 3D support. Make all vector modules work in 3D space.&lt;br /&gt;
** Add where= and cats= to as many modules as possible, where reasonable (also see ml discussion on this)&lt;br /&gt;
'''Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass [] bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Line of sight =&lt;br /&gt;
* Improved line of sight (Paul Kelly's proposal from last year)&lt;br /&gt;
* 3D Vector line of sight (related)&lt;br /&gt;
* See [GRASS SoC Ideas 2007]&lt;br /&gt;
&lt;br /&gt;
= wxGui =&lt;br /&gt;
* Graphical colour and interval and category selections. This would create a file which could be used in r.reclass, r.colors and friends. Maybe a similar tool for the vector equivalent?&lt;br /&gt;
* create an SQL query builder tool to help build sql queries, if enough time add PostGIS queries [cooperation with PostGIS]&lt;br /&gt;
* I've heard many complaints about GRASS lacking a Kriging module. One of these ideas could fix that (maybe both)&lt;br /&gt;
    * gstat GUI (would create gstat files, run gstat, and provide a GUI for all file editing tasks)&lt;br /&gt;
    * The same except would create an R script.&lt;br /&gt;
'''Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass [] bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= other =&lt;br /&gt;
&lt;br /&gt;
* raster db connections. The raster category value would be a cat in a database. Introduce maybe a new kind of map otherwise identical to an INT map, but the values should be treated as DB cat id's.&lt;br /&gt;
** is this at all feasible?&lt;br /&gt;
'''Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass [] bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Implement new TIN algorithms from&lt;br /&gt;
http://www.cs.cmu.edu/~jrs/jrspapers.html#dtstreamn and Digital elevation model construction from structured topographic data: The DEST algorithm (see list discussion)&lt;br /&gt;
'''Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass [] bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Expand v.generalize with new methods (e.g merging, exaggeration, collapse, displacement, point aggregation)&lt;br /&gt;
'''Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass [] bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* rewrite v.buffer / v.parallel (maybe need to remap the GRASS map in another datastructure, like winged edge)&lt;br /&gt;
'''Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass [] bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* reimplement v.delauny (also possibly by going via some other data structure)&lt;br /&gt;
'''Mentor:''' Wolf Bergenheim &amp;lt;wolf+grass [] bergenheim.net&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* R integration [there was some talk on this on the list]&lt;br /&gt;
&lt;br /&gt;
* v.out.odg To create OO draw files (we could maybe collaborate with OO.o on this one, e.g. one mentor form each organisation)&lt;br /&gt;
&lt;br /&gt;
* r.external (from last year) via GDAL&lt;br /&gt;
&lt;br /&gt;
= Ideas by Moriz Lennert =&lt;br /&gt;
== implement file based spatial index ==&lt;br /&gt;
* (see &amp;quot;Keep topology and spatial index in file instead of in memory&amp;quot; in Radim's Vector ToDo http://freegis.org/cgi-bin/viewcvs.cgi/grass6/doc/vector/TODO?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup)&lt;br /&gt;
* extend v.overlay to allow all types of overlay operations for all types of vector (i.e. also points and lines)&lt;br /&gt;
&lt;br /&gt;
More ambitious:&lt;br /&gt;
* implement an equivalent of eCognition's object-based classification (in&lt;br /&gt;
contrast to pixel-based classification)&lt;br /&gt;
&lt;br /&gt;
= Ideas by Helena Mitasova =&lt;br /&gt;
Getting a start for the next generation visualization tool for GRASS - just a simple demo that can be done in 3 months to display surface(s) in 2D and smoothly transfer the view into 3D. Do we have a potential mentor? (I can be the second mentor, but we would need somebody to mentor the programming part).&lt;br /&gt;
&lt;br /&gt;
= Ideas by Michael Barton =&lt;br /&gt;
* v.what to 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).&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=5877</id>
		<title>GRASS SoC Ideas 2008</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2008&amp;diff=5877"/>
		<updated>2008-02-21T23:22:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= About =&lt;br /&gt;
This is the GRASS page for [Google Summer of Code http://wiki.osgeo.org/index.php/Google_Summer_of_Code] 2008. Here we will list project ideas and and other information related to the GRASS GSoC projects.&lt;br /&gt;
&lt;br /&gt;
= Timeline =&lt;br /&gt;
* Community bonding time (getting to know the students)&lt;br /&gt;
* Work Begins&lt;br /&gt;
* Midterm evaluation&lt;br /&gt;
* Pencils down!&lt;br /&gt;
&lt;br /&gt;
= Required Steps =&lt;br /&gt;
&lt;br /&gt;
* List ideas&lt;br /&gt;
* Assign Mentors to Ideas&lt;br /&gt;
* Notify OSGeo&lt;br /&gt;
* Process Student Applications. Deadline XXX&lt;br /&gt;
* YYY: Accepted Students Announced&lt;br /&gt;
* SVN branches and access for students&lt;br /&gt;
* Coding begins...&lt;br /&gt;
* Students and mentors: Complete the Mid-term survey.&lt;br /&gt;
* Final commit and packaging for Google.&lt;br /&gt;
&lt;br /&gt;
= Ideas =&lt;br /&gt;
&lt;br /&gt;
Ideas with assigned mentors will be listed here. (will link to new page if needed)&lt;br /&gt;
&lt;br /&gt;
= Guidelines for Students =&lt;br /&gt;
&lt;br /&gt;
How do you maximize your chances of getting picked? First read the [Google SoC FAQ http://code.google.com/p/google-summer-of-code/wiki/AdviceforStudents]. Then talk to us about your idea. Try emailing the mentor directly, or come and talk to us in IRC (#grass).&lt;br /&gt;
&lt;br /&gt;
= Accepted Ideas =&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas&amp;diff=5866</id>
		<title>GRASS SoC Ideas</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas&amp;diff=5866"/>
		<updated>2008-02-20T13:55:09Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: GRASS SoC Ideas moved to GRASS SoC Ideas 2007: New 2008 SoC ideas page will be arriving soon!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[GRASS SoC Ideas 2007]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=5865</id>
		<title>GRASS SoC Ideas 2007</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=5865"/>
		<updated>2008-02-20T13:55:09Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: GRASS SoC Ideas moved to GRASS SoC Ideas 2007: New 2008 SoC ideas page will be arriving soon!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GRASS related ideas for the [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2007:&lt;br /&gt;
&lt;br /&gt;
==Timeline / Requirements for GRASS project==&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/support/bin/topic.py?topic=10442 Google SoC FAQ]&lt;br /&gt;
&lt;br /&gt;
* Monday March 12th 2007, Deadline for '''OSGeo''' submission as an organization&lt;br /&gt;
* We must list of potential mentors for GRASS work&lt;br /&gt;
* March 24: Student application deadline. &lt;br /&gt;
* April 9: Accepted student applications announced.&lt;br /&gt;
* May 28: Students begin work.&lt;br /&gt;
* August 31: final evaluation deadline.&lt;br /&gt;
&lt;br /&gt;
==Improved Line of Sight Analysis in GRASS==&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Some hints on what's involved in GRASS programming are available here: http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/SUBMITTING&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Paul Kelly&lt;br /&gt;
&lt;br /&gt;
==A new module which would do line generalization with one of these algorithms==&lt;br /&gt;
* Douglas-Peuker algorithm&lt;br /&gt;
* Reumann-Witkam algorithm&lt;br /&gt;
* Lang simplification algorithm&lt;br /&gt;
* Cromley's Hierarchical algorithm&lt;br /&gt;
* Boyle's forward-looking smoothing algorithm&lt;br /&gt;
The most famous of these is the Douglas-Peuker algorithm.&lt;br /&gt;
&lt;br /&gt;
This work will involve the use of the vector library to read the vector maps to be generalized and writing the new as a new vector map.&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
; Google [http://code.google.com/soc/osgeo/appinfo.html?csaid=3D7195C3927C616D Abstract]&lt;br /&gt;
&lt;br /&gt;
==A new simulation/optimization algorithm for least cost path==&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
This will involve reading and writing raster maps.&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==Shortest path in free (vector) space (avoiding obstacles)==&lt;br /&gt;
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:&lt;br /&gt;
* by building a &amp;quot;road network&amp;quot; with the help of building trapezoids from each corner point of the obstacles.&lt;br /&gt;
OR PREFERABLY&lt;br /&gt;
* by building a visibility graph and converting it into a weighted network and running Dijkstra's shortest path on it.&lt;br /&gt;
&lt;br /&gt;
This project will be vector and will also involve the directed graph library when calculating the shortest path.&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
; Google [http://code.google.com/soc/osgeo/appinfo.html?csaid=FEF51B36978B92BF Abstract]&lt;br /&gt;
&lt;br /&gt;
==Further work on r.li==&lt;br /&gt;
The r.li module recently entered official GRASS code base. It is meant as a faster and more manageable replacement for r.le for the analysis of landscape ecology and composition. To replace it fully, we need:&lt;br /&gt;
* implementation of other indices&lt;br /&gt;
* remove the dependency on TclTk, so as to prepare it for the coming python GUI&lt;br /&gt;
* further testing and bugfixing&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Paolo Cavallini&lt;br /&gt;
&lt;br /&gt;
== Other ideas ==&lt;br /&gt;
* better implement PostGIS support (I do not think this is very useful --[[User:Cavallini|Cavallini]] 07:48, 13 March 2007 (CET))&lt;br /&gt;
* integrate GDAL as part of GRASS raster library: [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal]&lt;br /&gt;
: is this somewhat similar to a &amp;quot;r.external&amp;quot; equivalent of v.external? --[[User:Cavallini|Cavallini]] 07:48, 13 March 2007 (CET)&lt;br /&gt;
:: yes -- Markus [[User:Neteler|Neteler]] 15:03, 13 March 2007 (CET)&lt;br /&gt;
* implement parts of [[Time series in GRASS]]&lt;br /&gt;
&lt;br /&gt;
== Potential Mentors ==&lt;br /&gt;
&lt;br /&gt;
* Paul Kelly (for line of sight project)&lt;br /&gt;
* Wolf Bergenheim (for the line generalization / least cost projects)&lt;br /&gt;
* Paolo Cavallini (for r.li project)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.osgeo.org/index.php/Google_Summer_of_Code OSGeo involvement Google Summer of Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=3907</id>
		<title>GRASS SoC Ideas 2007</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=3907"/>
		<updated>2007-03-12T12:16:00Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: Formatted page to give each detailed project it's own section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GRASS related ideas for the [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2007:&lt;br /&gt;
&lt;br /&gt;
==Improved Line of Sight Analysis in GRASS==&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Some hints on what's involved in GRASS programming are available here: http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/SUBMITTING&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Paul Kelly&lt;br /&gt;
&lt;br /&gt;
==A new module which would do line generalization with one of these algorithms==&lt;br /&gt;
* Douglas-Peuker algorithm&lt;br /&gt;
* Reumann-Witkam algorithm&lt;br /&gt;
* Lang simplification algorithm&lt;br /&gt;
* Cromley's Hierarchical algorithm&lt;br /&gt;
* Boyle's forward-looking smoothing algorithm&lt;br /&gt;
The most famous of these is the Douglas-Peuker algorithm.&lt;br /&gt;
&lt;br /&gt;
This work will involve the use of the vector library to read the vector maps to be generalized and writing the new as a new vector map.&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==A new simulation/optimization algorithm for least cost path==&lt;br /&gt;
*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.&lt;br /&gt;
&lt;br /&gt;
This will involve reading and writing raster maps.&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==Shortest path in free (vector) space (avoiding obstacles)==&lt;br /&gt;
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:&lt;br /&gt;
* by building a &amp;quot;road network&amp;quot; with the help of building trapezoids from each corner point of the obstacles.&lt;br /&gt;
OR PREFERABLY&lt;br /&gt;
* by building a visibility graph and converting it into a weighted network and running Dijkstra's shortest path on it.&lt;br /&gt;
&lt;br /&gt;
This project will be vector and will also involve the directed graph library when calculating the shortest path.&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
* carry on the work on r.li --[[User:Cavallini|Cavallini]] 14:37, 27 February 2007 (CET)&lt;br /&gt;
* better implement PostGIS support&lt;br /&gt;
* integrate GDAL as part of GRASS raster library: [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal]&lt;br /&gt;
* integrate OGR as part of GRASS vector library&lt;br /&gt;
:''please expand, I don't understand what you mean'' -HB&lt;br /&gt;
&lt;br /&gt;
== Potential Mentors ==&lt;br /&gt;
&lt;br /&gt;
* Paul Kelly (for line of sight project)&lt;br /&gt;
* Wolf Bergenheim (for the line generalization / least cost projects)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.osgeo.org/index.php/Google_Summer_of_Code OSGeo involvement Google Summer of Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=3906</id>
		<title>GRASS SoC Ideas 2007</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=3906"/>
		<updated>2007-03-12T12:00:02Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GRASS related ideas for the [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2007:&lt;br /&gt;
&lt;br /&gt;
* '''Improved Line of Sight Analysis in GRASS'''&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Some hints on what's involved in GRASS programming are available here: http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/SUBMITTING&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Paul Kelly&lt;br /&gt;
&lt;br /&gt;
* '''A new module which would do line generalization with one of these algorithms'''&lt;br /&gt;
** Douglas-Peuker algorithm&lt;br /&gt;
** Reumann-Witkam algorithm&lt;br /&gt;
** Lang simplification algorithm&lt;br /&gt;
** Cromley's Hierarchical algorithm&lt;br /&gt;
** Boyle's forward-looking smoothing algorithm&lt;br /&gt;
The most famous of these is the Douglas-Peuker algorithm.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* '''A new simulation/optimization algorithm for least cost path'''&lt;br /&gt;
**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.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* '''Shortest path in free (vector) space (avoiding obstacles)'''&lt;br /&gt;
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:&lt;br /&gt;
** by building a &amp;quot;road network&amp;quot; with the help of building trapezoids from each corner point of the obstacles.&lt;br /&gt;
** by building a visibility graph and converting it into a weighted network and running Dijkstra's shortest path on it.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* carry on the work on r.li --[[User:Cavallini|Cavallini]] 14:37, 27 February 2007 (CET)&lt;br /&gt;
* better implement PostGIS support&lt;br /&gt;
* integrate GDAL as part of GRASS raster library: [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal]&lt;br /&gt;
* integrate OGR as part of GRASS vector library&lt;br /&gt;
:''please expand, I don't understand what you mean'' -HB&lt;br /&gt;
&lt;br /&gt;
== Potential Mentors ==&lt;br /&gt;
&lt;br /&gt;
* Paul Kelly (for line of sight project)&lt;br /&gt;
* Wolf Bergenheim (for the line generalization / least cost projects)&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.osgeo.org/index.php/Google_Summer_of_Code OSGeo involvement Google Summer of Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=3905</id>
		<title>GRASS SoC Ideas 2007</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=3905"/>
		<updated>2007-03-12T11:58:10Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: /* Potential Mentors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GRASS related ideas for the [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2007:&lt;br /&gt;
&lt;br /&gt;
* '''Improved Line of Sight Analysis in GRASS'''&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Some hints on what's involved in GRASS programming are available here: http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/SUBMITTING&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Paul Kelly&lt;br /&gt;
&lt;br /&gt;
* '''A new module which would do line generalization with one of these algorithms'''&lt;br /&gt;
** Douglas-Peuker algorithm&lt;br /&gt;
** Reumann-Witkam algorithm&lt;br /&gt;
** Lang simplification algorithm&lt;br /&gt;
** Cromley's Hierarchical algorithm&lt;br /&gt;
** Boyle's forward-looking smoothing algorithm&lt;br /&gt;
The most famous of these is the Douglas-Peuker algorithm.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* '''A new simulation/optimization algorithm for least cost path'''&lt;br /&gt;
**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.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* '''Shortest path in free (vector) space (avoiding obstacles'''&lt;br /&gt;
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:&lt;br /&gt;
** by building a &amp;quot;road network&amp;quot; with the help of building trapezoids from each corner point of the obstacles.&lt;br /&gt;
** by building a visibility graph and converting it into a weighted network and running Dijkstra's shortest path on it.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* carry on the work on r.li --[[User:Cavallini|Cavallini]] 14:37, 27 February 2007 (CET)&lt;br /&gt;
* better implement PostGIS support&lt;br /&gt;
* integrate GDAL as part of GRASS raster library: [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal]&lt;br /&gt;
* integrate OGR as part of GRASS vector library&lt;br /&gt;
:''please expand, I don't understand what you mean'' -HB&lt;br /&gt;
&lt;br /&gt;
== Potential Mentors ==&lt;br /&gt;
&lt;br /&gt;
* Paul Kelly (for line of sight project)&lt;br /&gt;
* Wolf Bergenheim (for the line generalization / least cost projects)&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.osgeo.org/index.php/Google_Summer_of_Code OSGeo involvement Google Summer of Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=3904</id>
		<title>GRASS SoC Ideas 2007</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_SoC_Ideas_2007&amp;diff=3904"/>
		<updated>2007-03-12T11:55:27Z</updated>

		<summary type="html">&lt;p&gt;⚠️Wolf: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GRASS related ideas for the [http://wiki.osgeo.org/index.php/Google_Summer_of_Code Google Summer of Code] 2007:&lt;br /&gt;
&lt;br /&gt;
* '''Improved Line of Sight Analysis in GRASS'''&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; Remote Sensing' July 2003:&lt;br /&gt;
http://www.asprs.org/publications/pers/2003journal/july/2003_jul_767-774.pdf&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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).&lt;br /&gt;
&lt;br /&gt;
Some hints on what's involved in GRASS programming are available here: http://freegis.org/cgi-bin/viewcvs.cgi/*checkout*/grass6/SUBMITTING&lt;br /&gt;
&lt;br /&gt;
; Potential Mentor: Paul Kelly&lt;br /&gt;
&lt;br /&gt;
* '''A new module which would do line generalization with one of these algorithms'''&lt;br /&gt;
** Douglas-Peuker algorithm&lt;br /&gt;
** Reumann-Witkam algorithm&lt;br /&gt;
** Lang simplification algorithm&lt;br /&gt;
** Cromley's Hierarchical algorithm&lt;br /&gt;
** Boyle's forward-looking smoothing algorithm&lt;br /&gt;
The most famous of these is the Douglas-Peuker algorithm.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* '''A new simulation/optimization algorithm for least cost path'''&lt;br /&gt;
**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.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* '''Shortest path in free (vector) space (avoiding obstacles'''&lt;br /&gt;
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:&lt;br /&gt;
** by building a &amp;quot;road network&amp;quot; with the help of building trapezoids from each corner point of the obstacles.&lt;br /&gt;
** by building a visibility graph and converting it into a weighted network and running Dijkstra's shortest path on it.&lt;br /&gt;
; Potential Mentor: Wolf Bergenheim&lt;br /&gt;
&lt;br /&gt;
* carry on the work on r.li --[[User:Cavallini|Cavallini]] 14:37, 27 February 2007 (CET)&lt;br /&gt;
* better implement PostGIS support&lt;br /&gt;
* integrate GDAL as part of GRASS raster library: [http://freegis.org/cgi-bin/viewcvs.cgi/grass/gips/gip-0002.txt?rev=HEAD&amp;amp;content-type=text/vnd.viewcvs-markup GRASS raster &amp;quot;live links&amp;quot; proposal]&lt;br /&gt;
* integrate OGR as part of GRASS vector library&lt;br /&gt;
:''please expand, I don't understand what you mean'' -HB&lt;br /&gt;
&lt;br /&gt;
== Potential Mentors ==&lt;br /&gt;
&lt;br /&gt;
* Paul Kelly (for line of sight project)&lt;br /&gt;
&lt;br /&gt;
=== See also ===&lt;br /&gt;
&lt;br /&gt;
* [http://wiki.osgeo.org/index.php/Google_Summer_of_Code OSGeo involvement Google Summer of Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>⚠️Wolf</name></author>
	</entry>
</feed>