<?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%8FAnneGhisla</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%8FAnneGhisla"/>
	<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/wiki/Special:Contributions/%E2%9A%A0%EF%B8%8FAnneGhisla"/>
	<updated>2026-05-26T14:46:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_GIS_Community_Sprint_Berlin_2019&amp;diff=25781</id>
		<title>Talk:GRASS GIS Community Sprint Berlin 2019</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_GIS_Community_Sprint_Berlin_2019&amp;diff=25781"/>
		<updated>2019-05-20T08:41:33Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: aghisla's activities&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Participants and Reports =&lt;br /&gt;
&lt;br /&gt;
Summarizing '''press release''': TODO&lt;br /&gt;
&lt;br /&gt;
[[File:grassgis 2019 berlin sprint group photo.jpg|400px|center|GRASS GIS community sprinters at DIW Berlin, 2019]]&lt;br /&gt;
&lt;br /&gt;
== Peter Loewe ==&lt;br /&gt;
&lt;br /&gt;
[[File:Community-Sprint 2019 Zenodo high level view.jpg|thumb|right|Community-Sprint 2019 Zenodo high level view]]&lt;br /&gt;
&lt;br /&gt;
* Discussion about Zenodo / GitHub integration&lt;br /&gt;
* Working on Wikipage about the [https://grasswiki.osgeo.org/wiki/GitHub-Zenodo_linkage Zenodo-GitHuB integration]&lt;br /&gt;
* Investigating [https://grass.osgeo.org/grass7/manuals/addons/v.surf.mass.html v.surf.mass] for social sciences and economic research.&lt;br /&gt;
&lt;br /&gt;
== Markus Neteler ==&lt;br /&gt;
&lt;br /&gt;
* creation of all new Github repos&lt;br /&gt;
** GRASS GIS core: https://github.com/OSGeo/grass (GRASS GIS &amp;gt;= 7.x)&lt;br /&gt;
** GRASS GIS legacy: https://github.com/OSGeo/grass-legacy (GRASS GIS 3.x, 4.x, 5.x, 6.x - 1987 - 2016)&lt;br /&gt;
** GRASS GIS addons: https://github.com/OSGeo/grass-addons&lt;br /&gt;
** GRASS GIS promotional material: https://github.com/OSGeo/grass-promo&lt;br /&gt;
** Upcoming new web site: https://github.com/OSGeo/grass-website&lt;br /&gt;
* Testing of new Github repo at: https://github.com/OSGeo/grass/&lt;br /&gt;
* Github teams created - different roles for read/write/admin access&lt;br /&gt;
** grass-committers: GRASS GIS developers team  (read/write)&lt;br /&gt;
** grass-admin: GRASS GIS GitHub admin team (all)&lt;br /&gt;
** grass-docker-homebrew-users: users for automated dockerhub and homebrew builds (read-only)&lt;br /&gt;
* New Github users added upon email communication&lt;br /&gt;
* Draft version of https://trac.osgeo.org/grass/wiki/HowToGit&lt;br /&gt;
* (briefly) discussed image collections in GRASS GIS (needed for H2020 [http://openEO.org openEO.org])&lt;br /&gt;
* First PR :-) {{github_pr|8}}&lt;br /&gt;
* aftermath cleanup: tracked in https://trac.osgeo.org/grass/wiki/GitMigration#Aftermathcleanup&lt;br /&gt;
&lt;br /&gt;
== Nicolas Bozon ==&lt;br /&gt;
&lt;br /&gt;
* Presentation via video call of a first glance at the [[Website migration plan 2019|upcoming new GRASS GIS web site]] based on Hugo&lt;br /&gt;
&lt;br /&gt;
[[File:grass2019_berlin_sprint_new_website.jpg|thumb|right|Upcoming new GRASS GIS web site]]&lt;br /&gt;
&lt;br /&gt;
== Martin Landa ==&lt;br /&gt;
&lt;br /&gt;
* Working on GitHub migration&lt;br /&gt;
** finalize source code migration to GitHub ({{trac|3722}})&lt;br /&gt;
*** Targets: https://github.com/OSGeo/grass, https://github.com/OSGeo/grass-addons, https://github.com/OSGeo/grass-promo, https://github.com/OSGeo/grass-legacy&lt;br /&gt;
*** svn2git migration dump and logs: https://grass.osgeo.org/svn2git_archive/&lt;br /&gt;
* Update/Fix WinGRASS build procedure to work with Git&lt;br /&gt;
* {{github_pr|9}}&lt;br /&gt;
* Discussed GRASS support for image collection with Soeren&lt;br /&gt;
&lt;br /&gt;
== Ondřej Pešek ==&lt;br /&gt;
&lt;br /&gt;
* {{cmd|g.gui.gmodeler}}: Working on PyWPS export (see [https://github.com/ctu-yfsg/2017-d-grass-modeler-pywps/compare/master@%7B17/05/2019%7D...master@%7B21/05/2019%7D github commits] overview)&lt;br /&gt;
* Research and discussions about ANN-fueled semantic segmentation modules for GRASS GIS&lt;br /&gt;
* Watching Sören's screenings of Mandelbrot's fractals&lt;br /&gt;
&lt;br /&gt;
== Anna Petrasova and Vaclav Petras ==&lt;br /&gt;
&lt;br /&gt;
* video call from sprint to sprint: Minneapolis OSGeo sprint &amp;lt;--&amp;gt; Berlin GRASS GIS community sprint&lt;br /&gt;
** discussing GitHub migration and HowToGit document&lt;br /&gt;
&lt;br /&gt;
== Veronica Andreo ==&lt;br /&gt;
&lt;br /&gt;
* video call from Argentina&lt;br /&gt;
** learning and testing with HowToGit document&lt;br /&gt;
** discussion about progress of the new website&lt;br /&gt;
&lt;br /&gt;
== Anne Ghisla aka aghisla ==&lt;br /&gt;
&lt;br /&gt;
* Discuss with Peter about archiving of source code in Zenodo (one DOI per GRASS release, connection with git)&lt;br /&gt;
* Follow closely the svn2git migration and the design of the new commit/push workflow&lt;br /&gt;
* Start working on the HTML man pages, so that they refer to git for source code and last edit timestamp ({{github_pr|11}}, work in progress)&lt;br /&gt;
* Investigate a clean way of dropping Python 2.x support, to be done before 2020 (official EOL of Python 2.x)&lt;br /&gt;
* Check with MarkusM how to update g.extension to use git - maybe the Debian Python Team's way can be of inspiration https://salsa.debian.org/python-team/tools/python-modules&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_GIS_Community_Sprint_Berlin_2019&amp;diff=25707</id>
		<title>GRASS GIS Community Sprint Berlin 2019</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_GIS_Community_Sprint_Berlin_2019&amp;diff=25707"/>
		<updated>2019-05-15T18:05:44Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* In person */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{toc|right}}&lt;br /&gt;
&lt;br /&gt;
== Timing, Venue  ==&lt;br /&gt;
&lt;br /&gt;
'''May 17 (Fri) - May 20 (Mon), 2019 at DIW Berlin, Berlin, Germany'''.&lt;br /&gt;
&lt;br /&gt;
Location: Mohrenstraße 58, 10117 Berlin ([https://www.openstreetmap.org/node/358106189 OSM Map])&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
DIW Berlin: Free provision of meeting rooms and internet access.&lt;br /&gt;
&lt;br /&gt;
Donation from OSGeo. Please check more info [[GRASS GIS Budget 2019]].&lt;br /&gt;
&lt;br /&gt;
We also welcome direct '''financial contributions''' to help reducing travelling and accommodation expenses for GRASS developers with far arrival If you are interested to sponsor the GRASS Community Sprint, please read about&lt;br /&gt;
&lt;br /&gt;
:::'''sponsoring the GRASS project''' via our [https://www.paypal.com/pools/c/86YKZiIEPV Paypal money pool]&lt;br /&gt;
&lt;br /&gt;
[[Image:Btn_donate_SM.gif|center|link=http://grass.osgeo.org/donations/]]&lt;br /&gt;
&lt;br /&gt;
For any questions, please contact [[User:Landa|Martin Landa]]. Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
This GRASS GIS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
== Agenda - What we plan to do ==&lt;br /&gt;
&lt;br /&gt;
* Discuss scientific citation of GRASS code and changes to the metadata of man-pages. (PL)&lt;br /&gt;
&lt;br /&gt;
=== New website ===&lt;br /&gt;
&lt;br /&gt;
== Planned participation ==&lt;br /&gt;
&lt;br /&gt;
For organizational reasons. &lt;br /&gt;
&lt;br /&gt;
=== In person ===&lt;br /&gt;
&lt;br /&gt;
Please add your name here:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|width=50px|'''No'''&lt;br /&gt;
|width=130px|'''Participant '''&lt;br /&gt;
|width=100px|'''Country'''&lt;br /&gt;
|width=100px|'''Arrival'''&lt;br /&gt;
|width=100px|'''Departure'''&lt;br /&gt;
|'''Topics'''&lt;br /&gt;
|width=75px|'''T-Shirt'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
|Czech Republic&lt;br /&gt;
|18 at 2pm&lt;br /&gt;
|20 at 2pm&lt;br /&gt;
| completion of git/github migration,  Image collections in GRASS GIS &lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|Germany&lt;br /&gt;
|17 at 7pm&lt;br /&gt;
|20 at 8am&lt;br /&gt;
| completion of git/github migration; discussion of new Hugo based web site&lt;br /&gt;
|M&lt;br /&gt;
|veggy preferred&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:peter.loewe|Peter Loewe]]&lt;br /&gt;
|Germany&lt;br /&gt;
|17, at venue from 9sh on&lt;br /&gt;
|20, Noonish&lt;br /&gt;
| Integration of gut/github migration with the Zenodo data repository / strategic planning for extensions of g.citation module&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:mmetz|Markus Metz]]&lt;br /&gt;
|Germany&lt;br /&gt;
|17&lt;br /&gt;
|20&lt;br /&gt;
|&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:pesekon2|Ondřej Pešek]]&lt;br /&gt;
|Czech Republic&lt;br /&gt;
|17 at 9:50 PM&lt;br /&gt;
|20, the forenoon&lt;br /&gt;
|&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:huhabla|Sören Gebbert]]&lt;br /&gt;
|Germany&lt;br /&gt;
|17&lt;br /&gt;
|19&lt;br /&gt;
| Image collections in GRASS GIS&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[User:Anne.ghisla|Anne Ghisla]]&lt;br /&gt;
|Germany&lt;br /&gt;
|17 from 9am&lt;br /&gt;
|20 until evening&lt;br /&gt;
|Documentation, beta testing git migration, translation, pair programming&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Accomodation ==&lt;br /&gt;
&lt;br /&gt;
There are several Hotels etc. in walking distance.&lt;br /&gt;
&lt;br /&gt;
=== Backpackers ===&lt;br /&gt;
[https://www.cityhostel-berlin.com/ City-Hostel Berlin]&lt;br /&gt;
=== Hotels ===&lt;br /&gt;
* [[https://www.mitte.cph-hotels.com City Partner Hotel]]&lt;br /&gt;
* [[https://www.select-hotels.eu Select-Hotel]]&lt;br /&gt;
* [[https://www.regenthotels.com Regent]]&lt;br /&gt;
* [[https://www.titanic.com.tr Titanic]]&lt;br /&gt;
* [https://www.hiltonhotels.de/deutschland/hilton-berlin Hilton]&lt;br /&gt;
* [https://www.nh-hotels.de/booking/step1-rates?fini=12/05/2019&amp;amp;fout=13/05/2019&amp;amp;nchilds1=0&amp;amp;nadults1=2&amp;amp;hotelId=DEBE.MITTE&amp;amp;divisa=EUR&amp;amp;roomcode=PREDBL&amp;amp;rateplan=NHR_SD1&amp;amp;regimen=14&amp;amp;utm_medium=metasearch&amp;amp;utm_source=google&amp;amp;utm_campaign=metasearch_google-hpa&amp;amp;utm_term=german-de_generic_customlink&amp;amp;utm_content=115730185&amp;amp;campid=8565112&amp;amp;gclsrc=ha&amp;amp;gclid=AA80OswcAaxezxCuONuFQz09JWuG1FXnUuhA5p5rKxFb7IEwUDd3Uz2T93Rk2JvDIZz-PMYo63aIskNT5UxBABWxEzyq3-oEHiksueI#v=compact NH-Hotel]&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
=== Points of contact ===&lt;br /&gt;
* Peter Löwe (DIW Head of Research Infrastucture) @: ploewe AT diw DOT de phone: ++49-(0)30-897-89-222&lt;br /&gt;
* Olga Zhylenko (DIW Team Assistant): @: ozhylenko AT diw DOT de phone: ++49-(0)30-897-89-470&lt;br /&gt;
* DIW Front Desk: +49-(0)-897-89-0&lt;br /&gt;
&lt;br /&gt;
==== Address ====&lt;br /&gt;
DIW Berlin, Mohrenstrasse 58, 10117 Berlin ([https://www.openstreetmap.org/node/358106189 OSM Map])&lt;br /&gt;
&lt;br /&gt;
==== Public transport  ====&lt;br /&gt;
&lt;br /&gt;
See: https://fahrinfo.bvg.de/barrierefrei/bin/query.bin/en&lt;br /&gt;
&lt;br /&gt;
===== Subway / U-Bahn =====&lt;br /&gt;
* stations &amp;quot;Mohrenstraße&amp;quot;, &amp;quot;Stadtmitte&amp;quot; or &amp;quot;Französische Straße&amp;quot; (all are located within the central zone &amp;quot;A&amp;quot; of the Berlin public transport system.)&lt;br /&gt;
&lt;br /&gt;
* [https://www.berlin.de/en/public-transportation/1772016-2913840-tickets-fares-and-route-maps.en.html Berlin public transport 101: Fares, zones, day-tickets, etc.]&lt;br /&gt;
&lt;br /&gt;
===== Light rail / S-Bahn =====&lt;br /&gt;
* Friedrichstraße station (10mins walk from there)&lt;br /&gt;
&lt;br /&gt;
==== Rooms &amp;amp; hours ====&lt;br /&gt;
&lt;br /&gt;
* Friday, May 17: (room 5.2.008, 5th floor): 9:30 - 17:00&lt;br /&gt;
* Saturday, May 18 (Conference room 3.3.002C, 3rd floor): 10:00 - 17:00&lt;br /&gt;
* Sunday, May 19 (Conference room 3.3.002C, 3rd floor): 10:00 - 17:00&lt;br /&gt;
* Monday, May 20(Conference room 3.3.002C, 3rd floor): 9:30 - 17:00&lt;br /&gt;
&lt;br /&gt;
==== Dangers &amp;amp; Annoyances ====&lt;br /&gt;
* [http://www.exberliner.com/locations/dussmann-das-kulturkaufhaus/ Dussmann bookshop]: A very dangerous place in walking distance from DIW on Friedrichstrasse: Extremely well-stocked multi-level store for books, comics, music (including rare vinyl), and other geek supplies which stays open till midnight with extremely knowledgeable and friendly staff. Visiting the place WILL result in a massive loss of developer time and POSSIBLY excessive personal overspending on rare books, records or tv-series related t-shirts. You. Have. Been. Warned.   &lt;br /&gt;
&lt;br /&gt;
* [http://www.augustiner-braeu-berlin.de/ Augustiner (Bavarian Restaurant)]: Bavarian restaurant in walking distance on Gendarmenmarkt square. Serves authentic beer from Munich (Augustinerbräu). Possible danger/annoynace: The oversized bbq'd pork knuckles (plus a drink or two) can send developers to sleep early, wasting development time.&lt;br /&gt;
&lt;br /&gt;
* [https://www.maximilians-berlin.de/ Maximilians bavarian restaurant]: Another bavarian-themed restaurant, a bit more on the generic touristy side than Augustiner Bräu, but also closer to DIW, featuring lunch time specials during the working week.&lt;br /&gt;
&lt;br /&gt;
== Recreation and cultural events ==&lt;br /&gt;
* [http://www.exberliner.com/ ExBerliner: English online-magazine on upcoming events, etc.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Tasks ==&lt;br /&gt;
=== Pre-event tasks ===&lt;br /&gt;
&lt;br /&gt;
==== Remaining tasks ====&lt;br /&gt;
&lt;br /&gt;
* Plan/order catering&lt;br /&gt;
* Discuss swag (t-shirts ? mugs ?)&lt;br /&gt;
* Discuss BBQ event or similar for saturday night&lt;br /&gt;
* consider whatsapp(or similar) channel for last minute communication&lt;br /&gt;
* consider side events: &lt;br /&gt;
** [https://sdtb.de/museum-of-technology/623/ Museum of Technology](they have an ancient Zuse computer on display)&lt;br /&gt;
** [http://www.computerspielemuseum.de/1210_Home.htm Video game museum]&lt;br /&gt;
** Group picture at the Brandenburg Gate ?&lt;br /&gt;
** Fancy dinner (or breakfast!) at the [https://tv-turm.de/en/bar-restaurant/ revolving restaurant] up on the tv tower ? (Sponsors???)&lt;br /&gt;
&lt;br /&gt;
==== Completed tasks ====&lt;br /&gt;
* {{done}}: Reserve rooms at DIW for 21 - 22 May&lt;br /&gt;
* {{done}}: Rooms at DIW have been reserved for May 18-21 and May 23 (May 18 + 21: office room(s); May 19/20/23: meeting room)&lt;br /&gt;
* {{done}}: provide information about the venue and how to get there&lt;br /&gt;
* {{done}}: Provide information about public transport&lt;br /&gt;
* {{done}}: Provide information about what's up in Berlin&lt;br /&gt;
* {{done}}: Provide information about restaurants&lt;br /&gt;
* {{done}}: Provide contact details for DIW stakeholders&lt;br /&gt;
* {{done}}:  Provide information about lodging options (hotels, backpackers, etc)&lt;br /&gt;
* {{done}}: @DIW-IT: Prepare WLAN-access tix.&lt;br /&gt;
&lt;br /&gt;
=== Via IRC chat ===&lt;br /&gt;
&lt;br /&gt;
(IRC is a nice archaic chat system, see [[IRC]])&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|width=50px|'''No'''&lt;br /&gt;
|width=130px|'''Participant '''&lt;br /&gt;
|width=100px|'''Country'''&lt;br /&gt;
|'''Note'''&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;
=== Via video-call ===&lt;br /&gt;
&lt;br /&gt;
We can use Hangouts, Zoom, Jitsi or Skype... Plenty of options!&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|width=50px|'''No'''&lt;br /&gt;
|width=130px|'''Participant '''&lt;br /&gt;
|width=100px|'''Country'''&lt;br /&gt;
|'''Note'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|Vero Andreo&lt;br /&gt;
|Argentina&lt;br /&gt;
|Available on Sat and Sun&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring [http://en.wikipedia.org/wiki/Mains_electricity_by_country your power connector adapter] if needed (photo: [https://en.wikipedia.org/wiki/File:Schuko_plug_and_socket.png Germany]). See also http://www.power-plugs-sockets.com/&lt;br /&gt;
* Install subversion, '''git''', and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
== Reports ==&lt;br /&gt;
&lt;br /&gt;
See [[Talk:GRASS_Community_Sprint_Berlin_2019]]&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact Martin Landa &amp;lt;tt&amp;gt;landa.martin gmail.com&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;br /&gt;
[[Category: Code Sprint]]&lt;br /&gt;
[[Category: 2019]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Genova_2013&amp;diff=17586</id>
		<title>GRASS Community Sprint Genova 2013</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Genova_2013&amp;diff=17586"/>
		<updated>2013-01-26T18:06:28Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* In person */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The GRASS GIS team will organize a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' from '''2-7 Feb, 2013'''. The sprint is at the same time of the [http://geomorfolab.arch.unige.it/genova2013/index.php?lang=en XIV Meeting degli Utenti Italiani Grass e Gfoss], 6-9 Feb 2013, University of Genova, Dipartimento di Scienze per l'Architettura della Scuola Politecnica, [http://en.wikipedia.org/wiki/Genoa Genova], [http://en.wikipedia.org/wiki/Italy Italy].&lt;br /&gt;
[[Image:community_sprint_genova2013.png|center|640px|thumb|Thanks to '''Sonia Bertolone''' for the logo]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
Our logo &amp;amp;mdash; In the left of the GRASS Logo the [http://en.wikipedia.org/wiki/Lighthouse_of_Genoa Lanterna], in the right the [http://en.wikipedia.org/wiki/Mortar_and_pestle ''murtà''] to prepare [http://en.wikipedia.org/wiki/Pesto ''pestu'']&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
This next edition of the GRASS GIS community sprint 2013 is a great occasion for folks to support the development by actively contributing to the source code, manuals or likewise. The '''community''' sprint is a get-together for GRASS project members and supporters and related [http://www.osgeo.org/ OSGeo] projects to make decisions and tackle larger problems. For this meeting, we welcome people committed to improving the GRASS GIS project and the interfaces to [[QGIS GRASS Cookbook|QGIS]], [[GDAL]], [[PostGIS]], [[R statistics]], [[GRASS and Sextante|Sextante, gvSIG]], OGC Services (esp. [[WPS]]) and more. This includes developers, documenters, bug reporters, translators and others.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS and related projects. This includes developers, document writers, wish and bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
We welcome '''financial contributions''' to support the meeting and we are looking for '''sponsors''' to cover costs such as meals or to help reducing travelling and accommodation expenses for GRASS developers with far arrival. If you are interested to sponsor the GRASS Community Sprint, please read about&lt;br /&gt;
&lt;br /&gt;
:::'''sponsoring the GRASS project at [http://grass.osgeo.org/donations/ http://grass.osgeo.org/donations/]'''&lt;br /&gt;
&lt;br /&gt;
For questions, please contact [[User:Lucadelu|Luca Delucchi]] &amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
The third GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
=== Thanks to our sponsors ===&lt;br /&gt;
&lt;br /&gt;
* Anonymous donor - 100 euro&lt;br /&gt;
* [http://www.r3-gis.com/ R3 GIS], Merano, Italy - 300 euro&lt;br /&gt;
* [http://www.intevation.de Intevation Gmbh], Osnabrück, Germany - 100 euro&lt;br /&gt;
* Flavio Rigolon - 30 euro&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
&lt;br /&gt;
'''When''': 2-7 Feb, 2013&lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''': 6 days&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
For the 2nd and 3rd of February we are hosted by the [http://www.alid.it ALID association] at Circolo Zenzero in [http://osm.org/go/xX0m6qo~B-- Via Torti 35, Genova] (in Italy universities are closed during weekends).&lt;br /&gt;
&lt;br /&gt;
From 4th to 7th at University of Genova, Dipartimento di Scienze per l'Architettura della Scuola Politecnica, Genova, Italy.&lt;br /&gt;
&lt;br /&gt;
'''[http://geomorfolab.arch.unige.it/ Geomorfolab]''',&lt;br /&gt;
Dipartimento di Scienze per l'Architettura,&lt;br /&gt;
Scuola Politecnica - Università degli Studi di Genova,&lt;br /&gt;
[http://osm.org/go/xX0ml6cj7-- Stradone S. Agostino 37, 16128 Genova]&lt;br /&gt;
&lt;br /&gt;
Rooms: TBD&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
* Bed and breakfast (few rooms) - close to venue (please contact [[User:Lucadelu|Luca Delucchi]] &amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* New youth hostel, http://www.manenahostel.it/ - close to venue (please contact [[User:Lucadelu|Luca Delucchi]] &amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;)&lt;br /&gt;
* List of [http://geomorfolab.arch.unige.it/genova2013/index.php?option=com_content&amp;amp;view=article&amp;amp;id=42&amp;amp;Itemid=18 Site of XIV Meeting degli utenti italiani GRASS e GFOSS]&lt;br /&gt;
&lt;br /&gt;
== Weather and Common Item Prices ==&lt;br /&gt;
&lt;br /&gt;
== Agenda == &lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
==== Saturday, 2 Feb ====&lt;br /&gt;
* Kick-off in the [http://www.alid.it ALID association] at Circolo Zenzero in [http://osm.org/go/xX0m6qo~B-- Via Torti 35, Genova]&lt;br /&gt;
* Participants presentation&lt;br /&gt;
* Dinner: at Circolo Zenzero&lt;br /&gt;
&lt;br /&gt;
==== Sunday, 3 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting again in the at Circolo Zenzero&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
* Dinner: at Circolo Zenzero&lt;br /&gt;
&lt;br /&gt;
==== Monday, 4 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting at University of Genova, Dipartimento di Scienze per l'Architettura della Scuola Politecnica, Genova, Italy at the '''[http://geomorfolab.arch.unige.it/ Geomorfolab]''', [http://osm.org/go/xX0ml6cj7-- Stradone S. Agostino 37, 16128 Genova]&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
==== Tuesday, 5 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting again at University of Genova, Geomorfolab&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
==== Wednesday, 6 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting again at University of Genova, Geomorfolab&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
* Group photo!!&lt;br /&gt;
* Prepare press release&lt;br /&gt;
&lt;br /&gt;
==== Thursday, 7 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting again at University of Genova, Geomorfolab&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
* Prepare short presentations for Friday at the Italian GFOSS meeting&lt;br /&gt;
* Finish and publish press release&lt;br /&gt;
&lt;br /&gt;
Closing of community sprint&lt;br /&gt;
&lt;br /&gt;
==== Friday, 8 Feb ====&lt;br /&gt;
* Two hours of time for '''presenting Community Sprint results''' at Italian GFOSS meeting ([http://geomorfolab.arch.unige.it/genova2013/index.php?option=com_content&amp;amp;view=article&amp;amp;id=29&amp;amp;Itemid=21&amp;amp;lang=en venue])&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
=== In person ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topic'''&lt;br /&gt;
!width=75px|'''T-Shirt'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 2&lt;br /&gt;
| Feb 10&lt;br /&gt;
|&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| M + S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Madi|Margherita Di Leo]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:pcav|Paolo Cavallini]]&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 6&lt;br /&gt;
| Feb 9&lt;br /&gt;
|&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:lcasagrande|Luca Casagrande]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| GRASS Tutorial with Open Data from Italy&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:Annakrat|Anna Kratochvilova]]&lt;br /&gt;
|Czech Republic&lt;br /&gt;
| Feb 1&lt;br /&gt;
| Feb 8&lt;br /&gt;
|&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|Czech Republic&lt;br /&gt;
| Feb 1&lt;br /&gt;
| Feb 8&lt;br /&gt;
|&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|[[User:pietro|Pietro Zambelli]]&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 2&lt;br /&gt;
| Feb 9 &lt;br /&gt;
| Python and Pygrass workshops&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
|Czech Republic&lt;br /&gt;
| Feb 2&lt;br /&gt;
| Feb 10&lt;br /&gt;
| [[wxGUI]], vector architecture, GRASS 7 development&lt;br /&gt;
| L&lt;br /&gt;
| Probably unable to come :-(&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|[[User:Maxi|Massimiliano Cannata]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|[[User:NikosA|Nikos Alexandris]]&lt;br /&gt;
|Greece&lt;br /&gt;
| Feb 1&lt;br /&gt;
| Feb 10&lt;br /&gt;
| GRASS-wiki, (re-)working on the idea for a practical &amp;amp; visual guide to GRASS-GIS, testing all landsat related (core + addons) modules&lt;br /&gt;
| M&lt;br /&gt;
| Will be there with Nikos Ves!&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 5&lt;br /&gt;
| Feb 8&lt;br /&gt;
| fix v.krige, examine i.atcorr problems with RapidEye&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|[[User:vesnikos|Ves Nikos]]&lt;br /&gt;
|Greece&lt;br /&gt;
| Feb 1&lt;br /&gt;
| Feb 10&lt;br /&gt;
| &lt;br /&gt;
| L&lt;br /&gt;
| Will be there with Nikos Alexandris&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|[[User:ychemin|Yann Chemin]]&lt;br /&gt;
|Sri Lanka&lt;br /&gt;
| Feb 3&lt;br /&gt;
| Feb 10&lt;br /&gt;
| Remote Sensing, raster/image processing, will help with Landsat and i.atcorr, i.ortho.photo Block/Bundle.&lt;br /&gt;
| XXXLL&lt;br /&gt;
| 100% confirmed trip&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|[[User:mmetz|Markus Metz]]&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 2&lt;br /&gt;
| Feb 8&lt;br /&gt;
| GRASS 7 vector processing, hydrology, orthorectification.&lt;br /&gt;
| L&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|[[User:Annazanchetta|Anna Zanchetta]]&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 5?&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| S&lt;br /&gt;
| Hopefully will be there on the 5th&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|[[User:robertomarzocchi|Roberto Marzocchi]]&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 4?&lt;br /&gt;
| &lt;br /&gt;
| adjust the G-Pastro modules&lt;br /&gt;
| M&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Stefano 'chiui' Cavallari&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 5&lt;br /&gt;
| Feb 8&lt;br /&gt;
| random Python stuff&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Via IRC chat ===&lt;br /&gt;
&lt;br /&gt;
: [irc://freenode/grass #grass] on Freenode&lt;br /&gt;
&lt;br /&gt;
For details, see [[IRC]]&lt;br /&gt;
&lt;br /&gt;
=== Collaborative document scratching ===&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring [http://en.wikipedia.org/wiki/Mains_electricity_by_country your power connector adapter] if needed ([http://en.wikipedia.org/wiki/File:L_plug.jpg Italy])&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Also during the event :)&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* '''How was it last time?'''&lt;br /&gt;
** Very cool, see [[GRASS Community Sprint Prague 2012]]!&lt;br /&gt;
&lt;br /&gt;
* '''Is the GRASS Community Sprint just a coding event?'''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand, however, we can do some presentations of current working GRASS implementations and new upcoming features to spread the idea of Open Source GIS software.&lt;br /&gt;
&lt;br /&gt;
* '''Is the GRASS Community Sprint for developers only?'''&lt;br /&gt;
** ''Not at all!'' Anybody can help with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
&lt;br /&gt;
* '''Where can I get help and more information about the community sprint?'''&lt;br /&gt;
** Contact [[User:Lucadelu|Luca Delucchi]] &amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail dot com&amp;gt;&amp;lt;/tt&amp;gt; or [[User:Neteler|Markus Neteler]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Genova_2013&amp;diff=17402</id>
		<title>GRASS Community Sprint Genova 2013</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Genova_2013&amp;diff=17402"/>
		<updated>2013-01-02T15:52:51Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* In person */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The GRASS GIS team will organize a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' from '''2-7 Feb, 2013'''. The sprint is at the same time of the [http://geomorfolab.arch.unige.it/genova2013/index.php?lang=en XIV Meeting degli Utenti Italiani Grass e Gfoss], 6-9 Feb 2013, University of Genova, Dipartimento di Scienze per l'Architettura della Scuola Politecnica, [http://en.wikipedia.org/wiki/Genoa Genova], [http://en.wikipedia.org/wiki/Italy Italy].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
This next edition of the GRASS GIS community sprint 2013 is a great occasion for folks to support the development by actively contributing to the source code, manuals or likewise. The '''community''' sprint is a get-together for GRASS project members and supporters and related [http://www.osgeo.org/ OSGeo] projects to make decisions and tackle larger problems. For this meeting, we welcome people committed to improving the GRASS GIS project and the interfaces to [[QGIS GRASS Cookbook|QGIS]], [[GDAL]], [[PostGIS]], [[R statistics]], [[GRASS and Sextante|Sextante, gvSIG]], OGC Services (esp. [[WPS]]) and more. This includes developers, documenters, bug reporters, translators and others.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS and related projects. This includes developers, document writers, wish and bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
We welcome '''financial contributions''' to support the meeting and we are looking for '''sponsors''' to cover costs such as meals or to help reducing travelling and accommodation expenses for GRASS developers with far arrival. If you are interested to sponsor the GRASS Community Sprint, please read about&lt;br /&gt;
&lt;br /&gt;
:::'''sponsoring the GRASS project at [http://grass.osgeo.org/donations/ http://grass.osgeo.org/donations/]'''&lt;br /&gt;
&lt;br /&gt;
For questions, please contact [[User:Neteler|Markus Neteler]] &amp;lt;tt&amp;gt;&amp;lt;neteler at osgeo.org&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
The third GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
&lt;br /&gt;
'''When''': 2-7 Feb, 2013&lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''': 6 days&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
&lt;br /&gt;
For the 2nd and 3rd of February we are hosted by the [http://www.alid.it ALID association] at Circolo Zenzero in [http://osm.org/go/xX0m6qo~B-- Via Torti 35, Genova] (in Italy universities are closed during weekends).&lt;br /&gt;
&lt;br /&gt;
From 4th to 7th at University of Genova, Dipartimento di Scienze per l'Architettura della Scuola Politecnica, Genova, Italy.&lt;br /&gt;
&lt;br /&gt;
'''[http://geomorfolab.arch.unige.it/ Geomorfolab]''',&lt;br /&gt;
Dipartimento di Scienze per l'Architettura,&lt;br /&gt;
Scuola Politecnica - Università degli Studi di Genova,&lt;br /&gt;
[http://osm.org/go/xX0ml6cj7-- Stradone S. Agostino 37, 16128 Genova]&lt;br /&gt;
&lt;br /&gt;
Rooms: TBD&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
* Bed and breakfast (in negotiation) - close to venue&lt;br /&gt;
* New youth hostel, http://www.manenahostel.it/ - close to venue&lt;br /&gt;
* List of [http://geomorfolab.arch.unige.it/genova2013/index.php?option=com_content&amp;amp;view=article&amp;amp;id=42&amp;amp;Itemid=18 Site of XIV Meeting degli utenti italiani GRASS e GFOSS]&lt;br /&gt;
* more to be added...&lt;br /&gt;
&lt;br /&gt;
== Weather and Common Item Prices ==&lt;br /&gt;
&lt;br /&gt;
== Agenda == &lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
==== Saturday, 2 Feb ====&lt;br /&gt;
* Kick-off in the [http://www.alid.it ALID association] at Circolo Zenzero in [http://osm.org/go/xX0m6qo~B-- Via Torti 35, Genova]&lt;br /&gt;
* Participants presentation&lt;br /&gt;
* Dinner: at Circolo Zenzero&lt;br /&gt;
&lt;br /&gt;
==== Sunday, 3 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting again in the at Circolo Zenzero&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
* Dinner: at Circolo Zenzero&lt;br /&gt;
&lt;br /&gt;
==== Monday, 4 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting at University of Genova, Dipartimento di Scienze per l'Architettura della Scuola Politecnica, Genova, Italy at the '''[http://geomorfolab.arch.unige.it/ Geomorfolab]''', [http://osm.org/go/xX0ml6cj7-- Stradone S. Agostino 37, 16128 Genova]&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
==== Tuesday, 5 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting again at University of Genova, Geomorfolab&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
&lt;br /&gt;
==== Wednesday, 6 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting again at University of Genova, Geomorfolab&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
* Group photo!!&lt;br /&gt;
* Prepare press release&lt;br /&gt;
&lt;br /&gt;
==== Thursday, 7 Feb ====&lt;br /&gt;
* 9:00-evening&lt;br /&gt;
* Meeting again at University of Genova, Geomorfolab&lt;br /&gt;
&lt;br /&gt;
List of topics:&lt;br /&gt;
* TBD&lt;br /&gt;
* Prepare short presentations for Friday at the Italian GFOSS meeting&lt;br /&gt;
* Finish and publish press release&lt;br /&gt;
&lt;br /&gt;
Closing of community sprint&lt;br /&gt;
&lt;br /&gt;
==== Friday, 8 Feb ====&lt;br /&gt;
* Two hours of time for '''presenting Community Sprint results''' at Italian GFOSS meeting ([http://geomorfolab.arch.unige.it/genova2013/index.php?option=com_content&amp;amp;view=article&amp;amp;id=29&amp;amp;Itemid=21&amp;amp;lang=en venue])&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
=== In person ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
!width=50px|'''Number'''&lt;br /&gt;
!width=130px|'''Participant '''&lt;br /&gt;
!width=100px|'''Country'''&lt;br /&gt;
!width=100px|'''Arrival'''&lt;br /&gt;
!width=100px|'''Departure'''&lt;br /&gt;
!'''Topic'''&lt;br /&gt;
!width=75px|'''T-Shirt'''&lt;br /&gt;
!'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|Italy&lt;br /&gt;
| Feb 2&lt;br /&gt;
| Feb 10&lt;br /&gt;
|&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| M + S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Madi|Margherita Di Leo]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:pcav|Paolo Cavallini]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:lcasagrande|Luca Casagrande]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| GRASS Tutorial with Open Data from Italy&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:Annakrat|Anna Kratochvilova]]&lt;br /&gt;
|Czech Republic&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|Czech Republic&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|[[User:pietro|Pietro Zambelli]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
|Czech Republic&lt;br /&gt;
| Feb 2&lt;br /&gt;
| Feb 10&lt;br /&gt;
| [[wxGUI]], vector architecture, GRASS 7 development&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|[[User:Maxi|Massimiliano Cannata]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|[[User:NikosA|Nikos Alexandris]]&lt;br /&gt;
|Greece&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| GRASS-wiki, (re-)working on the idea for a practical &amp;amp; visual guide to GRASS-GIS&lt;br /&gt;
| M&lt;br /&gt;
| Will try to be there!&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|Italy&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| fix v.krige, examine i.atcorr problems with RapidEye&lt;br /&gt;
| M&lt;br /&gt;
| Almost sure of participation&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Via IRC chat ===&lt;br /&gt;
&lt;br /&gt;
: [irc://freenode/grass #grass] on Freenode&lt;br /&gt;
&lt;br /&gt;
For details, see [[IRC]]&lt;br /&gt;
&lt;br /&gt;
=== Collaborative document scratching ===&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring [http://en.wikipedia.org/wiki/Mains_electricity_by_country your power connector adapter] if needed ([http://en.wikipedia.org/wiki/File:L_plug.jpg Italy])&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Photos ==&lt;br /&gt;
&lt;br /&gt;
Also during the event :)&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* How was it last time?&lt;br /&gt;
** Very cool, see [[GRASS Community Sprint Prague 2012]]!&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** Not at all: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact [[User:Lucadelu|Luca Delucchi]] &amp;lt;tt&amp;gt;&amp;lt;lucadeluge at gmail dot com&amp;gt;&amp;lt;/tt&amp;gt; or [[User:Neteler|Markus Neteler]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Earth_at_night&amp;diff=14044</id>
		<title>Earth at night</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Earth_at_night&amp;diff=14044"/>
		<updated>2011-09-15T12:51:36Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Import */ fixed map name according to link fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Import NASA's Night on Earth and Reproject in Polar Stereographic ==&lt;br /&gt;
&lt;br /&gt;
''This micro-tutorial requires GRASS 6.5''&lt;br /&gt;
&lt;br /&gt;
=== Get data ===&lt;br /&gt;
&lt;br /&gt;
Download&lt;br /&gt;
http://eoimages.gsfc.nasa.gov/ve/1438/land_ocean_ice_lights_2048.tif&lt;br /&gt;
from NASA's &lt;br /&gt;
[http://visibleearth.nasa.gov/view_set.php?categoryID=2363 Visible Earth] website.&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Create a WGS84 Lat/Lon location (EPSG # 4326)&lt;br /&gt;
&lt;br /&gt;
 # import into lat/lon, overriding projection check and&lt;br /&gt;
 # setting dummy region bounds which fit into geographic&lt;br /&gt;
 # space (the file is missing georeferencing metadata but&lt;br /&gt;
 # we do know exactly what it should be).&lt;br /&gt;
 &lt;br /&gt;
 r.in.gdal -o -l in=land_ocean_ice_lights_2048.tif out=land_ocean_ice_lights&lt;br /&gt;
 &lt;br /&gt;
 for BAND in red green blue ; do&lt;br /&gt;
   r.region map=land_ocean_ice_lights.$BAND n=90 s=-90 w=-180 e=180&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 g.region n=90 s=45 w=-180 e=180&lt;br /&gt;
 &lt;br /&gt;
 # create 15&amp;amp;deg; and 30&amp;amp;deg; grid line vectors&lt;br /&gt;
 v.mkgrid map=grid_15 box=15,15 grid=12,24 pos=coor coor=-180,-90 breaks=30&lt;br /&gt;
 v.mkgrid map=grid_30 box=30,30 grid=6,12 pos=coor coor=-180,-90 breaks=30&lt;br /&gt;
&lt;br /&gt;
=== Reproject North side ===&lt;br /&gt;
&lt;br /&gt;
* Create new location based on EPSG #3413&lt;br /&gt;
 # WGS 84 / NSIDC Sea Ice Polar Stereographic North&lt;br /&gt;
 &amp;lt;3413&amp;gt; +proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 \&lt;br /&gt;
        +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs  &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #### NORTHERN HEMISPHERE #################&lt;br /&gt;
 # pull in grids&lt;br /&gt;
 v.proj in=grid_15 location=world_ll&lt;br /&gt;
 v.proj in=grid_30 location=world_ll&lt;br /&gt;
 &lt;br /&gt;
 g.region n=10000000 s=-10000000 w=-10000000 e=10000000 res=5000 -p&lt;br /&gt;
 &lt;br /&gt;
 MAP=land_ocean_ice_lights&lt;br /&gt;
 &lt;br /&gt;
 for BAND in red green blue ; do&lt;br /&gt;
   echo &amp;quot;Processing [$BAND] ...&amp;quot;&lt;br /&gt;
   r.proj -n in=$MAP.$BAND location=world_ll \&lt;br /&gt;
      method=cubic_f memory=300&lt;br /&gt;
   r.mapcalc &amp;quot;${MAP}_$BAND = if($MAP.$BAND &amp;gt; 255, 255, if($MAP.$BAND &amp;lt; 0, 0, int($MAP.$BAND)))&amp;quot;&lt;br /&gt;
   g.remove &amp;quot;$MAP.$BAND&amp;quot;&lt;br /&gt;
   g.rename &amp;quot;${MAP}_$BAND,$MAP.$BAND&amp;quot;&lt;br /&gt;
   r.colors $MAP.$BAND color=grey255&lt;br /&gt;
   echo&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # draw&lt;br /&gt;
 d.erase&lt;br /&gt;
 d.rgb r=$MAP.red g=$MAP.green b=$MAP.blue&lt;br /&gt;
 d.vect grid_15 type=boundary color=80:40:40&lt;br /&gt;
 d.vect grid_30 type=boundary color=120:50:50&lt;br /&gt;
 &lt;br /&gt;
 # output &lt;br /&gt;
 d.out.file night_on_earth_N -c size=1000,1000 format=png&lt;br /&gt;
 d.out.file night_on_earth_N_small -c size=250,250 format=png&lt;br /&gt;
&lt;br /&gt;
=== Reproject South side ===&lt;br /&gt;
&lt;br /&gt;
* Create new location based on the inverse of EPSG #3413&lt;br /&gt;
 +proj       : stere&lt;br /&gt;
 +datum      : wgs84&lt;br /&gt;
 +lat_0      : -90&lt;br /&gt;
 +lat_ts     : -70&lt;br /&gt;
 +lon_0      : +135&lt;br /&gt;
 +k          : 1&lt;br /&gt;
&lt;br /&gt;
 #### SOUTHERN HEMISPHERE #################&lt;br /&gt;
 # pull in grids&lt;br /&gt;
 v.proj in=grid_15 location=world_ll&lt;br /&gt;
 v.proj in=grid_30 location=world_ll&lt;br /&gt;
 &lt;br /&gt;
 g.region n=10000000 s=-10000000 w=-10000000 e=10000000 res=5000 -p&lt;br /&gt;
 &lt;br /&gt;
 MAP=land_ocean_ice_lights&lt;br /&gt;
 &lt;br /&gt;
 for BAND in red green blue ; do&lt;br /&gt;
   echo &amp;quot;Processing [$BAND] ...&amp;quot;&lt;br /&gt;
   r.proj -n in=$MAP.$BAND location=world_ll \&lt;br /&gt;
      method=cubic_f memory=600&lt;br /&gt;
   r.mapcalc &amp;quot;${MAP}_$BAND = if($MAP.$BAND &amp;gt; 255, 255, if($MAP.$BAND &amp;lt; 0, 0, int($MAP.$BAND)))&amp;quot;&lt;br /&gt;
   g.remove &amp;quot;$MAP.$BAND&amp;quot;&lt;br /&gt;
   g.rename &amp;quot;${MAP}_$BAND,$MAP.$BAND&amp;quot;&lt;br /&gt;
   r.colors $MAP.$BAND color=grey255&lt;br /&gt;
   echo&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # remove stray NULLs&lt;br /&gt;
 for BAND in  green blue ; do&lt;br /&gt;
   echo &amp;quot;Processing [$BAND] ...&amp;quot;&lt;br /&gt;
   g.rename &amp;quot;$MAP.$BAND,$MAP.$BAND.tmp1&amp;quot;&lt;br /&gt;
   r.neighbors in=&amp;quot;$MAP.$BAND.tmp1&amp;quot; out=&amp;quot;$MAP.$BAND.tmp2&amp;quot;&lt;br /&gt;
   r.patch in=&amp;quot;$MAP.$BAND.tmp1,$MAP.$BAND.tmp2&amp;quot; out=&amp;quot;$MAP.$BAND&amp;quot;&lt;br /&gt;
   g.remove &amp;quot;$MAP.$BAND.tmp1,$MAP.$BAND.tmp2&amp;quot;&lt;br /&gt;
   echo&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # draw&lt;br /&gt;
 d.erase&lt;br /&gt;
 d.rgb r=$MAP.red g=$MAP.green b=$MAP.blue&lt;br /&gt;
 d.vect grid_15 type=boundary color=80:40:40&lt;br /&gt;
 d.vect grid_30 type=boundary color=120:50:50&lt;br /&gt;
 &lt;br /&gt;
 # output&lt;br /&gt;
 d.out.file night_on_earth_S -c size=1000,1000 format=png&lt;br /&gt;
 d.out.file night_on_earth_S_small -c size=250,250 format=png&lt;br /&gt;
&lt;br /&gt;
=== Result ===&lt;br /&gt;
&lt;br /&gt;
* {{website|screenshots/images/night_on_earth_N.png|Northern Hemisphere}}&lt;br /&gt;
* {{website|screenshots/images/night_on_earth_S.png|Southern Hemisphere}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Documentation]]&lt;br /&gt;
[[Category: Tutorial]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Earth_at_night&amp;diff=14043</id>
		<title>Earth at night</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Earth_at_night&amp;diff=14043"/>
		<updated>2011-09-15T12:50:06Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Get data */ fixed broken link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Import NASA's Night on Earth and Reproject in Polar Stereographic ==&lt;br /&gt;
&lt;br /&gt;
''This micro-tutorial requires GRASS 6.5''&lt;br /&gt;
&lt;br /&gt;
=== Get data ===&lt;br /&gt;
&lt;br /&gt;
Download&lt;br /&gt;
http://eoimages.gsfc.nasa.gov/ve/1438/land_ocean_ice_lights_2048.tif&lt;br /&gt;
from NASA's &lt;br /&gt;
[http://visibleearth.nasa.gov/view_set.php?categoryID=2363 Visible Earth] website.&lt;br /&gt;
&lt;br /&gt;
=== Import ===&lt;br /&gt;
* Create a WGS84 Lat/Lon location (EPSG # 4326)&lt;br /&gt;
&lt;br /&gt;
 # import into lat/lon, overriding projection check and&lt;br /&gt;
 # setting dummy region bounds which fit into geographic&lt;br /&gt;
 # space (the file is missing georeferencing metadata but&lt;br /&gt;
 # we do know exactly what it should be).&lt;br /&gt;
 &lt;br /&gt;
 r.in.gdal -o -l in=land_ocean_ice_lights_8192.tif out=land_ocean_ice_lights&lt;br /&gt;
 &lt;br /&gt;
 for BAND in red green blue ; do&lt;br /&gt;
   r.region map=land_ocean_ice_lights.$BAND n=90 s=-90 w=-180 e=180&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 g.region n=90 s=45 w=-180 e=180&lt;br /&gt;
 &lt;br /&gt;
 # create 15&amp;amp;deg; and 30&amp;amp;deg; grid line vectors&lt;br /&gt;
 v.mkgrid map=grid_15 box=15,15 grid=12,24 pos=coor coor=-180,-90 breaks=30&lt;br /&gt;
 v.mkgrid map=grid_30 box=30,30 grid=6,12 pos=coor coor=-180,-90 breaks=30&lt;br /&gt;
&lt;br /&gt;
=== Reproject North side ===&lt;br /&gt;
&lt;br /&gt;
* Create new location based on EPSG #3413&lt;br /&gt;
 # WGS 84 / NSIDC Sea Ice Polar Stereographic North&lt;br /&gt;
 &amp;lt;3413&amp;gt; +proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 \&lt;br /&gt;
        +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs  &amp;lt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #### NORTHERN HEMISPHERE #################&lt;br /&gt;
 # pull in grids&lt;br /&gt;
 v.proj in=grid_15 location=world_ll&lt;br /&gt;
 v.proj in=grid_30 location=world_ll&lt;br /&gt;
 &lt;br /&gt;
 g.region n=10000000 s=-10000000 w=-10000000 e=10000000 res=5000 -p&lt;br /&gt;
 &lt;br /&gt;
 MAP=land_ocean_ice_lights&lt;br /&gt;
 &lt;br /&gt;
 for BAND in red green blue ; do&lt;br /&gt;
   echo &amp;quot;Processing [$BAND] ...&amp;quot;&lt;br /&gt;
   r.proj -n in=$MAP.$BAND location=world_ll \&lt;br /&gt;
      method=cubic_f memory=300&lt;br /&gt;
   r.mapcalc &amp;quot;${MAP}_$BAND = if($MAP.$BAND &amp;gt; 255, 255, if($MAP.$BAND &amp;lt; 0, 0, int($MAP.$BAND)))&amp;quot;&lt;br /&gt;
   g.remove &amp;quot;$MAP.$BAND&amp;quot;&lt;br /&gt;
   g.rename &amp;quot;${MAP}_$BAND,$MAP.$BAND&amp;quot;&lt;br /&gt;
   r.colors $MAP.$BAND color=grey255&lt;br /&gt;
   echo&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # draw&lt;br /&gt;
 d.erase&lt;br /&gt;
 d.rgb r=$MAP.red g=$MAP.green b=$MAP.blue&lt;br /&gt;
 d.vect grid_15 type=boundary color=80:40:40&lt;br /&gt;
 d.vect grid_30 type=boundary color=120:50:50&lt;br /&gt;
 &lt;br /&gt;
 # output &lt;br /&gt;
 d.out.file night_on_earth_N -c size=1000,1000 format=png&lt;br /&gt;
 d.out.file night_on_earth_N_small -c size=250,250 format=png&lt;br /&gt;
&lt;br /&gt;
=== Reproject South side ===&lt;br /&gt;
&lt;br /&gt;
* Create new location based on the inverse of EPSG #3413&lt;br /&gt;
 +proj       : stere&lt;br /&gt;
 +datum      : wgs84&lt;br /&gt;
 +lat_0      : -90&lt;br /&gt;
 +lat_ts     : -70&lt;br /&gt;
 +lon_0      : +135&lt;br /&gt;
 +k          : 1&lt;br /&gt;
&lt;br /&gt;
 #### SOUTHERN HEMISPHERE #################&lt;br /&gt;
 # pull in grids&lt;br /&gt;
 v.proj in=grid_15 location=world_ll&lt;br /&gt;
 v.proj in=grid_30 location=world_ll&lt;br /&gt;
 &lt;br /&gt;
 g.region n=10000000 s=-10000000 w=-10000000 e=10000000 res=5000 -p&lt;br /&gt;
 &lt;br /&gt;
 MAP=land_ocean_ice_lights&lt;br /&gt;
 &lt;br /&gt;
 for BAND in red green blue ; do&lt;br /&gt;
   echo &amp;quot;Processing [$BAND] ...&amp;quot;&lt;br /&gt;
   r.proj -n in=$MAP.$BAND location=world_ll \&lt;br /&gt;
      method=cubic_f memory=600&lt;br /&gt;
   r.mapcalc &amp;quot;${MAP}_$BAND = if($MAP.$BAND &amp;gt; 255, 255, if($MAP.$BAND &amp;lt; 0, 0, int($MAP.$BAND)))&amp;quot;&lt;br /&gt;
   g.remove &amp;quot;$MAP.$BAND&amp;quot;&lt;br /&gt;
   g.rename &amp;quot;${MAP}_$BAND,$MAP.$BAND&amp;quot;&lt;br /&gt;
   r.colors $MAP.$BAND color=grey255&lt;br /&gt;
   echo&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # remove stray NULLs&lt;br /&gt;
 for BAND in  green blue ; do&lt;br /&gt;
   echo &amp;quot;Processing [$BAND] ...&amp;quot;&lt;br /&gt;
   g.rename &amp;quot;$MAP.$BAND,$MAP.$BAND.tmp1&amp;quot;&lt;br /&gt;
   r.neighbors in=&amp;quot;$MAP.$BAND.tmp1&amp;quot; out=&amp;quot;$MAP.$BAND.tmp2&amp;quot;&lt;br /&gt;
   r.patch in=&amp;quot;$MAP.$BAND.tmp1,$MAP.$BAND.tmp2&amp;quot; out=&amp;quot;$MAP.$BAND&amp;quot;&lt;br /&gt;
   g.remove &amp;quot;$MAP.$BAND.tmp1,$MAP.$BAND.tmp2&amp;quot;&lt;br /&gt;
   echo&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # draw&lt;br /&gt;
 d.erase&lt;br /&gt;
 d.rgb r=$MAP.red g=$MAP.green b=$MAP.blue&lt;br /&gt;
 d.vect grid_15 type=boundary color=80:40:40&lt;br /&gt;
 d.vect grid_30 type=boundary color=120:50:50&lt;br /&gt;
 &lt;br /&gt;
 # output&lt;br /&gt;
 d.out.file night_on_earth_S -c size=1000,1000 format=png&lt;br /&gt;
 d.out.file night_on_earth_S_small -c size=250,250 format=png&lt;br /&gt;
&lt;br /&gt;
=== Result ===&lt;br /&gt;
&lt;br /&gt;
* {{website|screenshots/images/night_on_earth_N.png|Northern Hemisphere}}&lt;br /&gt;
* {{website|screenshots/images/night_on_earth_S.png|Southern Hemisphere}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Documentation]]&lt;br /&gt;
[[Category: Tutorial]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Test_Suite&amp;diff=13794</id>
		<title>Test Suite</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Test_Suite&amp;diff=13794"/>
		<updated>2011-07-07T12:44:11Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Timeline and status */ small table with progress so far&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= GRASS Test Suite =&lt;br /&gt;
&lt;br /&gt;
We aim at creating a comprehensive test suite for GRASS modules and libraries.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
See what has been done so far by Sören Gebbert and others here: [[Development#QA]] and the good [[http://www.vtk.org/Wiki/images/b/bc/Testing.cover.txt | VKT test suite]]&lt;br /&gt;
&lt;br /&gt;
Keep an eye on [[GRASS_7_ideas_collection#Complete_GRASS_Test_Suite:_see_activity_on_Test_Suite_development_page | GRASS 7 ideas collection]]&lt;br /&gt;
&lt;br /&gt;
== Main picture ==&lt;br /&gt;
&lt;br /&gt;
We plan to run unittests and integration tests for both libraries and modules. The test suite will be run after compilation, with a command like:&lt;br /&gt;
&lt;br /&gt;
  $ make tests [ proj ]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* proj: run the tests with a [list of] CRS, so that reprojection and map unit handling are tested.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Tests are executed recursively. If the &amp;quot;make tests&amp;quot; command is executed in the root source folder all libraries and modules are tested. To test only the libraries you need to switch in the '''lib''' directory and execute &amp;quot;make tests&amp;quot;. If you want to test only raster modules switch into the '''raster''' directory and run &amp;quot;make tests&amp;quot;, same for other modules directories. To test a single module switch into the module directory and run &amp;quot;make tests&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Testing should work in parallel, so that make -j6 tests will execute as maximum 6 tests in parallel. The framework should take care that parallel testing test runs can be performed.&lt;br /&gt;
&lt;br /&gt;
== Tests == &lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
Tests are targeted to cover all modules as well as library test modules.&lt;br /&gt;
&lt;br /&gt;
The modules tests should as independent as possible from other GRASS modules.&lt;br /&gt;
&lt;br /&gt;
Tests are written as simple shell script with annotations. Test script should start with '''test.''' followed by the module name i.e. '''r.mapcalc.''' and further ending with '''.sh'''. Example '''test.r.mapcalc.1.sh'''. All test should be well documented using shell comments.&lt;br /&gt;
&lt;br /&gt;
The framework will execute all test scripts starting with '''test.''' and ending with '''.sh''' located in module or library directories.&lt;br /&gt;
&lt;br /&gt;
Annotations are integrated in the test documentation (simple shell comments) and specify pre-processing steps, the tests and the type of the data to validate. The following annotations should be supported:&lt;br /&gt;
&lt;br /&gt;
* The '''@preprocess''' annotation&lt;br /&gt;
** All commands below this annotation are handled as preprocessing steps for the tests. &lt;br /&gt;
** If any of the preprocess commands fail, the framework should stop testing an create a detailed error report. &lt;br /&gt;
** Preprocessing steps may be data generation, region settings and so on.&lt;br /&gt;
** The preprocess annotation is valid till a '''@test''' annotation specifies the begin of a test&lt;br /&gt;
** Preprocess annotations can be specified at between tests&lt;br /&gt;
* The '''@test''' annotation&lt;br /&gt;
** All command below a this annotation are handled as tests by the framework&lt;br /&gt;
** The test annotation must be integrated in the comment block which describes the test&lt;br /&gt;
** Data validation is performed by the framework for tests if reference data is present&lt;br /&gt;
** The test annotation is valid till a '''@preprocess''' annotation specifies the begin of a preprocess block for further test runs&lt;br /&gt;
** The data type annotations&lt;br /&gt;
*** Data type annotations should be specified in the same comment block as the '''@test''' annotation&lt;br /&gt;
*** Data type annotations specify the grass data types which should be validated with reference data&lt;br /&gt;
*** The following data type annotations should be specified&lt;br /&gt;
**** '''@file''' the framework should compare the reference data with files&lt;br /&gt;
**** '''@raster''' the framework should compare the reference data with raster maps using r.out.ascii for export&lt;br /&gt;
**** '''@vector''' the framework should compare the reference data with vector maps using v.out.ascii for export&lt;br /&gt;
**** '''@raster3d''' the framework should compare the reference data with raster3d maps using r3.out.ascii for export&lt;br /&gt;
**** '''@color''' the framework should compare the reference data with color rules using r.color.out for export&lt;br /&gt;
**** '''@color3d''' the framework should compare the reference data with 3d color rules using r3.color.out for export&lt;br /&gt;
**** '''@table''' the framework should compare the reference data with SQL tables  using db.select for export&lt;br /&gt;
**** ... please add more&lt;br /&gt;
** The '''@precision=[positive integer]''' annotation&lt;br /&gt;
*** Should be located in a test comment block&lt;br /&gt;
*** Specifies the precision to use to export grass data for validation with reference files&lt;br /&gt;
*** In case the precision is not provided the default behavior of the export module is used&lt;br /&gt;
&lt;br /&gt;
Reference data for validation must be located in the module/library reference directory. The reference data names must be identical with the generated data (files, maps, ...) except that reference data always has a '''.ref''' suffix.  &lt;br /&gt;
&lt;br /&gt;
Tests are in each module's and in each library's folder. To test library functions special modules must be implemented. Library test modules test the library functions directly and should be written in C. Have a look at the test directories in the g3d, gpde and gmath libraries of grass7.&lt;br /&gt;
&lt;br /&gt;
Framework should be able to generate and compare grass data types: raster, vector, raster3d, general, db, icon, imagery, d.*?&lt;br /&gt;
&lt;br /&gt;
wxGUI testing should be tested separately.&lt;br /&gt;
&lt;br /&gt;
Automated tests on server generates HTML report. Test several platforms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here some examples already available in grass7:&lt;br /&gt;
&lt;br /&gt;
=== test.v.random.sh ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# This is a simple test for v.random&lt;br /&gt;
# We create several identical pseudo random points maps :)&lt;br /&gt;
# using the seed option for rand and drand48&lt;br /&gt;
&lt;br /&gt;
# In the @preprocess step we set up a suitable region&lt;br /&gt;
g.region n=80 s=0 w=0 e=120 res=10 -p&lt;br /&gt;
&lt;br /&gt;
# First @test the rand function. Create a 3d vector map with attribute table&lt;br /&gt;
# The validation is based on @vector map with a @precision=3&lt;br /&gt;
v.random --o -z output=test_random_vect_1 n=20 zmin=0 zmax=100 seed=501&lt;br /&gt;
# Now the attribute @table should be validated. Booth maps are identical&lt;br /&gt;
v.random --o -z output=test_random_vect_2 n=20 zmin=0 zmax=100 column=height seed=501&lt;br /&gt;
&lt;br /&gt;
# Second @test the drand48 function. Create a 3d vector map with attribute table&lt;br /&gt;
# The validation is based on @vector map with a @precision=3&lt;br /&gt;
v.random --o -zd output=test_random_vect_3 n=20 zmin=0 zmax=100 seed=501&lt;br /&gt;
# Now the attribute @table should be validated. Booth maps are identical&lt;br /&gt;
v.random --o -zd output=test_random_vect_4 n=20 zmin=0 zmax=100 column=height seed=501&lt;br /&gt;
&lt;br /&gt;
# Export the generated data as references&lt;br /&gt;
# v.out.ascii --o format=point dp=3 input=test_random_vect_1 output=test_random_vect_1.ref&lt;br /&gt;
# db.select &amp;quot;select * from test_random_vect_2&amp;quot; &amp;gt; test_random_vect_2.ref&lt;br /&gt;
# v.out.ascii --o format=point dp=3 input=test_random_vect_3 output=test_random_vect_3.ref&lt;br /&gt;
# db.select &amp;quot;select * from test_random_vect_4&amp;quot; &amp;gt; test_random_vect_4.ref&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following reference files are located in the v.random directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-r--r--  1 soeren users  460 18. Jun 01:20 test_random_vect_1.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  257 18. Jun 01:20 test_random_vect_2.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  455 18. Jun 01:20 test_random_vect_3.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  256 18. Jun 01:20 test_random_vect_4.ref&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== test.r3.out.vtk.sh ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# This script tests the export of voxel data&lt;br /&gt;
# into the VTK format. Almost all options of&lt;br /&gt;
# r3.out.vtk are tested. Validation data for each test&lt;br /&gt;
# is located in the module source directory&lt;br /&gt;
&lt;br /&gt;
# We need to set a specific region in the&lt;br /&gt;
# @preprocess step of this test. We generate&lt;br /&gt;
# raster and voxel data with r.mapcalc and r3.mapcalc&lt;br /&gt;
# The region setting should work for UTM and LL test locations&lt;br /&gt;
g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3&lt;br /&gt;
# Now generate two elevation maps, we have 8 rows and use&lt;br /&gt;
# them for elevation computation. The rows are counted from north&lt;br /&gt;
# to south. So in the south the elevation must have a maximum.&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_bottom = row()&amp;quot;&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_top = row() + 50&amp;quot;&lt;br /&gt;
# Now create a voxel map with value = col + row + depth. &lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume = col() + row() + depth()&amp;quot;&lt;br /&gt;
# Add null value information&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_null = if(row() == 2 || row() == 7, null(), volume)&amp;quot;&lt;br /&gt;
# Create the rgb maps&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_rgb = volume_null * 5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# The first @test just exports the volume map as cell and point data&lt;br /&gt;
# using a low precision and replaces the default null value with 0&lt;br /&gt;
# the created @files should be compared with the reference data&lt;br /&gt;
r3.out.vtk --o input=volume_null output=test_volume_null_1_cells.vtk dp=3 null=0&lt;br /&gt;
r3.out.vtk -p --o input=volume_null output=test_volume_null_1_points.vtk dp=3 null=0&lt;br /&gt;
&lt;br /&gt;
# The second @test adds rgb and vector maps. We re-use the created volume map&lt;br /&gt;
# for vector creation. The rgb value must range fom 0 - 255. The generated @files&lt;br /&gt;
# should be compared with the reference data.&lt;br /&gt;
r3.out.vtk --o rgbmaps=volume_rgb,volume_rgb,volume_rgb vectormaps=volume_null,volume_null,volume_null input=volume_null output=test_volume_null_1_cells_rgb_vect.vtk dp=3 null=-1.0&lt;br /&gt;
r3.out.vtk -p --o rgbmaps=volume_rgb,volume_rgb,volume_rgb vectormaps=volume_null,volume_null,volume_null input=volume_null output=test_volume_null_1_points_rgb_vect.vtk dp=3 null=-1.0&lt;br /&gt;
&lt;br /&gt;
# The third @test uses raster maps to create volume data with an elevation surface&lt;br /&gt;
# The maximum elevation should be in the south. Reference @files are present for validation.&lt;br /&gt;
r3.out.vtk -s --o top=elev_top bottom=elev_bottom input=volume_null output=test_volume_null_1_cells_elevation.vtk dp=3 null=0&lt;br /&gt;
r3.out.vtk -sp --o top=elev_top bottom=elev_bottom input=volume_null output=test_volume_null_1_points_elevation.vtk dp=3 null=0&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following reference files are located in the r3.out.vtk directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-r--r-- 1 soeren users 104556 16. Jun 18:14 test_volume_null_1_cells_elevation.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   3434 16. Jun 18:14 test_volume_null_1_cells.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users  22749 16. Jun 18:14 test_volume_null_1_cells_rgb_vect.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users  13360 16. Jun 18:14 test_volume_null_1_points_elevation.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   3435 16. Jun 18:14 test_volume_null_1_points.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users  22750 16. Jun 18:14 test_volume_null_1_points_rgb_vect.ref&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== test.r3.cross.rast.sh ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# This script tests the r3.cross.rast module to compute&lt;br /&gt;
# cross section raster maps based on a raster3d and elevation map&lt;br /&gt;
&lt;br /&gt;
# We need to set a specific region in the&lt;br /&gt;
# @preprocess step of this test. We generate&lt;br /&gt;
# raster and voxel data with r.mapcalc and r3.mapcalc&lt;br /&gt;
# The region setting should work for UTM and LL test locations&lt;br /&gt;
g.region s=0 n=80 w=0 e=100 b=0 t=50 res=10 res3=10 -p3&lt;br /&gt;
# We create several elevation maps to create slices of the voxel map&lt;br /&gt;
# We start from bottom and raise to the top. Value equal or greater 50 &lt;br /&gt;
# should generate grass NULL values&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_0 = 0&amp;quot;&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_1 = 5&amp;quot;&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_2 = 15&amp;quot;&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_3 = 25&amp;quot;&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_4 = 35&amp;quot;&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_5 = 45&amp;quot;&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_NAN = 50&amp;quot;&lt;br /&gt;
r.mapcalc --o expr=&amp;quot;elev_cross = float(col()* 5)&amp;quot;&lt;br /&gt;
# Now create a voxel map with value = col + row + depth. &lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume = col() + row() + depth()&amp;quot;&lt;br /&gt;
# Add null value information&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_null = if(row() == 1 || row() == 5, null(), volume)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# We @test the creation of slices and a cross section of the voxel map. Reference data&lt;br /&gt;
# for @raster map validation is located in the r3.cross.rast source directory.&lt;br /&gt;
# Slice 0 and 1 should be identical. The last slice should consist only of grass NULL values&lt;br /&gt;
r3.cross.rast --o input=volume_null elevation=elev_0 output=test_cross_section_slice_0&lt;br /&gt;
r3.cross.rast --o input=volume_null elevation=elev_1 output=test_cross_section_slice_1&lt;br /&gt;
r3.cross.rast --o input=volume_null elevation=elev_2 output=test_cross_section_slice_2&lt;br /&gt;
r3.cross.rast --o input=volume_null elevation=elev_3 output=test_cross_section_slice_3&lt;br /&gt;
r3.cross.rast --o input=volume_null elevation=elev_4 output=test_cross_section_slice_4&lt;br /&gt;
r3.cross.rast --o input=volume_null elevation=elev_5 output=test_cross_section_slice_5&lt;br /&gt;
r3.cross.rast --o input=volume_null elevation=elev_NAN output=test_cross_section_slice_NAN&lt;br /&gt;
r3.cross.rast --o input=volume_null elevation=elev_cross output=test_cross_section_result&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The following reference files are located in the r3.cross.rast directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-r--r-- 1 soeren users   264 16. Jun 18:14 test_cross_section_result.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   264 16. Jun 18:14 test_cross_section_slice_0.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   264 16. Jun 18:14 test_cross_section_slice_1.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   269 16. Jun 18:14 test_cross_section_slice_2.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   273 16. Jun 18:14 test_cross_section_slice_3.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   276 16. Jun 18:14 test_cross_section_slice_4.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   279 16. Jun 18:14 test_cross_section_slice_5.ref&lt;br /&gt;
-rw-r--r-- 1 soeren users   222 16. Jun 18:14 test_cross_section_slice_NAN.ref&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== test.r3.out.ascii.sh ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
# Tests for r3.out.ascii and r3.in.ascii&lt;br /&gt;
# This script tests the export of voxel data using r3.out.ascii&lt;br /&gt;
# as well as the import of the generated data with r3.in.ascii&lt;br /&gt;
# using different row and depth ordering options.&lt;br /&gt;
&lt;br /&gt;
# We set up a specific region in the&lt;br /&gt;
# @preprocess step of this test. We generate&lt;br /&gt;
# voxel data with r3.mapcalc. The region setting&lt;br /&gt;
# should work for UTM and LL test locations&lt;br /&gt;
g.region s=0 n=80 w=0 e=120 b=0 t=50 res=10 res3=10 -p3&lt;br /&gt;
# Now create several (float, double, null value) voxel map&lt;br /&gt;
# with value = col + row + depth.&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_float = float(col() + row() + depth())&amp;quot;&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_double = double(col() + row() + depth())&amp;quot;&lt;br /&gt;
# Add null value information&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_float_null = if(row() == 1 || row() == 5, null(), volume_float)&amp;quot;&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_double_null = if(row() == 1 || row() == 5, null(), volume_double)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# We export float data in the first @test using different order and precision&lt;br /&gt;
# as text @files for valdiation of correct ordering and null data handling&lt;br /&gt;
r3.out.ascii --o     input=volume_float_null output=test_float_nsbt_null.txt dp=0 null=*&lt;br /&gt;
r3.out.ascii --o -r  input=volume_float_null output=test_float_snbt_null.txt dp=0 null=*&lt;br /&gt;
r3.out.ascii --o -d  input=volume_float_null output=test_float_nstb_null.txt dp=0 null=*&lt;br /&gt;
r3.out.ascii --o -rd input=volume_float_null output=test_float_sntb_null.txt dp=0 null=*&lt;br /&gt;
# Different precision and null values than default&lt;br /&gt;
r3.out.ascii --o     input=volume_float_null output=test_float_nsbt_null_prec5.txt dp=5 null=-1000&lt;br /&gt;
r3.out.ascii --o -rd input=volume_float_null output=test_float_sntb_null_prec8.txt dp=8 null=-2000&lt;br /&gt;
# Test the no header and grass6 compatibility flags&lt;br /&gt;
r3.out.ascii --o -h input=volume_float_null output=test_float_nsbt_null_no_header.txt dp=3 null=*&lt;br /&gt;
r3.out.ascii --o -c input=volume_float_null output=test_float_nsbt_null_grass6_comp_1.txt dp=3 null=*&lt;br /&gt;
# Any row or depth order should be ignored in case grass6 compatibility is enabled&lt;br /&gt;
# The rsult of comp_1, _2 and _3 must be identical&lt;br /&gt;
r3.out.ascii --o -cr  input=volume_float_null output=test_float_nsbt_null_grass6_comp_2.txt dp=3 null=*&lt;br /&gt;
r3.out.ascii --o -crd input=volume_float_null output=test_float_nsbt_null_grass6_comp_3.txt dp=3 null=*&lt;br /&gt;
&lt;br /&gt;
# We export double data in the second @test using different order and precision&lt;br /&gt;
# as text @files for valdiation of correct ordering and null data handling. Its hte same&lt;br /&gt;
# procedure as with float data&lt;br /&gt;
r3.out.ascii --o     input=volume_double_null output=test_double_nsbt_null.txt dp=0 null=*&lt;br /&gt;
r3.out.ascii --o -r  input=volume_double_null output=test_double_snbt_null.txt dp=0 null=*&lt;br /&gt;
r3.out.ascii --o -d  input=volume_double_null output=test_double_nstb_null.txt dp=0 null=*&lt;br /&gt;
r3.out.ascii --o -rd input=volume_double_null output=test_double_sntb_null.txt dp=0 null=*&lt;br /&gt;
# Different precision and null values than default&lt;br /&gt;
r3.out.ascii --o     input=volume_double_null output=test_double_nsbt_null_prec5.txt dp=5 null=-1000&lt;br /&gt;
r3.out.ascii --o -rd input=volume_double_null output=test_double_sntb_null_prec8.txt dp=8 null=-2000&lt;br /&gt;
# Test the no header and grass6 compatibility flags&lt;br /&gt;
r3.out.ascii --o -h input=volume_double_null output=test_double_nsbt_null_no_header.txt dp=3 null=*&lt;br /&gt;
r3.out.ascii --o -c input=volume_double_null output=test_double_nsbt_null_grass6_comp_1.txt dp=3 null=*&lt;br /&gt;
# Any row or depth order should be ignored in case grass6 compatibility is enabled&lt;br /&gt;
# The result of comp_1, _2 and _3 must be identical&lt;br /&gt;
r3.out.ascii --o -cr  input=volume_double_null output=test_double_nsbt_null_grass6_comp_2.txt dp=3 null=*&lt;br /&gt;
r3.out.ascii --o -crd input=volume_double_null output=test_double_nsbt_null_grass6_comp_3.txt dp=3 null=*&lt;br /&gt;
&lt;br /&gt;
# In the third @test we import all the generated data using r3.in.ascii&lt;br /&gt;
# The created @raster maps should be identical to the map &amp;quot;volume_double_null&amp;quot;&lt;br /&gt;
# The export of the created g3d map should use as @precision=0 for data validation&lt;br /&gt;
# The same raster name is used for all the imported data and so for the validation reference file&lt;br /&gt;
r3.in.ascii --o output=test_double_nsbt_null input=test_double_nsbt_null.txt nv=*&lt;br /&gt;
r3.in.ascii --o output=test_double_nsbt_null input=test_double_snbt_null.txt nv=*&lt;br /&gt;
r3.in.ascii --o output=test_double_nsbt_null input=test_double_nstb_null.txt nv=*&lt;br /&gt;
r3.in.ascii --o output=test_double_nsbt_null input=test_double_sntb_null.txt nv=*&lt;br /&gt;
# Different precision and null values than default&lt;br /&gt;
r3.in.ascii --o output=test_double_nsbt_null input=test_double_nsbt_null_prec5.txt nv=-1000&lt;br /&gt;
r3.in.ascii --o output=test_double_nsbt_null input=test_double_sntb_null_prec8.txt nv=-2000&lt;br /&gt;
# Any row or depth order should be ignored in case grass6 compatibility is enabled&lt;br /&gt;
r3.in.ascii --o output=test_double_nsbt_null input=test_double_nsbt_null_grass6_comp_1.txt&lt;br /&gt;
&lt;br /&gt;
# In this @preprocess step for the last test we create a large region and&lt;br /&gt;
# generate large input data to test the handling of large files&lt;br /&gt;
g.region s=0 n=800 w=0 e=1200 b=0 t=50 res=10 res3=1.5 -p3&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_double_large = double(col() + row() + depth())&amp;quot;&lt;br /&gt;
# Add null value information&lt;br /&gt;
r3.mapcalc --o expr=&amp;quot;volume_double_null_large = if(row() == 1 || row() == 5, null(), volume_double_large)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Now @test the export and import of large data without validation&lt;br /&gt;
r3.out.ascii --o input=volume_double_null_large output=test_double_nsbt_null_large.txt dp=0 null=*&lt;br /&gt;
r3.in.ascii --o output=test_double_nsbt_null_large input=test_double_nsbt_null_large.txt nv=*&lt;br /&gt;
# Just for the logs&lt;br /&gt;
r3.info test_double_nsbt_null_large&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The following reference files are located in the r3.out.ascii directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-r--r--  1 soeren users  2875 17. Jun 21:36 test_double_nsbt_null_grass6_comp_1.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  2875 17. Jun 21:36 test_double_nsbt_null_grass6_comp_2.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  2875 17. Jun 21:36 test_double_nsbt_null_grass6_comp_3.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  2751 17. Jun 21:36 test_double_nsbt_null_no_header.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  4103 17. Jun 21:36 test_double_nsbt_null_prec5.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  1463 17. Jun 21:36 test_double_nsbt_null.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  1463 17. Jun 21:36 test_double_nstb_null.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  1463 17. Jun 21:36 test_double_snbt_null.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  5183 17. Jun 21:36 test_double_sntb_null_prec8.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  1463 17. Jun 21:36 test_double_sntb_null.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  2875 17. Jun 21:36 test_float_nsbt_null_grass6_comp_1.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  2875 17. Jun 21:36 test_float_nsbt_null_grass6_comp_2.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  2875 17. Jun 21:36 test_float_nsbt_null_grass6_comp_3.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  2751 17. Jun 21:36 test_float_nsbt_null_no_header.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  4103 17. Jun 21:36 test_float_nsbt_null_prec5.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  1463 17. Jun 21:36 test_float_nsbt_null.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  1463 17. Jun 21:36 test_float_nstb_null.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  1463 17. Jun 21:36 test_float_snbt_null.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  5183 17. Jun 21:36 test_float_sntb_null_prec8.ref&lt;br /&gt;
-rw-r--r--  1 soeren users  1463 17. Jun 21:36 test_float_sntb_null.ref&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test framework: ==&lt;br /&gt;
&lt;br /&gt;
What the test framework should do:&lt;br /&gt;
&lt;br /&gt;
* Creation of a test mapset for each test case in a specific test location located in the grass sources&lt;br /&gt;
* Setting the environment variables to the test location and grass installation (grass environment to run modules)&lt;br /&gt;
* For each test case a separate temporary directory should be created in which the test is executed. After testing the temporary directory get removed. The temporary directory should be located in the temporary mapset which will be automatically removed after testing.&lt;br /&gt;
* Parsing and interpretation and execution of test scripts&lt;br /&gt;
* Support of several test scripts in a single module directory&lt;br /&gt;
* Run of location specific test scripts (only LL or UTM test scripts)&lt;br /&gt;
* Handles module test results codes and stderr messages&lt;br /&gt;
* Validation of module output based on reference data and data type annotations in the test description&lt;br /&gt;
* Creates a HTML report for single modules and the whole test run&lt;br /&gt;
* Deletion of the generated test mapset to clean up the test location&lt;br /&gt;
&lt;br /&gt;
== Implementation ==&lt;br /&gt;
&lt;br /&gt;
* All test cases must be implemented as text files in shell style including annotations in comment blocks&lt;br /&gt;
* The test framework should be implemented in Python, parsing and analyzing and executing the test cases line by line&lt;br /&gt;
* The Make-System must be modified to start the tests by typing &amp;quot;make tests&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Test framework Python approach === &lt;br /&gt;
&lt;br /&gt;
I suggest the following Python classes:&lt;br /&gt;
* TestBase class - implements the test logic&lt;br /&gt;
** LatLongTest class - for LatLong test location initialization and test run, derived from TestBase class&lt;br /&gt;
** UTMTest class - for UTM test location initialization and test run, derived from TestBase class&lt;br /&gt;
* A CommandBase class - implements command line specific methods and attributes and executes a command, logging return value and stderr using the subprocess module&lt;br /&gt;
** PreProcess class - derived from CommandBase class for preprocess execution&lt;br /&gt;
** TestCase class - derived from CommandBase class for test execution&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
The TestBase class implementing the following methods:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
class TestBase:&lt;br /&gt;
  def StartGrassSession(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Abstract method, should be overwritten in a subclass&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
  def Run(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Create the environment variables for the grass session, create a mapset and execute all tests&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    self.StartGrassSession()&lt;br /&gt;
    self.CreateTestMapset()&lt;br /&gt;
    self.CheckForReferenceFiles()&lt;br /&gt;
    self.ExecuteAll()&lt;br /&gt;
  &lt;br /&gt;
  def CreateTestMapset(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Creates a temporary mapset for the test using g.mapset&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
  &lt;br /&gt;
  def CreateExecutionOrder(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    * Reads the entire test case into memory and parses the file line by line&lt;br /&gt;
    * Creates the execution order list as internal structure to store specific execution settings&lt;br /&gt;
    * For each command in the test case a specific CommandBase object is created and stored in the execution order list&lt;br /&gt;
    * TestCase objects store the validation type (@file, ...) and the validation precision (@precision=1) ... and maybe more&lt;br /&gt;
   &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
   pass&lt;br /&gt;
  &lt;br /&gt;
  def ExecuteAll(self):&lt;br /&gt;
  &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
  * Create a temporary test directory in the temporary mapset&lt;br /&gt;
  * Calls ExecuteTest or ExecutePreProcess for each entry in the execution order list&lt;br /&gt;
  * Summarize the HTML and text summary content for each entry in the list&lt;br /&gt;
  * Clean up the temporary directories generate for each command&lt;br /&gt;
  &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
  pass&lt;br /&gt;
  &lt;br /&gt;
  def ExecuteTest(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    * Execute a single test command using the TestCase object &lt;br /&gt;
    * Logs stderr and return value from TestCase object&lt;br /&gt;
    * Analyses return value and stderr in case of an error&lt;br /&gt;
    * Checks for new generated maps/files of the command &lt;br /&gt;
    * Checks if reference files are present&lt;br /&gt;
    * Export data with data specific commands (r/r3/v.out.ascii, r/r3.colors.out, ...)&lt;br /&gt;
    * Compares reference files with exported files&lt;br /&gt;
    * Creates HTML and text logfile entry&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
  &lt;br /&gt;
  def CheckForReferenceFiles(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;Lists all available reference files of a directory in an internal dict, &lt;br /&gt;
    base name, path and full name are stored&amp;quot;&amp;quot;&amp;quot; &lt;br /&gt;
    pass&lt;br /&gt;
  &lt;br /&gt;
  def ExecutePreprocess(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    * Execute a single preprocess command using the PreProcess object &lt;br /&gt;
    * Logs stderr and return value from PreProcess object&lt;br /&gt;
    * Analyses return value and stderr in case of an error&lt;br /&gt;
    * Creates HTML and text logfile entry&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
   &lt;br /&gt;
  def CompareVectorMap(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    * Exports vector map with v.out.ascii using the default or specific TestCase precision&lt;br /&gt;
    * Compares exported file with reference file&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
   &lt;br /&gt;
  def CompareRasterMap(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    * Exports raster map with r.out.ascii using the default or specific TestCase precision&lt;br /&gt;
    * Compares exported file with reference file&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
     &lt;br /&gt;
  def CompareRaster3dMap(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    * Exports raster3d map with r3.out.ascii using the default or specific TestCase precision&lt;br /&gt;
    * Compares exported file with reference file&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
  &lt;br /&gt;
  def CompareColor(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
   * Export raster color with r.colors.out&lt;br /&gt;
   * Compares exported file with reference file&lt;br /&gt;
   &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
   pass&lt;br /&gt;
  &lt;br /&gt;
  def CompareColor3d(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
   * Export raster3d color with r3.colors.out&lt;br /&gt;
   * Compares exported file with reference file&lt;br /&gt;
   &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
   pass&lt;br /&gt;
  &lt;br /&gt;
  def CreateHTMLTestSummary(self):&lt;br /&gt;
    pass&lt;br /&gt;
  &lt;br /&gt;
  def CreateTextTestSummary(self):&lt;br /&gt;
    pass&lt;br /&gt;
  &lt;br /&gt;
  def CleanUp(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot; Remove the temporary test mapset and all generated test files &amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
  &lt;br /&gt;
# ... many more&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The LatLongTest implements the following method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
class LatLongTest(BaseTest):&lt;br /&gt;
  def StartGrassSession(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;starts the grass7 session in a LatLong test location&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The UTMTest implements the following method:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
class UTMTest(BaseTest):&lt;br /&gt;
  def StartGrassSession(self):&lt;br /&gt;
    &amp;quot;&amp;quot;&amp;quot;starts the grass7 session in a UTM test location&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
    pass&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The CommandBase class:&lt;br /&gt;
&lt;br /&gt;
* Uses the subprocess module to execute a command&lt;br /&gt;
* Is able to identify some shell specific commands in the command line (&amp;quot;&amp;amp;&amp;amp;, |, &amp;lt;, &amp;gt;&amp;quot;)&lt;br /&gt;
* Acts as a very simple shell interpreter &lt;br /&gt;
** In case if &amp;quot;|&amp;quot; connects multiple commands in a command line with subprocess.PIPE&lt;br /&gt;
** In case of &amp;quot;&amp;gt;&amp;quot; or &amp;quot;&amp;lt;&amp;quot; uses stdout or stdin io&lt;br /&gt;
** No support for complex shell functionality (for, test, ...)&lt;br /&gt;
&lt;br /&gt;
=== Make system ===&lt;br /&gt;
&lt;br /&gt;
New rules should be added to the make system so that:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
make test ll&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Will start recursively library and/or module tests from the current directory in the LatLong test location.&lt;br /&gt;
The Make system should execute the Python test framework main Python file in each Module or Library directory.&lt;br /&gt;
I guess test specific entries must be added to the modules and library Makefiles?&lt;br /&gt;
&lt;br /&gt;
== Timeline and status ==&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|'''Task''' || '''Status''' || '''Developer(s)'''&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of modules' tests || Progress || Sören&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of r3.* tests || Progress || Sören&lt;br /&gt;
|-&lt;br /&gt;
| Implementation of test framework || Starting || Anne&lt;br /&gt;
|-&lt;br /&gt;
| Make integration || To be done || - &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Interested people == &lt;br /&gt;
&lt;br /&gt;
* [[User:huhabla | Sören Gebbert]]&lt;br /&gt;
* [[User:AnneGhisla| Anne Ghisla]]&lt;br /&gt;
* [[User:Landa|Martin Landa]]&lt;br /&gt;
* Add your name here&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;br /&gt;
[[Category: Testing]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13532</id>
		<title>GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13532"/>
		<updated>2011-05-27T09:15:00Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Testing and benchmarking */ more GUI testing ideas&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:community_sprint_prague_2011.png|center|600px]]&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
Let's call the dog [http://books.google.com/books?id=sfQuAAAAIAAJ Dashenka]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[Image:grass-logo-url.png|center|100px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Succeeding the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 Geoinformatics FCE CTU 2011] ''(International Conference on Free Software and Open Source in Geoinformatics)'', 19-20 May 2011, [http://en.wikipedia.org/wiki/Prague Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic], the GRASS GIS project will hold a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' ''from May 20 to May 25, 2011''.&lt;br /&gt;
&lt;br /&gt;
'''Important dates:'''&lt;br /&gt;
&lt;br /&gt;
* 19 (Thursday) - 20 (Friday) May 2011: Geoinformatics FCE CTU 2011 conference&lt;br /&gt;
&lt;br /&gt;
* '''20 (Friday) - 25 (Wednesday) May 2011: GRASS Community Sprint @ [http://www.fsv.cvut.cz/ FCE CTU]'''&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
Get together GRASS project members to make decisions and tackle larger problems.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS project. This includes developers, documenters, bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ????  MN: what the problem??&lt;br /&gt;
We welcome financial contributions to support the meeting and we are looking for sponsors to cover costs such as meals or to help reducing traveling and accommodation expenses for GRASS developers with far arrival.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested to sponsor the GRASS Community Sprint, please read about&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''sponsoring the GRASS project at [http://grass.osgeo.org/donation.php http://grass.osgeo.org/donation.php]'''&amp;lt;br&amp;gt;&lt;br /&gt;
and, if needed, contact [[User:Neteler|Markus Neteler]] &amp;lt;tt&amp;gt;&amp;lt;neteler at osgeo.org&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
The first GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet in Prague. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
=== Thanks to our sponsors ===&lt;br /&gt;
&lt;br /&gt;
We are grateful for the support which we have received to organize this GRASS Community Sprint:&lt;br /&gt;
&lt;br /&gt;
* [http://gfoss.it/ GFOSS.it Associazione Italiana per l'Informazione Geografica Libera] - 1400 Euro&lt;br /&gt;
* Stefan Sylla, [http://sylla-consult.de/en/ sylla-consult], Frankfurt, Germany - 100 Euro&lt;br /&gt;
* [http://www.r3-gis.com/ R3 GIS], Merano, Italy - 500 euro&lt;br /&gt;
* [http://www.fossgis.de FOSSGIS e.V.], D-A-CH, - 500 euro&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
&lt;br /&gt;
'''When''': Friday, May 20, 2011 (day of arrival) - Wednesday, May 25, 2011 (day of departure)&lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''':&lt;br /&gt;
&lt;br /&gt;
* Friday is day of arrival&lt;br /&gt;
** First meeting in the evening (after the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 conference]) to define the agenda&lt;br /&gt;
* Saturday to Tuesday&lt;br /&gt;
** Full days&lt;br /&gt;
* Wednesday is day of departure&lt;br /&gt;
** Probably hacking for people with a flight later in the evening&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
[[Image:logo_cvut.jpg|130px|left]]&lt;br /&gt;
Department of Mapping and Cartography&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.fsv.cvut.cz Faculty of Civil Engineering]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cvut.cz Czech Technical University in Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://geoinformatics.fsv.cvut.cz/gwiki/Room_B367 Room B367] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Where_you_can_find_us Location &amp;amp; Transportations]'''&lt;br /&gt;
&lt;br /&gt;
Prague has an international [http://www.prg.aero/en/ airport] and is also reachable by train, bus or car.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
Participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel to Prague, variable depending on where you come from&lt;br /&gt;
* Accommodation and meals&lt;br /&gt;
'''Please note''': The currency in Czech Republic is [http://en.wikipedia.org/wiki/Czech_crown crown] (CZK, koruna, Kč). 100 Czech crowns are about 4 Euros (see [http://www.cnb.cz/en/financial_markets/foreign_exchange_market/exchange_rate_fixing/daily.jsp current rates]).&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague Accommodation in Prague]'''&lt;br /&gt;
&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Masarykova_Kolej_Hotel Masarykova Kolej Hotel]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_DAP Hotel DAP]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Krystal Hotel Krystal]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Pension_Hanspaulka Pension Hanspaulka]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Silenzio Hotel Silenzio]&lt;br /&gt;
:* Special offer: ''sleeping for free in the kindergarten'' (30min by city urban mass transportation from the university campus, sleeping bag required, kitchen and WC available, no showers, in working days available only from 8 p.m. to 8 a.m.), contact [[User:Landa|Martin Landa]] for details&lt;br /&gt;
:* See also http://www.hotel.cz/praha-6/accommodation/&lt;br /&gt;
&lt;br /&gt;
Please let us know your time of arrival and leaving, so we can book for the accommodations and organize the logistics.&lt;br /&gt;
&lt;br /&gt;
Financial support: (partial) travel grants can be payed upon request thanks to our sponsors!&lt;br /&gt;
&lt;br /&gt;
== Weather and Common Item Prices ==&lt;br /&gt;
&lt;br /&gt;
* In May the weather in Prague is usually quite warm ([http://www.prague-spot.com/climate 15 or more degrees by day])&lt;br /&gt;
* A espresso coffee is about 20 CZK (80 cents), a beer (half of liter) in a common pub is around 25 CZK (1 euro), can be more in special pubs. In Prague you can have a full meal (see [http://en.wikipedia.org/wiki/Czech_cuisine Czech cuisine]) for still 75 - 150 CZK (3 - 6 euros), but beware of tourist restaurants, the prize can easily rise. It's quite easy to find in Prague also Italian or Chinese restaurants.&lt;br /&gt;
&lt;br /&gt;
== Agenda - What we plan to do ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The program is generally open for your ideas. Please write an email to the [http://lists.osgeo.org/mailman/listinfo/grass-dev GRASS developer list] to discuss your contribution.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
==== Friday, 20 May ====&lt;br /&gt;
* Kick-off at 18.30&lt;br /&gt;
&lt;br /&gt;
==== Saturday, 21 May (Room B367, third floor) ====&lt;br /&gt;
* 10 a.m. starting time&lt;br /&gt;
* 11 a.m. Welcome meeting&lt;br /&gt;
* discuss and finetune agenda&lt;br /&gt;
* presentation of participants&lt;br /&gt;
* Evening&lt;br /&gt;
: '''[http://www.youtube.com/watch?v=Jf6NFRGO9ak Valentina Shuklina's] concert in [http://www.cafe-technika.cz Café Technika]'''&lt;br /&gt;
&lt;br /&gt;
==== Sunday, 22 May ====&lt;br /&gt;
* '''9 a.m.''' starting time &lt;br /&gt;
* All participants discussion rounds:&lt;br /&gt;
** Testing new wxGUI features before publishing procedure&lt;br /&gt;
** Changing parameter names in GRASS 7 (think about automated differences to GRASS 6 documentation)&lt;br /&gt;
** {{done}} r.mask problems: backport this [http://trac.osgeo.org/grass/changeset/46323 change] and floating point support&lt;br /&gt;
** [[Toolboxes]]&lt;br /&gt;
** ...&lt;br /&gt;
* Individual topics...&lt;br /&gt;
** {{done}} LiDAR, LAS handling (Sunday: Helena, MarkusM, and MarkusN) &lt;br /&gt;
* Evening: '''Social dinner'''&lt;br /&gt;
&lt;br /&gt;
==== Monday, 23 May ====&lt;br /&gt;
* Community Sprint 3&lt;br /&gt;
** Outline [[Movies#Q:_How_to_create_a_screencast_.28for_video_tutorials_etc.29.3F|screen capture videos]] for &amp;quot;Getting started with GRASS&amp;quot; and for using wxGUI for various specific tasks ''(Monday: Helena and Martin)''&lt;br /&gt;
&lt;br /&gt;
==== Tuesday, 24 May ====&lt;br /&gt;
* Community Sprint 4&lt;br /&gt;
&lt;br /&gt;
==== Wednesday, 25 May ====&lt;br /&gt;
* Finish press release (including thanks to sponsors with names)&lt;br /&gt;
* Wrap up and see you soon&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
&lt;br /&gt;
==== Non-technical ====&lt;br /&gt;
&lt;br /&gt;
* {{done}} Prettify http://grass.osgeo.org/donation.php (borrow HTML code from http://donate.openstreetmap.org/)&lt;br /&gt;
* Discuss new sponsoring concept (discuss during lunch on Sunday)&lt;br /&gt;
* Improve promotional material&lt;br /&gt;
* {{done}} Introduce this year's selection of Google Summer of Code projects&lt;br /&gt;
* Strategy to populate [http://grass.fem-environment.eu/ new GRASS Website] (note: address is temporary) with content from [http://grass.osgeo.org old website] - design new GRASS Web site engine based on [[Web site|CMS]]. Content migration should be tracked in this Wiki ''(Milena, MarkusN, Nicolas)''&lt;br /&gt;
* GRASS 7 development strategy:&lt;br /&gt;
** Feature freezing GRASS 6; bugfix-only backports for 6.4.2+ libraries and modules&lt;br /&gt;
* ...&lt;br /&gt;
* run grass64/gource_it.sh and publish video ''(MarkusN)''&lt;br /&gt;
&lt;br /&gt;
==== Semi-technical ====&lt;br /&gt;
&lt;br /&gt;
Open discussion:&lt;br /&gt;
* Discuss possible metadata storage improvements for GRASS 7&lt;br /&gt;
&lt;br /&gt;
Individually:&lt;br /&gt;
* Discuss changing manual to use Sphinx (see related {{trac|151}})'' (who takes this task?)''&lt;br /&gt;
* Support translated manual pages (see related {{trac|846}}) ''(who knows Makefile programming?)''&lt;br /&gt;
* Sample Mars dataset - at least empty location with correct setup ''(Alessandro Frigeri)''&lt;br /&gt;
: ''ping me later &amp;amp; I'll dig out my MOLA notes (see NVIZ screenshots page). I think there's some info in vol 1 or 3 of the GRASS newsletters. Also I seem to recall that Peter Lowe had a demo Mars mapset already set up for NVIZ + 3D rendering. Note planetary scientists often work in 0-360 degrees not -180 to +180, but GRASS supports that so all is ok.''--Hamish&lt;br /&gt;
* LiDAR, LAS handling ''(Sunday: Helena, MarkusM, and MarkusN)''&lt;br /&gt;
: ''note wish to add direct liblas support to {{cmd|r.in.xyz}}. To be honest I'm not sure how much of a speed advantage there will really be vs. piping from las2txt, but if someone wants to try &amp;amp; report results I'd be interested to hear about it. Not sure if it should be in another r.in.las cloned module or not. maybe a new option stream={ascii|las|mbio}? See also Bob Covill's r.in.xyz version with direct libmbio.a (MB-Systems [multibeam bathymetry]) support.'' --Hamish&lt;br /&gt;
* Improve manual with more examples and screenshots&lt;br /&gt;
* Revive command line (ie Bash) tab-completion for map names, option lists.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Technical ====&lt;br /&gt;
&lt;br /&gt;
===== wxGUI: graphical user interface =====&lt;br /&gt;
* wxGUI: testing before publishing procedure&lt;br /&gt;
* wxGUI: add language selector at startup or in GUI configuration (Important!)&lt;br /&gt;
* wxGUI: modeller improvements&lt;br /&gt;
* wxGUI: further improve the integration of CLI and GUI&lt;br /&gt;
* wxNVIZ: consider to switch to [[OpenSceneGraph]] for 3D visualization&lt;br /&gt;
* Restore d.* commands in GRASS7 - some prototypes are already existing (p.mon: Stefano)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Built system, installation =====&lt;br /&gt;
* Addons:&lt;br /&gt;
** Autocompilation job for GRASS-Addons ''(MarkusN et al.)''&lt;br /&gt;
** Improve {{cmd|g.extension}} (enable to use precompiled winGRASS Addon binaries)&lt;br /&gt;
* Discuss backporting Makefile system from GRASS 7 to GRASS 6&lt;br /&gt;
* {{done}} Discuss and define new [[GRASS repository layout proposal|toolbox concept]]&lt;br /&gt;
* Daily generated OSGeo4W packages for 6.5svn, 7.0svn.&lt;br /&gt;
* {{done}} GRASS on clusters: shared discussion&lt;br /&gt;
** Job queuing with [[Parallel_GRASS_jobs|Grid Engine]] and [http://en.wikipedia.org/wiki/TORQUE_Resource_Manager Torque]&lt;br /&gt;
** Multi-core CPU with [[OpenMP]]&lt;br /&gt;
** GPU+Multi-core CPU with [[OpenCL]]&lt;br /&gt;
** Multi-node with [http://www.mcs.anl.gov/research/projects/mpich2/ mpich2]&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Documentation =====&lt;br /&gt;
* Develop something like the wxGUI module search tree for the HTML pages&lt;br /&gt;
* Finally :) get htDig fixed on the projects VM&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Testing and benchmarking =====&lt;br /&gt;
* Write tests for different core modules (see the [http://www-pool.math.tu-berlin.de/~soeren/grass/GRASS_TestSuite/html_grass-6.4/ former testsuite] from Soeren's): [[Test Suite]]&lt;br /&gt;
* Discuss testing procedure for GUI: here is a list of [http://www.testingfaqs.org/t-gui.html|  GUI test tools] - see also [http://en.wikipedia.org/wiki/GOMS|  GOMS analysis]&lt;br /&gt;
* Benchmarking between GRASS, QGIS, Sextante, gvSIG, ... for watershed calculation, import, export, extract, ...&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Capabilities =====&lt;br /&gt;
&lt;br /&gt;
* SQLite default DB in grass7: switch default to per-map DB file like DBF, or keep a per-mapset DB file as is currently implemented?&lt;br /&gt;
* Discussion and implementation time frame of temporal GIS capabilities in GRASS [[Time series development]]&lt;br /&gt;
* Discussion about a new parser interface for better command line, GUI and WPS support. Discussion started here: http://trac.osgeo.org/grass/ticket/1031&lt;br /&gt;
* Improve [[WPS]] support&lt;br /&gt;
* Discuss improvements in GRASS 7 vector engine (OGR support, lightweight topology structures, better 3D support)&lt;br /&gt;
* {{done}} Discuss fundamental changes in raster and vector engine for GRASS 8&lt;br /&gt;
* winGRASS: GRASS and R-stats integration improvements (see related {{trac|1149}}, [http://code.google.com/p/batchfiles/ Windows batchfiles for use with R], [http://trac.osgeo.org/grass/ticket/1149#comment:7 ticket/1149#comment:7], [http://trac.osgeo.org/grass/ticket/1149#comment:8 ticket/1149#comment:8])&lt;br /&gt;
* Implement [http://www.gaia-gis.it/spatialite/ RasterLite] as GRASS raster database&lt;br /&gt;
* Java APIs&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
;Discussion on ML&lt;br /&gt;
* http://lists.osgeo.org/pipermail/grass-user/2011-March/059830.html&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
We are planning for attendance of 20 people (i.e., hacking places) but of course you are welcome to join us and bring new ideas with you, as more places are available. Please add your name here or contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
=== In person ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|width=50px|'''No'''&lt;br /&gt;
|width=150px|'''Participant '''&lt;br /&gt;
|width=100px|'''Arrival'''&lt;br /&gt;
|width=100px|'''Departure'''&lt;br /&gt;
|'''Topic'''&lt;br /&gt;
|width=75px|'''T-Shirt'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 25&lt;br /&gt;
|Toolbox concept, vector engine in GRASS 7, wxGUI&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|May 17&lt;br /&gt;
|May 23&lt;br /&gt;
| sponsoring, coding, manual, odds and ends&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|New toolbox concept,translation, g.cloud, r.modis&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:RobertSzczepanek|Robert Szczepanek]]&lt;br /&gt;
|May 19&lt;br /&gt;
|May 23&lt;br /&gt;
|wxGUI, hydrological toolbox, translation&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:madi|Margherita Di Leo]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
| [http://grass.osgeo.org/devel/i18n.php Translation] , python api, wxGUI&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:annalisapg|Annalisa Minelli]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|[http://grass.osgeo.org/devel/i18n.php Translation], python api, r.viewshed, winGRASS debug&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|wxGUI development, v.krige&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|[[User:Afrigeri|Alessandro Frigeri]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 25&lt;br /&gt;
|Planetary SRS in GRASS GIS - OGC W*S tweakings for IAU GCS&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|[[User:huhabla|Sören Gebbert]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 23&lt;br /&gt;
|Time series development, Web Processing Service support, wps-grass-bridge, New parser interface, vtk-grass-bridge&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|[[User:MilenaN|Milena Nowotarska]]&lt;br /&gt;
| May 19&lt;br /&gt;
| May 23&lt;br /&gt;
|wxGUI, translation&lt;br /&gt;
| S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|[[User:helena|Helena Mitasova]]&lt;br /&gt;
|May 22&lt;br /&gt;
|May 25&lt;br /&gt;
|wxnviz, v.vol.rst, r3 and time series, toolbox concept&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|[[User:blazek|Radim Blazek]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 21&lt;br /&gt;
|QGIS friendliness lobbying&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|[[User:peter.loewe|Peter Loewe]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS on computation grids lobbying, povray, paraview/vtk&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|[[User:moovida|Andrea Antonello]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS toolbox for uDig, Geopaparazzi import module for GRASS, Hopefully get knowledge about new raster format&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|[[User:mmetz|Markus Metz]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|vector engine in GRASS 7, support for massive datasets&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|Paweł Netzel&lt;br /&gt;
| May 19&lt;br /&gt;
| May 22&lt;br /&gt;
|&lt;br /&gt;
| XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|[[User:annakrat|Anna Kratochvílová]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxNviz&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|Stefano Cavallari&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Python etc&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Via IRC chat ===&lt;br /&gt;
&lt;br /&gt;
* join us at irc://irc.freenode.net/grass (#grass in [[IRC]])&lt;br /&gt;
* Hamish B, as timezones &amp;amp; work allows&lt;br /&gt;
&lt;br /&gt;
=== Collaborative document scratching ===&lt;br /&gt;
&lt;br /&gt;
* EtherPad: http://etherpad.osuosl.org&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring [http://en.wikipedia.org/wiki/Mains_electricity_by_country power connector adapter] if needed (Czech Republic: 230V, 50Hz, [http://en.wikipedia.org/wiki/File:Euro-Flachstecker_2.jpg Type C Europlugs] are common and also [http://en.wikipedia.org/wiki/File:French_plug_and_socket.jpg Type E])&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Broadcast &amp;amp; Video ==&lt;br /&gt;
&lt;br /&gt;
* Streaming not possible...&lt;br /&gt;
* Live session notes via [http://etherpad.osuosl.org/ EtherPad] are useful. (afterwards post the pads to the wiki&amp;lt;!--link to original pad urls too as the timeline feature is cool :) --&amp;gt;)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* We plan to be online [http://www.ustream.tv/channel/grass-community-sprint-prague-2011 here].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13530</id>
		<title>GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13530"/>
		<updated>2011-05-27T08:31:08Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Agenda - What we plan to do */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Image:community_sprint_prague_2011.png|center|600px]]&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
Let's call the dog [http://books.google.com/books?id=sfQuAAAAIAAJ Dashenka]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
[[Image:grass-logo-url.png|center|100px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Succeeding the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 Geoinformatics FCE CTU 2011] ''(International Conference on Free Software and Open Source in Geoinformatics)'', 19-20 May 2011, [http://en.wikipedia.org/wiki/Prague Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic], the GRASS GIS project will hold a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' ''from May 20 to May 25, 2011''.&lt;br /&gt;
&lt;br /&gt;
'''Important dates:'''&lt;br /&gt;
&lt;br /&gt;
* 19 (Thursday) - 20 (Friday) May 2011: Geoinformatics FCE CTU 2011 conference&lt;br /&gt;
&lt;br /&gt;
* '''20 (Friday) - 25 (Wednesday) May 2011: GRASS Community Sprint @ [http://www.fsv.cvut.cz/ FCE CTU]'''&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
Get together GRASS project members to make decisions and tackle larger problems.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS project. This includes developers, documenters, bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ????  MN: what the problem??&lt;br /&gt;
We welcome financial contributions to support the meeting and we are looking for sponsors to cover costs such as meals or to help reducing traveling and accommodation expenses for GRASS developers with far arrival.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested to sponsor the GRASS Community Sprint, please read about&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''sponsoring the GRASS project at [http://grass.osgeo.org/donation.php http://grass.osgeo.org/donation.php]'''&amp;lt;br&amp;gt;&lt;br /&gt;
and, if needed, contact [[User:Neteler|Markus Neteler]] &amp;lt;tt&amp;gt;&amp;lt;neteler at osgeo.org&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
The first GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet in Prague. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
=== Thanks to our sponsors ===&lt;br /&gt;
&lt;br /&gt;
We are grateful for the support which we have received to organize this GRASS Community Sprint:&lt;br /&gt;
&lt;br /&gt;
* [http://gfoss.it/ GFOSS.it Associazione Italiana per l'Informazione Geografica Libera] - 1400 Euro&lt;br /&gt;
* Stefan Sylla, [http://sylla-consult.de/en/ sylla-consult], Frankfurt, Germany - 100 Euro&lt;br /&gt;
* [http://www.r3-gis.com/ R3 GIS], Merano, Italy - 500 euro&lt;br /&gt;
* [http://www.fossgis.de FOSSGIS e.V.], D-A-CH, - 500 euro&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
&lt;br /&gt;
'''When''': Friday, May 20, 2011 (day of arrival) - Wednesday, May 25, 2011 (day of departure)&lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''':&lt;br /&gt;
&lt;br /&gt;
* Friday is day of arrival&lt;br /&gt;
** First meeting in the evening (after the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 conference]) to define the agenda&lt;br /&gt;
* Saturday to Tuesday&lt;br /&gt;
** Full days&lt;br /&gt;
* Wednesday is day of departure&lt;br /&gt;
** Probably hacking for people with a flight later in the evening&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
[[Image:logo_cvut.jpg|130px|left]]&lt;br /&gt;
Department of Mapping and Cartography&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.fsv.cvut.cz Faculty of Civil Engineering]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cvut.cz Czech Technical University in Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://geoinformatics.fsv.cvut.cz/gwiki/Room_B367 Room B367] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Where_you_can_find_us Location &amp;amp; Transportations]'''&lt;br /&gt;
&lt;br /&gt;
Prague has an international [http://www.prg.aero/en/ airport] and is also reachable by train, bus or car.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
Participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel to Prague, variable depending on where you come from&lt;br /&gt;
* Accommodation and meals&lt;br /&gt;
'''Please note''': The currency in Czech Republic is [http://en.wikipedia.org/wiki/Czech_crown crown] (CZK, koruna, Kč). 100 Czech crowns are about 4 Euros (see [http://www.cnb.cz/en/financial_markets/foreign_exchange_market/exchange_rate_fixing/daily.jsp current rates]).&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague Accommodation in Prague]'''&lt;br /&gt;
&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Masarykova_Kolej_Hotel Masarykova Kolej Hotel]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_DAP Hotel DAP]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Krystal Hotel Krystal]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Pension_Hanspaulka Pension Hanspaulka]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Silenzio Hotel Silenzio]&lt;br /&gt;
:* Special offer: ''sleeping for free in the kindergarten'' (30min by city urban mass transportation from the university campus, sleeping bag required, kitchen and WC available, no showers, in working days available only from 8 p.m. to 8 a.m.), contact [[User:Landa|Martin Landa]] for details&lt;br /&gt;
:* See also http://www.hotel.cz/praha-6/accommodation/&lt;br /&gt;
&lt;br /&gt;
Please let us know your time of arrival and leaving, so we can book for the accommodations and organize the logistics.&lt;br /&gt;
&lt;br /&gt;
Financial support: (partial) travel grants can be payed upon request thanks to our sponsors!&lt;br /&gt;
&lt;br /&gt;
== Weather and Common Item Prices ==&lt;br /&gt;
&lt;br /&gt;
* In May the weather in Prague is usually quite warm ([http://www.prague-spot.com/climate 15 or more degrees by day])&lt;br /&gt;
* A espresso coffee is about 20 CZK (80 cents), a beer (half of liter) in a common pub is around 25 CZK (1 euro), can be more in special pubs. In Prague you can have a full meal (see [http://en.wikipedia.org/wiki/Czech_cuisine Czech cuisine]) for still 75 - 150 CZK (3 - 6 euros), but beware of tourist restaurants, the prize can easily rise. It's quite easy to find in Prague also Italian or Chinese restaurants.&lt;br /&gt;
&lt;br /&gt;
== Agenda - What we plan to do ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The program is generally open for your ideas. Please write an email to the [http://lists.osgeo.org/mailman/listinfo/grass-dev GRASS developer list] to discuss your contribution.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
==== Friday, 20 May ====&lt;br /&gt;
* Kick-off at 18.30&lt;br /&gt;
&lt;br /&gt;
==== Saturday, 21 May (Room B367, third floor) ====&lt;br /&gt;
* 10 a.m. starting time&lt;br /&gt;
* 11 a.m. Welcome meeting&lt;br /&gt;
* discuss and finetune agenda&lt;br /&gt;
* presentation of participants&lt;br /&gt;
* Evening&lt;br /&gt;
: '''[http://www.youtube.com/watch?v=Jf6NFRGO9ak Valentina Shuklina's] concert in [http://www.cafe-technika.cz Café Technika]'''&lt;br /&gt;
&lt;br /&gt;
==== Sunday, 22 May ====&lt;br /&gt;
* '''9 a.m.''' starting time &lt;br /&gt;
* All participants discussion rounds:&lt;br /&gt;
** Testing new wxGUI features before publishing procedure&lt;br /&gt;
** Changing parameter names in GRASS 7 (think about automated differences to GRASS 6 documentation)&lt;br /&gt;
** {{done}} r.mask problems: backport this [http://trac.osgeo.org/grass/changeset/46323 change] and floating point support&lt;br /&gt;
** [[Toolboxes]]&lt;br /&gt;
** ...&lt;br /&gt;
* Individual topics...&lt;br /&gt;
** {{done}} LiDAR, LAS handling (Sunday: Helena, MarkusM, and MarkusN) &lt;br /&gt;
* Evening: '''Social dinner'''&lt;br /&gt;
&lt;br /&gt;
==== Monday, 23 May ====&lt;br /&gt;
* Community Sprint 3&lt;br /&gt;
** Outline [[Movies#Q:_How_to_create_a_screencast_.28for_video_tutorials_etc.29.3F|screen capture videos]] for &amp;quot;Getting started with GRASS&amp;quot; and for using wxGUI for various specific tasks ''(Monday: Helena and Martin)''&lt;br /&gt;
&lt;br /&gt;
==== Tuesday, 24 May ====&lt;br /&gt;
* Community Sprint 4&lt;br /&gt;
&lt;br /&gt;
==== Wednesday, 25 May ====&lt;br /&gt;
* Finish press release (including thanks to sponsors with names)&lt;br /&gt;
* Wrap up and see you soon&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
&lt;br /&gt;
==== Non-technical ====&lt;br /&gt;
&lt;br /&gt;
* {{done}} Prettify http://grass.osgeo.org/donation.php (borrow HTML code from http://donate.openstreetmap.org/)&lt;br /&gt;
* Discuss new sponsoring concept (discuss during lunch on Sunday)&lt;br /&gt;
* Improve promotional material&lt;br /&gt;
* {{done}} Introduce this year's selection of Google Summer of Code projects&lt;br /&gt;
* Strategy to populate [http://grass.fem-environment.eu/ new GRASS Website] (note: address is temporary) with content from [http://grass.osgeo.org old website] - design new GRASS Web site engine based on [[Web site|CMS]]. Content migration should be tracked in this Wiki ''(Milena, MarkusN, Nicolas)''&lt;br /&gt;
* GRASS 7 development strategy:&lt;br /&gt;
** Feature freezing GRASS 6; bugfix-only backports for 6.4.2+ libraries and modules&lt;br /&gt;
* ...&lt;br /&gt;
* run grass64/gource_it.sh and publish video ''(MarkusN)''&lt;br /&gt;
&lt;br /&gt;
==== Semi-technical ====&lt;br /&gt;
&lt;br /&gt;
Open discussion:&lt;br /&gt;
* Discuss possible metadata storage improvements for GRASS 7&lt;br /&gt;
&lt;br /&gt;
Individually:&lt;br /&gt;
* Discuss changing manual to use Sphinx (see related {{trac|151}})'' (who takes this task?)''&lt;br /&gt;
* Support translated manual pages (see related {{trac|846}}) ''(who knows Makefile programming?)''&lt;br /&gt;
* Sample Mars dataset - at least empty location with correct setup ''(Alessandro Frigeri)''&lt;br /&gt;
: ''ping me later &amp;amp; I'll dig out my MOLA notes (see NVIZ screenshots page). I think there's some info in vol 1 or 3 of the GRASS newsletters. Also I seem to recall that Peter Lowe had a demo Mars mapset already set up for NVIZ + 3D rendering. Note planetary scientists often work in 0-360 degrees not -180 to +180, but GRASS supports that so all is ok.''--Hamish&lt;br /&gt;
* LiDAR, LAS handling ''(Sunday: Helena, MarkusM, and MarkusN)''&lt;br /&gt;
: ''note wish to add direct liblas support to {{cmd|r.in.xyz}}. To be honest I'm not sure how much of a speed advantage there will really be vs. piping from las2txt, but if someone wants to try &amp;amp; report results I'd be interested to hear about it. Not sure if it should be in another r.in.las cloned module or not. maybe a new option stream={ascii|las|mbio}? See also Bob Covill's r.in.xyz version with direct libmbio.a (MB-Systems [multibeam bathymetry]) support.'' --Hamish&lt;br /&gt;
* Improve manual with more examples and screenshots&lt;br /&gt;
* Revive command line (ie Bash) tab-completion for map names, option lists.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Technical ====&lt;br /&gt;
&lt;br /&gt;
===== wxGUI: graphical user interface =====&lt;br /&gt;
* wxGUI: testing before publishing procedure&lt;br /&gt;
* wxGUI: add language selector at startup or in GUI configuration (Important!)&lt;br /&gt;
* wxGUI: modeller improvements&lt;br /&gt;
* wxGUI: further improve the integration of CLI and GUI&lt;br /&gt;
* wxNVIZ: consider to switch to [[OpenSceneGraph]] for 3D visualization&lt;br /&gt;
* Restore d.* commands in GRASS7 - some prototypes are already existing (p.mon: Stefano)&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Built system, installation =====&lt;br /&gt;
* Addons:&lt;br /&gt;
** Autocompilation job for GRASS-Addons ''(MarkusN et al.)''&lt;br /&gt;
** Improve {{cmd|g.extension}} (enable to use precompiled winGRASS Addon binaries)&lt;br /&gt;
* Discuss backporting Makefile system from GRASS 7 to GRASS 6&lt;br /&gt;
* {{done}} Discuss and define new [[GRASS repository layout proposal|toolbox concept]]&lt;br /&gt;
* Daily generated OSGeo4W packages for 6.5svn, 7.0svn.&lt;br /&gt;
* {{done}} GRASS on clusters: shared discussion&lt;br /&gt;
** Job queuing with [[Parallel_GRASS_jobs|Grid Engine]] and [http://en.wikipedia.org/wiki/TORQUE_Resource_Manager Torque]&lt;br /&gt;
** Multi-core CPU with [[OpenMP]]&lt;br /&gt;
** GPU+Multi-core CPU with [[OpenCL]]&lt;br /&gt;
** Multi-node with [http://www.mcs.anl.gov/research/projects/mpich2/ mpich2]&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Documentation =====&lt;br /&gt;
* Develop something like the wxGUI module search tree for the HTML pages&lt;br /&gt;
* Finally :) get htDig fixed on the projects VM&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Testing and benchmarking =====&lt;br /&gt;
* Write tests for different core modules (see the [http://www-pool.math.tu-berlin.de/~soeren/grass/GRASS_TestSuite/html_grass-6.4/ former testsuite] from Soeren's): [[Test Suite]]&lt;br /&gt;
* Discuss testing procedure for GUI&lt;br /&gt;
* Benchmarking between GRASS, QGIS, Sextante, gvSIG, ... for watershed calculation, import, export, extract, ...&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Capabilities =====&lt;br /&gt;
&lt;br /&gt;
* SQLite default DB in grass7: switch default to per-map DB file like DBF, or keep a per-mapset DB file as is currently implemented?&lt;br /&gt;
* Discussion and implementation time frame of temporal GIS capabilities in GRASS [[Time series development]]&lt;br /&gt;
* Discussion about a new parser interface for better command line, GUI and WPS support. Discussion started here: http://trac.osgeo.org/grass/ticket/1031&lt;br /&gt;
* Improve [[WPS]] support&lt;br /&gt;
* Discuss improvements in GRASS 7 vector engine (OGR support, lightweight topology structures, better 3D support)&lt;br /&gt;
* {{done}} Discuss fundamental changes in raster and vector engine for GRASS 8&lt;br /&gt;
* winGRASS: GRASS and R-stats integration improvements (see related {{trac|1149}}, [http://code.google.com/p/batchfiles/ Windows batchfiles for use with R], [http://trac.osgeo.org/grass/ticket/1149#comment:7 ticket/1149#comment:7], [http://trac.osgeo.org/grass/ticket/1149#comment:8 ticket/1149#comment:8])&lt;br /&gt;
* Implement [http://www.gaia-gis.it/spatialite/ RasterLite] as GRASS raster database&lt;br /&gt;
* Java APIs&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
;Discussion on ML&lt;br /&gt;
* http://lists.osgeo.org/pipermail/grass-user/2011-March/059830.html&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
We are planning for attendance of 20 people (i.e., hacking places) but of course you are welcome to join us and bring new ideas with you, as more places are available. Please add your name here or contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
=== In person ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|width=50px|'''No'''&lt;br /&gt;
|width=150px|'''Participant '''&lt;br /&gt;
|width=100px|'''Arrival'''&lt;br /&gt;
|width=100px|'''Departure'''&lt;br /&gt;
|'''Topic'''&lt;br /&gt;
|width=75px|'''T-Shirt'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 25&lt;br /&gt;
|Toolbox concept, vector engine in GRASS 7, wxGUI&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|May 17&lt;br /&gt;
|May 23&lt;br /&gt;
| sponsoring, coding, manual, odds and ends&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|New toolbox concept,translation, g.cloud, r.modis&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:RobertSzczepanek|Robert Szczepanek]]&lt;br /&gt;
|May 19&lt;br /&gt;
|May 23&lt;br /&gt;
|wxGUI, hydrological toolbox, translation&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:madi|Margherita Di Leo]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
| [http://grass.osgeo.org/devel/i18n.php Translation] , python api, wxGUI&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:annalisapg|Annalisa Minelli]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|[http://grass.osgeo.org/devel/i18n.php Translation], python api, r.viewshed, winGRASS debug&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|wxGUI development, v.krige&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|[[User:Afrigeri|Alessandro Frigeri]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 25&lt;br /&gt;
|Planetary SRS in GRASS GIS - OGC W*S tweakings for IAU GCS&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|[[User:huhabla|Sören Gebbert]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 23&lt;br /&gt;
|Time series development, Web Processing Service support, wps-grass-bridge, New parser interface, vtk-grass-bridge&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|[[User:MilenaN|Milena Nowotarska]]&lt;br /&gt;
| May 19&lt;br /&gt;
| May 23&lt;br /&gt;
|wxGUI, translation&lt;br /&gt;
| S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|[[User:helena|Helena Mitasova]]&lt;br /&gt;
|May 22&lt;br /&gt;
|May 25&lt;br /&gt;
|wxnviz, v.vol.rst, r3 and time series, toolbox concept&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|[[User:blazek|Radim Blazek]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 21&lt;br /&gt;
|QGIS friendliness lobbying&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|[[User:peter.loewe|Peter Loewe]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS on computation grids lobbying, povray, paraview/vtk&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|[[User:moovida|Andrea Antonello]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS toolbox for uDig, Geopaparazzi import module for GRASS, Hopefully get knowledge about new raster format&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|[[User:mmetz|Markus Metz]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|vector engine in GRASS 7, support for massive datasets&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|Paweł Netzel&lt;br /&gt;
| May 19&lt;br /&gt;
| May 22&lt;br /&gt;
|&lt;br /&gt;
| XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|[[User:annakrat|Anna Kratochvílová]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxNviz&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19&lt;br /&gt;
|Stefano Cavallari&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Python etc&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Via IRC chat ===&lt;br /&gt;
&lt;br /&gt;
* join us at irc://irc.freenode.net/grass (#grass in [[IRC]])&lt;br /&gt;
* Hamish B, as timezones &amp;amp; work allows&lt;br /&gt;
&lt;br /&gt;
=== Collaborative document scratching ===&lt;br /&gt;
&lt;br /&gt;
* EtherPad: http://etherpad.osuosl.org&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring [http://en.wikipedia.org/wiki/Mains_electricity_by_country power connector adapter] if needed (Czech Republic: 230V, 50Hz, [http://en.wikipedia.org/wiki/File:Euro-Flachstecker_2.jpg Type C Europlugs] are common and also [http://en.wikipedia.org/wiki/File:French_plug_and_socket.jpg Type E])&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Broadcast &amp;amp; Video ==&lt;br /&gt;
&lt;br /&gt;
* Streaming not possible...&lt;br /&gt;
* Live session notes via [http://etherpad.osuosl.org/ EtherPad] are useful. (afterwards post the pads to the wiki&amp;lt;!--link to original pad urls too as the timeline feature is cool :) --&amp;gt;)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* We plan to be online [http://www.ustream.tv/channel/grass-community-sprint-prague-2011 here].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Sprint_Prague_2011&amp;diff=13525</id>
		<title>Talk:GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Sprint_Prague_2011&amp;diff=13525"/>
		<updated>2011-05-26T12:36:08Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /*  Anne Ghisla */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== [[User:Lucadelu|Luca Delucchi]] ===&lt;br /&gt;
* creation of v.pack and v.unpack modules add upload in GRASS addons (please test it add bug report) {{rev|46388}}&lt;br /&gt;
* fix a bug on pyModis with Stefano Cavallari, the library that I'll use for [[R.modis|r.modis]] [https://github.com/lucadelu/pyModis/commit/7369cf63140f611dc9b4a5e78820f6c333ecdcd6]&lt;br /&gt;
* implement a new class in pyModis to parse XML files of MODIS products&lt;br /&gt;
* create wiki page for my Google summer of code project [[R.modis|r.modis]]&lt;br /&gt;
&lt;br /&gt;
=== [[User:Landa|Martin Landa]] ===&lt;br /&gt;
&lt;br /&gt;
* Mediawiki youtube extension - http://lists.osgeo.org/pipermail/grass-user/2011-May/060863.html&lt;br /&gt;
* nviz_cmd: remove double parameter &amp;amp; cosmetics in params description - {{rev|46349}}&lt;br /&gt;
* wx.psmap moved from addons to the main repo (author: Anna Kratochvilova) - {{rev|46356}}&lt;br /&gt;
* various minor changes in wxGUI - {{rev|46392}}&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* wxGUI menu customization - {{rev|46397}}&lt;br /&gt;
* wxGUI GSelect height customization - {{rev|46397}}&lt;br /&gt;
&lt;br /&gt;
=== [[User:Neteler|Markus Neteler]] ===&lt;br /&gt;
* Sponsor money management&lt;br /&gt;
* Nicer [http://grass.osgeo.org/donation.php donations page], together with Stefano Cavallari who implemented the Paypal connector&lt;br /&gt;
* r.mask: catch user error - [https://trac.osgeo.org/grass/changeset/46372 r46372]&lt;br /&gt;
* grass-addons/grass7/display/d.mon: fix missing Makefile - [https://trac.osgeo.org/grass/changeset/46370 r46370]&lt;br /&gt;
* [[Toolboxes]] assignment together with Helena Mitasova&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Robert Szczepanek ===&lt;br /&gt;
* continued Polish translation&lt;br /&gt;
&lt;br /&gt;
=== Milena Nowotarska ===&lt;br /&gt;
* continued Polish translation&lt;br /&gt;
* work on wxGUI menu improvements&lt;br /&gt;
&lt;br /&gt;
=== Markus Metz ===&lt;br /&gt;
* r.mask: bug fixed for reclassed maps in 6.x - [https://trac.osgeo.org/grass/changeset/46345/ r46345], [https://trac.osgeo.org/grass/changeset/46346/ r46346]&lt;br /&gt;
* LiDAR, LAS handling: creation of import modules [r|v].in.lidar for the [http://www.liblas.org/ ASPRS LiDAR LAS format]&lt;br /&gt;
* GRASS 7 development&lt;br /&gt;
** time series, together with Helena Mitasova and Sören Gebbert (project leader): design of a true temporal GIS&lt;br /&gt;
** scalable vector topology, with Radim Blazek&lt;br /&gt;
&lt;br /&gt;
=== [[User:Madi|Margherita Di Leo]] ===&lt;br /&gt;
* Scratch for r.stream GUI (GSoC Project) - [[Wx.stream_gsoc2011]]&lt;br /&gt;
* r.threshold: New module useful to find optimal threshold for stream extraction {{rev|46403}}&lt;br /&gt;
&lt;br /&gt;
=== Andrea Antonello ===&lt;br /&gt;
* Generic OMS3/Java wrapper for GRASS modules for generic use in the java world. &lt;br /&gt;
* Complete description [http://jgrasstechtips.blogspot.com/2011/05/oms3-grass-modules-wrapper-at-prague.html here], since I didn't want to spam with images.&lt;br /&gt;
&lt;br /&gt;
=== Sören Gebbert ===&lt;br /&gt;
* Implementing time as new dimension into GRASS GIS to create a true temporal GIS, together with Helena Mitasova and Markus Metz &lt;br /&gt;
* Implemented direct access to GRASS GIS 7 libraries (libgis, libraster, libvect, libdb, ...) from the Java programming language in [http://code.google.com/p/vtk-grass-bridge vtk-grass-bridge]&lt;br /&gt;
* Discussion about new approaches in grid and cloud computing with GRASS GIS, leaded by Peter Loewe&lt;br /&gt;
* Designing a new test suite and test frame work for GRASS GIS, together with Anne Ghisla&lt;br /&gt;
* New approaches in web processing services and GRASS GIS, together with Paweł Netzel and Luca Delucchi&lt;br /&gt;
&lt;br /&gt;
=== Paweł Netzel ===&lt;br /&gt;
* work on wxGUI menu improvements&lt;br /&gt;
&lt;br /&gt;
=== [[User:AnneGhisla | Anne Ghisla]] ===&lt;br /&gt;
* [[Test Suite]] proposal together with Sören Gebbert&lt;br /&gt;
* Added datatype check in r.mask Python script (GRASS7) [[https://trac.osgeo.org/grass/changeset/46379 | 46379]], porting GRASS6 shell script [[https://trac.osgeo.org/grass/changeset/46372 | 43672]]&lt;br /&gt;
* Google Summer of Code guidance for GRASS students and mentors who attended the sprint&lt;br /&gt;
&lt;br /&gt;
== Press release draft ==&lt;br /&gt;
&lt;br /&gt;
... write it ... mention achievements and sponsors ... at bottom 3 lines what GRASS is, take from [http://grass.osgeo.org/announces/abstract_grass641.txt here]&lt;br /&gt;
&lt;br /&gt;
== Organizer's page ==&lt;br /&gt;
&lt;br /&gt;
* Sponsors&lt;br /&gt;
** {{done}} [http://grass.osgeo.org/announces/donate-now.html Find] and coordinate them&lt;br /&gt;
&lt;br /&gt;
* {{done}} ([http://geoinformatics.fsv.cvut.cz/gwiki/Room_B367 B367]) Hackfest Room&lt;br /&gt;
** {{done}} Wifi or switch(es)&lt;br /&gt;
** {{done}} extension cables&lt;br /&gt;
** {{done}} video projector&lt;br /&gt;
** {{done}} Opportunity to prepare coffee or likewise (if possible)&lt;br /&gt;
&lt;br /&gt;
* Video broadcasting&lt;br /&gt;
** camera for streaming (maybe not needed)&lt;br /&gt;
&lt;br /&gt;
* Accommodation&lt;br /&gt;
** {{done}} Reserve sufficient (cheap) rooms in advance&lt;br /&gt;
** {{done}} Find some really low budget places&lt;br /&gt;
&lt;br /&gt;
* Social dinner&lt;br /&gt;
** {{done}} Sunday evening&lt;br /&gt;
&lt;br /&gt;
* City tour&lt;br /&gt;
** {{done}} Consider one city walk event to get distracted :)&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** {{done}} [[IRC]] broadcast on #grass&lt;br /&gt;
** [http://etherpad.osuosl.org/ Etherpad] for live notes&lt;br /&gt;
** Fotos&lt;br /&gt;
** '''Press release which includes the relevant sponsor names''' for newspapers and GRASS communication channels&lt;br /&gt;
&lt;br /&gt;
=== Hints for the Preparation ===&lt;br /&gt;
* Very useful guide: http://wiki.osgeo.org/wiki/FOSS4G2007_Lessons_Learned&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Sprint_Prague_2011&amp;diff=13524</id>
		<title>Talk:GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Talk:GRASS_Community_Sprint_Prague_2011&amp;diff=13524"/>
		<updated>2011-05-26T12:35:38Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Anne Ghisla */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Reports ==&lt;br /&gt;
&lt;br /&gt;
=== [[User:Lucadelu|Luca Delucchi]] ===&lt;br /&gt;
* creation of v.pack and v.unpack modules add upload in GRASS addons (please test it add bug report) {{rev|46388}}&lt;br /&gt;
* fix a bug on pyModis with Stefano Cavallari, the library that I'll use for [[R.modis|r.modis]] [https://github.com/lucadelu/pyModis/commit/7369cf63140f611dc9b4a5e78820f6c333ecdcd6]&lt;br /&gt;
* implement a new class in pyModis to parse XML files of MODIS products&lt;br /&gt;
* create wiki page for my Google summer of code project [[R.modis|r.modis]]&lt;br /&gt;
&lt;br /&gt;
=== [[User:Landa|Martin Landa]] ===&lt;br /&gt;
&lt;br /&gt;
* Mediawiki youtube extension - http://lists.osgeo.org/pipermail/grass-user/2011-May/060863.html&lt;br /&gt;
* nviz_cmd: remove double parameter &amp;amp; cosmetics in params description - {{rev|46349}}&lt;br /&gt;
* wx.psmap moved from addons to the main repo (author: Anna Kratochvilova) - {{rev|46356}}&lt;br /&gt;
* various minor changes in wxGUI - {{rev|46392}}&lt;br /&gt;
&lt;br /&gt;
=== Vaclav Petras ===&lt;br /&gt;
&lt;br /&gt;
* wxGUI menu customization - {{rev|46397}}&lt;br /&gt;
* wxGUI GSelect height customization - {{rev|46397}}&lt;br /&gt;
&lt;br /&gt;
=== [[User:Neteler|Markus Neteler]] ===&lt;br /&gt;
* Sponsor money management&lt;br /&gt;
* Nicer [http://grass.osgeo.org/donation.php donations page], together with Stefano Cavallari who implemented the Paypal connector&lt;br /&gt;
* r.mask: catch user error - [https://trac.osgeo.org/grass/changeset/46372 r46372]&lt;br /&gt;
* grass-addons/grass7/display/d.mon: fix missing Makefile - [https://trac.osgeo.org/grass/changeset/46370 r46370]&lt;br /&gt;
* [[Toolboxes]] assignment together with Helena Mitasova&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
=== Robert Szczepanek ===&lt;br /&gt;
* continued Polish translation&lt;br /&gt;
&lt;br /&gt;
=== Milena Nowotarska ===&lt;br /&gt;
* continued Polish translation&lt;br /&gt;
* work on wxGUI menu improvements&lt;br /&gt;
&lt;br /&gt;
=== Markus Metz ===&lt;br /&gt;
* r.mask: bug fixed for reclassed maps in 6.x - [https://trac.osgeo.org/grass/changeset/46345/ r46345], [https://trac.osgeo.org/grass/changeset/46346/ r46346]&lt;br /&gt;
* LiDAR, LAS handling: creation of import modules [r|v].in.lidar for the [http://www.liblas.org/ ASPRS LiDAR LAS format]&lt;br /&gt;
* GRASS 7 development&lt;br /&gt;
** time series, together with Helena Mitasova and Sören Gebbert (project leader): design of a true temporal GIS&lt;br /&gt;
** scalable vector topology, with Radim Blazek&lt;br /&gt;
&lt;br /&gt;
=== [[User:Madi|Margherita Di Leo]] ===&lt;br /&gt;
* Scratch for r.stream GUI (GSoC Project) - [[Wx.stream_gsoc2011]]&lt;br /&gt;
* r.threshold: New module useful to find optimal threshold for stream extraction {{rev|46403}}&lt;br /&gt;
&lt;br /&gt;
=== Andrea Antonello ===&lt;br /&gt;
* Generic OMS3/Java wrapper for GRASS modules for generic use in the java world. &lt;br /&gt;
* Complete description [http://jgrasstechtips.blogspot.com/2011/05/oms3-grass-modules-wrapper-at-prague.html here], since I didn't want to spam with images.&lt;br /&gt;
&lt;br /&gt;
=== Sören Gebbert ===&lt;br /&gt;
* Implementing time as new dimension into GRASS GIS to create a true temporal GIS, together with Helena Mitasova and Markus Metz &lt;br /&gt;
* Implemented direct access to GRASS GIS 7 libraries (libgis, libraster, libvect, libdb, ...) from the Java programming language in [http://code.google.com/p/vtk-grass-bridge vtk-grass-bridge]&lt;br /&gt;
* Discussion about new approaches in grid and cloud computing with GRASS GIS, leaded by Peter Loewe&lt;br /&gt;
* Designing a new test suite and test frame work for GRASS GIS, together with Anne Ghisla&lt;br /&gt;
* New approaches in web processing services and GRASS GIS, together with Paweł Netzel and Luca Delucchi&lt;br /&gt;
&lt;br /&gt;
=== Paweł Netzel ===&lt;br /&gt;
* work on wxGUI menu improvements&lt;br /&gt;
&lt;br /&gt;
=== [[User:Aghisla | Anne Ghisla]] ===&lt;br /&gt;
* [[Test Suite]] proposal together with Sören Gebbert&lt;br /&gt;
* Added datatype check in r.mask Python script (GRASS7) [[https://trac.osgeo.org/grass/changeset/46379 | 46379]], porting GRASS6 shell script [[https://trac.osgeo.org/grass/changeset/46372 | 43672]]&lt;br /&gt;
* Google Summer of Code guidance for GRASS students and mentors who attended the sprint&lt;br /&gt;
&lt;br /&gt;
== Press release draft ==&lt;br /&gt;
&lt;br /&gt;
... write it ... mention achievements and sponsors ... at bottom 3 lines what GRASS is, take from [http://grass.osgeo.org/announces/abstract_grass641.txt here]&lt;br /&gt;
&lt;br /&gt;
== Organizer's page ==&lt;br /&gt;
&lt;br /&gt;
* Sponsors&lt;br /&gt;
** {{done}} [http://grass.osgeo.org/announces/donate-now.html Find] and coordinate them&lt;br /&gt;
&lt;br /&gt;
* {{done}} ([http://geoinformatics.fsv.cvut.cz/gwiki/Room_B367 B367]) Hackfest Room&lt;br /&gt;
** {{done}} Wifi or switch(es)&lt;br /&gt;
** {{done}} extension cables&lt;br /&gt;
** {{done}} video projector&lt;br /&gt;
** {{done}} Opportunity to prepare coffee or likewise (if possible)&lt;br /&gt;
&lt;br /&gt;
* Video broadcasting&lt;br /&gt;
** camera for streaming (maybe not needed)&lt;br /&gt;
&lt;br /&gt;
* Accommodation&lt;br /&gt;
** {{done}} Reserve sufficient (cheap) rooms in advance&lt;br /&gt;
** {{done}} Find some really low budget places&lt;br /&gt;
&lt;br /&gt;
* Social dinner&lt;br /&gt;
** {{done}} Sunday evening&lt;br /&gt;
&lt;br /&gt;
* City tour&lt;br /&gt;
** {{done}} Consider one city walk event to get distracted :)&lt;br /&gt;
&lt;br /&gt;
* Documentation&lt;br /&gt;
** {{done}} [[IRC]] broadcast on #grass&lt;br /&gt;
** [http://etherpad.osuosl.org/ Etherpad] for live notes&lt;br /&gt;
** Fotos&lt;br /&gt;
** '''Press release which includes the relevant sponsor names''' for newspapers and GRASS communication channels&lt;br /&gt;
&lt;br /&gt;
=== Hints for the Preparation ===&lt;br /&gt;
* Very useful guide: http://wiki.osgeo.org/wiki/FOSS4G2007_Lessons_Learned&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Test_Suite&amp;diff=13420</id>
		<title>Test Suite</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Test_Suite&amp;diff=13420"/>
		<updated>2011-05-22T10:35:04Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Background */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= GRASS Test Suite =&lt;br /&gt;
&lt;br /&gt;
We aim at creating a comprehensive test suite for GRASS modules and libraries.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
See what has been done so far by Sören Gebbert and others here: [[Development#QA]] and the good [[http://www.vtk.org/Wiki/images/b/bc/Testing.cover.txt | VKT test suite]]&lt;br /&gt;
&lt;br /&gt;
Keep an eye on [[GRASS_7_ideas_collection#Complete_GRASS_Test_Suite:_see_activity_on_Test_Suite_development_page | GRASS 7 ideas collection]]&lt;br /&gt;
&lt;br /&gt;
== Main picture ==&lt;br /&gt;
&lt;br /&gt;
We plan to run unittests and integration tests for both libraries and modules. The test suite will be run after compilation, with a command like:&lt;br /&gt;
&lt;br /&gt;
  $ make tests [ proj [ libs | modules | all ] ]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* proj: run the tests with a [list of] CRS, so that reprojection and map unit handling are tested.&lt;br /&gt;
* libs: run tests for libs only&lt;br /&gt;
* modules: run tests for modules only, assuming that libs are error-free&lt;br /&gt;
* all: run tests on libs first, then if they pass, test the modules. It's the opposite of regression tests.&lt;br /&gt;
&lt;br /&gt;
== Tests == &lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
Tests are targeted to single modules/library functions, as independent as possible from other GRASS modules.&lt;br /&gt;
&lt;br /&gt;
Where independence is impossible, then try to run called modules first and check if they break. -- how is it possible to call a module in the test, and by that way call its test too?&lt;br /&gt;
&lt;br /&gt;
Tests are in each module's folder (written in Python), and in each library's folder (written in Python using ctypes). &lt;br /&gt;
&lt;br /&gt;
Framework to generate and compare grass data types: raster, vector, raster3d, general, db, icon, imagery, d.*?&lt;br /&gt;
&lt;br /&gt;
wxGUI testing should be tested separately.&lt;br /&gt;
&lt;br /&gt;
Automated tests on server generates HTML report. Test several platforms.&lt;br /&gt;
&lt;br /&gt;
== Test framework: ==&lt;br /&gt;
&lt;br /&gt;
The test framework is something like:&lt;br /&gt;
&lt;br /&gt;
* BaseTest:&lt;br /&gt;
** Handles module test results codes and messages&lt;br /&gt;
** Creates a HTML report from these&lt;br /&gt;
&lt;br /&gt;
* RasterTest(BaseTest):&lt;br /&gt;
** Raster data generator functions&lt;br /&gt;
** Raster data comparison functions&lt;br /&gt;
&lt;br /&gt;
* VectorTest(BaseTest):&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Using these classes, each module will have its own test class, like:&lt;br /&gt;
&lt;br /&gt;
* RMapcalcTest(RasterTest):&lt;br /&gt;
** generates data&lt;br /&gt;
** runs r.mapcalc&lt;br /&gt;
** compare results with the expected ones&lt;br /&gt;
** output the results of the test as messages, to be prettified in HTML&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline and status ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Interested people == &lt;br /&gt;
&lt;br /&gt;
* [[User:huhabla | Sören Gebbert]]&lt;br /&gt;
* [[User:AnneGhisla| Anne Ghisla]]&lt;br /&gt;
* Add your name here&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;br /&gt;
[[Category: Testing]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Test_Suite&amp;diff=13419</id>
		<title>Test Suite</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Test_Suite&amp;diff=13419"/>
		<updated>2011-05-22T10:33:54Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: proposal draft complete&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= GRASS Test Suite =&lt;br /&gt;
&lt;br /&gt;
We aim at creating a comprehensive test suite for GRASS modules and libraries.&lt;br /&gt;
&lt;br /&gt;
== Background ==&lt;br /&gt;
&lt;br /&gt;
See what has been done so far by Sören Gebbert and others here: [[Development#QA]] and the good [[http://www.vtk.org/Wiki/images/b/bc/Testing.cover.txt | VKT test suite]]&lt;br /&gt;
&lt;br /&gt;
Keep an eye on [[GRASS_7_ideas_collection#Complete_GRASS_Test_Suite:_see_activity_on_Test_Suite_development_page GRASS 7 ideas collection]]&lt;br /&gt;
&lt;br /&gt;
== Main picture ==&lt;br /&gt;
&lt;br /&gt;
We plan to run unittests and integration tests for both libraries and modules. The test suite will be run after compilation, with a command like:&lt;br /&gt;
&lt;br /&gt;
  $ make tests [ proj [ libs | modules | all ] ]&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
* proj: run the tests with a [list of] CRS, so that reprojection and map unit handling are tested.&lt;br /&gt;
* libs: run tests for libs only&lt;br /&gt;
* modules: run tests for modules only, assuming that libs are error-free&lt;br /&gt;
* all: run tests on libs first, then if they pass, test the modules. It's the opposite of regression tests.&lt;br /&gt;
&lt;br /&gt;
== Tests == &lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
Tests are targeted to single modules/library functions, as independent as possible from other GRASS modules.&lt;br /&gt;
&lt;br /&gt;
Where independence is impossible, then try to run called modules first and check if they break. -- how is it possible to call a module in the test, and by that way call its test too?&lt;br /&gt;
&lt;br /&gt;
Tests are in each module's folder (written in Python), and in each library's folder (written in Python using ctypes). &lt;br /&gt;
&lt;br /&gt;
Framework to generate and compare grass data types: raster, vector, raster3d, general, db, icon, imagery, d.*?&lt;br /&gt;
&lt;br /&gt;
wxGUI testing should be tested separately.&lt;br /&gt;
&lt;br /&gt;
Automated tests on server generates HTML report. Test several platforms.&lt;br /&gt;
&lt;br /&gt;
== Test framework: ==&lt;br /&gt;
&lt;br /&gt;
The test framework is something like:&lt;br /&gt;
&lt;br /&gt;
* BaseTest:&lt;br /&gt;
** Handles module test results codes and messages&lt;br /&gt;
** Creates a HTML report from these&lt;br /&gt;
&lt;br /&gt;
* RasterTest(BaseTest):&lt;br /&gt;
** Raster data generator functions&lt;br /&gt;
** Raster data comparison functions&lt;br /&gt;
&lt;br /&gt;
* VectorTest(BaseTest):&lt;br /&gt;
** ...&lt;br /&gt;
&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Using these classes, each module will have its own test class, like:&lt;br /&gt;
&lt;br /&gt;
* RMapcalcTest(RasterTest):&lt;br /&gt;
** generates data&lt;br /&gt;
** runs r.mapcalc&lt;br /&gt;
** compare results with the expected ones&lt;br /&gt;
** output the results of the test as messages, to be prettified in HTML&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Timeline and status ==&lt;br /&gt;
&lt;br /&gt;
TBD&lt;br /&gt;
&lt;br /&gt;
== Interested people == &lt;br /&gt;
&lt;br /&gt;
* [[User:huhabla | Sören Gebbert]]&lt;br /&gt;
* [[User:AnneGhisla| Anne Ghisla]]&lt;br /&gt;
* Add your name here&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;br /&gt;
[[Category: Testing]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_7_ideas_collection&amp;diff=13416</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=13416"/>
		<updated>2011-05-22T09:57:19Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Complete GRASS Test Suite */ added link to new wikipage on test suite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MoveToTrac}}&lt;br /&gt;
&lt;br /&gt;
  See also: http://trac.osgeo.org/grass/wiki/Grass7/NewFeatures&lt;br /&gt;
&lt;br /&gt;
== Maintenance of repository ==&lt;br /&gt;
&lt;br /&gt;
For GRASS 7 development is used [http://svn.osgeo.org/grass/grass/trunk/ svn-trunk], for GRASS 6 development is used separated branch [https://svn.osgeo.org/grass/grass/branches/develbranch_6 develbranch_6].&lt;br /&gt;
&lt;br /&gt;
   '''Planning is continued here: http://trac.osgeo.org/grass/wiki/Grass7Planning'''&lt;br /&gt;
&lt;br /&gt;
== Terminology ==&lt;br /&gt;
&lt;br /&gt;
See [[GRASS 7 Terminology]].&lt;br /&gt;
&lt;br /&gt;
== List of new features in GRASS 7 (already implemented) ==&lt;br /&gt;
&lt;br /&gt;
See http://trac.osgeo.org/grass/wiki/Grass7/NewFeatures&lt;br /&gt;
&lt;br /&gt;
== API to access algorithms in modules ==&lt;br /&gt;
&lt;br /&gt;
We need to better expose the &amp;quot;knowledge&amp;quot; which is contained at module level. We want to have it accessible via API, exposed in various programming languages such as C, Python, Perl, Java, ..&lt;br /&gt;
&lt;br /&gt;
Update 1/2011: Python ctypes interface available&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;
* Insert 'vertical' 2d rasters (e.g. [http://woodshole.er.usgs.gov/project-pages/longislandsound/images/Ghist_square2.jpg geophysical survey data])&lt;br /&gt;
* Rewrite library from scratch. See [http://lists.osgeo.org/pipermail/grass-dev/2006-August/025153.html suggestions]&lt;br /&gt;
* &amp;lt;strike&amp;gt;Split libgis into [http://trac.osgeo.org/grass/wiki/Grass7RasterLib G_() part and Rast_() part]&amp;lt;/strike&amp;gt; - done.&lt;br /&gt;
* &amp;lt;strike&amp;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]&amp;lt;/strike&amp;gt; - done.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Raster map history:&lt;br /&gt;
* In 7.0, the fields of the history structure are dynamically allocated. You have to use Rast_set_history() or Rast_format_history() to set fields. The the HIST_* constants have to be used.&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
&lt;br /&gt;
==== rename ====&lt;br /&gt;
* rename r.in.gdal to r.import - see [http://lists.osgeo.org/pipermail/grass-dev/2008-October/thread.html#40450 discussion]&lt;br /&gt;
* rename r.out.gdal to r.export - see [http://lists.osgeo.org/pipermail/grass-dev/2008-October/thread.html#40450 discussion]&lt;br /&gt;
* &amp;lt;strike&amp;gt;rename r.volume 'data' parameter to something more standard like 'input'&amp;lt;/strike&amp;gt;&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;
: see delta comment about r.out.tiff below, sometimes the simple stuff works best! --HB&lt;br /&gt;
:: Ditto.&lt;br /&gt;
&lt;br /&gt;
* remove '''r.resample''' and &amp;lt;strike&amp;gt;'''r.bilinear'''&amp;lt;/strike&amp;gt; in favor of '''r.resamp.interp'''&lt;br /&gt;
: TODO: double-check that r.resample is in fact fully replaced by 'r.resamp.interp's method=nearest'. ie check that an alternate useful method is not lost.&lt;br /&gt;
* &amp;lt;strike&amp;gt;remove '''r.univar.sh'''; newly implemented '''r.univar''' features cover it&amp;lt;/strike&amp;gt; '''done.'''&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;
:: However: code duplication, maintenance overhead, user confussion (more entries in GUI, more manual pages, why are there modules doing the same?).&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 {{cmd|r.surf.idw}} and {{cmd|r.surf.idw2}}&lt;br /&gt;
: while r.surf.idw will only output CELL maps, it is Very Fast. (or that is to say, ''r.surf.idw2'' is Very Slow)&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.mode}}, {{cmd|r.statistics}}, {{cmd|r.univar.sh}}, {{cmd|r.univar}}(2) - 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;
* &amp;lt;strike&amp;gt; {{cmd|r.sum}}, {{cmd|r.average}}, {{cmd|r.median}}, have been removed, as equivalent functionality is available via r.statistics{,2,3}.&amp;lt;/strike&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.resamp.rst}}: merge into {{cmd|r.resamp.interp}} to make resolution management identical to the other modules&lt;br /&gt;
: HB: eh? the options and algorithm are nothing alike.&lt;br /&gt;
:: MS: I meant that r.resamp.rst could be a subset of r.resamp.interp (yet another resampling algorithm next to nearest, bilinear, bicubic). I haven't considered that the number of rst options would make r.resamp.interp user interface much less clear. Maybe not such a good idea after all - user interface wise.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.in.wms}} and {{cmd|r.in.srtm}} into {{cmd|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;
: HB: just be careful that the GDAL version is as featureful and grid/cell center correct as the r.in.* versions. I suspect it might not be. r.in.wms needs further python rewrite with full XML and HTTP library support.&lt;br /&gt;
&lt;br /&gt;
* {{cmd|r.buffer}} and {{cmd|r.grow}}&lt;br /&gt;
: HB: why? they do two fundamentally different things, and both work quite nicely right now. One works in cell space, the other geographic space (especially for lat/lon).&lt;br /&gt;
:: MS: Right. The 2 modules do different things. But it would be usefull if r.grow supported distance in units and r.buffer in cells. Could both share same code for distance options?&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;
* r.random should be split into 2 modules: one for generating a raster map with random points (alike v.random), and the other for sampling a raster map (alike v.what.rast). Vector functionality should be droped from r.random - a dupe of existing vector modules. -i and -z flags should be droped.&lt;br /&gt;
* v.random -z: read zmin and zmax from region settings, drop zmin and zmax. I.e. treat Z coord same as X,Y.&lt;br /&gt;
&lt;br /&gt;
==== Good coding practice ====&lt;br /&gt;
&lt;br /&gt;
* Input handling:&lt;br /&gt;
&lt;br /&gt;
 /* Define the different options */&lt;br /&gt;
 input1               = G_define_standard_option(G_OPT_R_INPUT) ;&lt;br /&gt;
 input1-&amp;gt;key          = _(&amp;quot;albedo&amp;quot;);&lt;br /&gt;
 input1-&amp;gt;description  =_(&amp;quot;Name of the Albedo map [0.0-1.0]&amp;quot;);&lt;br /&gt;
 input1-&amp;gt;answer       =_(&amp;quot;albedo&amp;quot;);&lt;br /&gt;
 input1-&amp;gt;guisection   = _(&amp;quot;Required&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
In here you can find G_define_standard_option(G_OPT_R_INPUT) assuming&lt;br /&gt;
already those:&lt;br /&gt;
   input1-&amp;gt;type       = TYPE_STRING;&lt;br /&gt;
   input1-&amp;gt;required   = YES;&lt;br /&gt;
   input1-&amp;gt;gisprompt  =_(&amp;quot;old,cell,raster&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
If your input is not required to run the module, you just create the&lt;br /&gt;
following line:&lt;br /&gt;
  input1-&amp;gt;required   = NO;&lt;br /&gt;
&lt;br /&gt;
* In a similar way, metadata/history storage:&lt;br /&gt;
&lt;br /&gt;
       G_short_history(result1, &amp;quot;raster&amp;quot;, &amp;amp;history);&lt;br /&gt;
       G_command_history(&amp;amp;history);&lt;br /&gt;
       G_write_history(result1,&amp;amp;history);&lt;br /&gt;
&lt;br /&gt;
* This is the standard incantation, but I have to find timestamp(), and&lt;br /&gt;
more details metadata maybe like sensor type for a start, or&lt;br /&gt;
source/origin of data... Can we make metadata having elements&lt;br /&gt;
(history-&amp;gt;processing, history-&amp;gt;timestamp, history-&amp;gt;source(or&lt;br /&gt;
history-&amp;gt;origin), etc?) then it could be filled up specifically.&lt;br /&gt;
&lt;br /&gt;
* Or color palettes application is nice:&lt;br /&gt;
&lt;br /&gt;
 /* Color table for biomass */&lt;br /&gt;
       G_init_colors(&amp;amp;colors);&lt;br /&gt;
       G_add_color_rule(0,0,0,0,1,255,255,255,&amp;amp;colors);&lt;br /&gt;
&lt;br /&gt;
* Changes (from Glynn):&lt;br /&gt;
I would prefer it if G_open_*_new() simply called&lt;br /&gt;
G_fatal_error() themselves if an error occurred. It's not as if there's&lt;br /&gt;
any reasonable alternative way to handle the error.&lt;br /&gt;
&lt;br /&gt;
* Changes:&lt;br /&gt;
&lt;br /&gt;
      input = G_define_option(G_OPT_F(D?)_INPUT) ;&lt;br /&gt;
      input-&amp;gt;key        =_(&amp;quot;parameter&amp;quot;);&lt;br /&gt;
      input-&amp;gt;type       = TYPE_DOUBLE;&lt;br /&gt;
      input-&amp;gt;required   = YES;&lt;br /&gt;
      input-&amp;gt;gisprompt  =_(&amp;quot;value, parameter&amp;quot;);&lt;br /&gt;
      input-&amp;gt;description=_(&amp;quot;Value of the parameter&amp;quot;);&lt;br /&gt;
      /*input-&amp;gt;answer     =_(&amp;quot;0.000&amp;quot;);*/&lt;br /&gt;
      input-&amp;gt;guisection = _(&amp;quot;Required&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
I could also think similarly for non-GRASS files actually&lt;br /&gt;
(configuration files sometimes need to be loaded separately)&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;
* v.in.ogr: split long boundaries to speed up topology cleaning. Implemented in GRASS 7, partial backport to GRASS 6.5 possible.&lt;br /&gt;
{|&lt;br /&gt;
||&lt;br /&gt;
[[Image:V.in.ogr_speed.png|400px|thumb|left|v.in.ogr speed comparison]]&lt;br /&gt;
|}&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 - see [http://lists.osgeo.org/pipermail/grass-dev/2008-October/thread.html#40450 discussion]&lt;br /&gt;
* rename v.out.ogr to v.export - see [http://lists.osgeo.org/pipermail/grass-dev/2008-October/thread.html#40450 discussion]&lt;br /&gt;
* rename v.mkgrid to v.grid - see [http://lists.osgeo.org/pipermail/grass-dev/2008-October/thread.html#40450 discussion]&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 {{cmd|v.sample}} and {{cmd|v.what.rast}}&lt;br /&gt;
: See a feature request &amp;lt;strike&amp;gt;[http://wald.intevation.org/tracker/index.php?func=detail&amp;amp;aid=506&amp;amp;group_id=21&amp;amp;atid=188 #506]&amp;lt;/strike&amp;gt; in GForge.&lt;br /&gt;
: see also {{cmd|v.rast.stats}} and {{AddonCmd|v.what.rast.buffer}} addon&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;
** &amp;lt;strike&amp;gt;Support '''vector's 3rd''' dimension in '''g.region vect= [-a]''', '''[res=]''', like the 2d extents are (or should be)&amp;lt;/strike&amp;gt; see [http://trac.osgeo.org/grass/ticket/121 trac #121]&lt;br /&gt;
&lt;br /&gt;
== Database ==&lt;br /&gt;
=== Library ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;strike&amp;gt;establish SQLite as default DBMI driver for vector attribute storage (DBF is too limited).&amp;lt;/strike&amp;gt;  '''done May 2008.'''&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 (requires access via possibly different DBMI drivers)&lt;br /&gt;
&lt;br /&gt;
==== rename ====&lt;br /&gt;
* rename db.in.ogr to db.import&lt;br /&gt;
&lt;br /&gt;
== Imagery ==&lt;br /&gt;
&lt;br /&gt;
 Page has been moved to Trac: http://trac.osgeo.org/grass/wiki/Grass7/ImageryLib&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;
 The page moved to Trac: http://trac.osgeo.org/grass/wiki/Grass7/DisplayLib&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;
* use PAL/JPAL [http://geosysin.iict.ch/PAL cartographic labelling library] (GPL, C++ language, JNI wrapper)&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;
: Actually, I (Glynn) no longer think it's that simple. If other users can create directories within your mapset, they can create directories which you cannot remove, and in which you cannot add, remove or modify files. And this is quite likely to happen: most users will have a umask of 0022 or worse, meaning that other users (i.e. you) cannot modify any files or directories which they create.&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? [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.rast4d r.rast4d]&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;
=== Parameters standardization ===&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;
=== Flags standardization ===&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;
* Novice, ...., Expert profiles for the GUI (with reduced features), tailored for use cases, e.g. 3D models of a risk map,&lt;br /&gt;
* link from application to the relevant wiki online support, so that non-programmers can contribute to GRASS support &lt;br /&gt;
* compile wiki online content and help pages into a offline version of help pages for usage in GRASS without internet access.  &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;
* &amp;lt;strike&amp;gt;drop '''d.m'''&amp;lt;/strike&amp;gt; {{done}}&lt;br /&gt;
* &amp;lt;strike&amp;gt;drop '''gis.m'''&amp;lt;/strike&amp;gt; {{done}}&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 {{done}}&lt;br /&gt;
** Custom fonts&lt;br /&gt;
** r.li and other modules temp. files&lt;br /&gt;
** GEM addons installation {{done}}&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;
* [[GRASS repository layout proposal]]&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: see activity on [[Test_Suite | Test Suite development page]] ==&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>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Test_Suite&amp;diff=13415</id>
		<title>Test Suite</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Test_Suite&amp;diff=13415"/>
		<updated>2011-05-22T09:53:29Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: first draft of testing suite development&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= GRASS Test Suite =&lt;br /&gt;
&lt;br /&gt;
Unittest and Integration Test for both libraries and modules&lt;br /&gt;
&lt;br /&gt;
  $ make tests [ proj [ libs | modules | all ] ]&lt;br /&gt;
&lt;br /&gt;
Tests are on single modules, as independent as possible from other GRASS modules. If independence is impossible, then try to run called modules first and check if they break.&lt;br /&gt;
&lt;br /&gt;
Tests are in each module's folder (Python), and in each library's folder (Python ctypes). &lt;br /&gt;
&lt;br /&gt;
Framework to generate and compare grass data types: raster, vector, raster3d, general, db, icon, imagery, d.*?&lt;br /&gt;
&lt;br /&gt;
wxGUI testing should be tested separately.&lt;br /&gt;
&lt;br /&gt;
Automated tests on server generates HTML report. Test several platforms.&lt;br /&gt;
&lt;br /&gt;
Test framework:&lt;br /&gt;
&lt;br /&gt;
[[Category: Development]]&lt;br /&gt;
[[Category: Testing]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Error_incompatible_library_version_for_module&amp;diff=13365</id>
		<title>Error incompatible library version for module</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Error_incompatible_library_version_for_module&amp;diff=13365"/>
		<updated>2011-05-21T13:24:26Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: more than one self-compiled grass version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Q''': Running GRASS, I get this error message:&lt;br /&gt;
&lt;br /&gt;
   &amp;quot;ERROR: Incompatible library version for module. You need to rebuild GRASS&lt;br /&gt;
           or untangle multiple installations&amp;quot;&lt;br /&gt;
&lt;br /&gt;
What's that? What should I do?&lt;br /&gt;
&lt;br /&gt;
'''A1''': Likely you have a self-compiled GRASS version (which is fine). So? When doing update from SVN which contains a change in the core GIS library, and a subsequent recompilation without having run &amp;quot;make distclean&amp;quot; before, this error is issued to avoid incompatibility problems.&lt;br /&gt;
&lt;br /&gt;
'''Solution 1'''&lt;br /&gt;
&lt;br /&gt;
Prepare and recompile your source code copy in this way:&lt;br /&gt;
&lt;br /&gt;
  make distclean&lt;br /&gt;
  svn up&lt;br /&gt;
  ./configure ...&lt;br /&gt;
  make&lt;br /&gt;
  make install&lt;br /&gt;
&lt;br /&gt;
Note: If you use the GDAL-GRASS plugin then also recompile and reinstall it - &amp;quot;just to be sure&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
'''A2''': You have compiled more GRASS versions from SVN, and run make install on more than one. I went into this problem when I compiled and installed both GRASS 6.4 and 6.5.&lt;br /&gt;
&lt;br /&gt;
'''Solution 2''' &lt;br /&gt;
&lt;br /&gt;
You can compile as many GRASS versions as you want; the problems come when you install more than one. The solutions to this error are various:&lt;br /&gt;
&lt;br /&gt;
* First solution can be to choose only one version to be the officially installed. Then remove the grass6.X folder in /usr/local/ (or in the folder you chose for install), and the executable (run which grass65 to find where the executable is). Recompile all involved versions, with the commands shown in Solution 1, ''except make install''. Make install only the version you want to be the official one on your machine.&lt;br /&gt;
* Keep all versions installed, and export the correct LD_LIBRARY_PATH just before running the version you want to use.&lt;br /&gt;
* Remove all installed GRASS versions, recompile without installing them, and make links to all executables in /usr/local/bin.&lt;br /&gt;
&lt;br /&gt;
=== Notes ===&lt;br /&gt;
&lt;br /&gt;
* the &amp;quot;make install&amp;quot; step requires &amp;quot;sudo&amp;quot; under Ubuntu.&lt;br /&gt;
* a reminder that the last step (&amp;quot;sudo make install&amp;quot;) can be avoided completely in single-user complilations since GRASS can be launched directly from within the &amp;quot;/path/to/src/grass64_release/bin.x86_64-unknown-linux-gnu/&amp;quot; directory. You can simply create the following link:&lt;br /&gt;
  /usr/local/bin/grass64 -&amp;gt; /path/to/src/grass64_release/bin.x86_64-unknown-linux-gnu/grass64&lt;br /&gt;
* Also, on Ubuntu, in case one wants to install the compiled binaries, the program &amp;quot;checkinstall&amp;quot; is a good option instead of &amp;quot;make install&amp;quot;. It creates a .deb package and installs it which can be easily uninstalled of course in case of future updates.&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Toolboxes&amp;diff=13357</id>
		<title>Toolboxes</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Toolboxes&amp;diff=13357"/>
		<updated>2011-05-21T10:53:41Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* List of toolboxes */ new idea: atmospheric toolbox&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* See [http://lists.osgeo.org/pipermail/grass-dev/2010-April/050210.html original post by Jarosław Jasiewicz]&lt;br /&gt;
&lt;br /&gt;
* Discussion about the suitability of the proposed change on the [[Talk:GRASS_repository_layout_proposal|talk]] side of this wiki page; discussion of the possible method on this side of the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi all!&lt;br /&gt;
&lt;br /&gt;
That rather radical ideas I present here are rather for future, at least for GRASS 8,&lt;br /&gt;
but I'd like present it now for long-term reflection.&lt;br /&gt;
&lt;br /&gt;
Probably all notice that for over two years there is big increase in add-on repository&lt;br /&gt;
(including me). There are modules of different quality: from fully GRASS toolsets,&lt;br /&gt;
to shell or python scripts, from  actively developed tools to abandoned,&lt;br /&gt;
from all-purpose tools to very specialized etc. I also think that that activity&lt;br /&gt;
will be grown due to substitute shell script by python&lt;br /&gt;
&lt;br /&gt;
Similar situation is in main GRASS branch: there are modules for all like conversion tools,&lt;br /&gt;
interpolation methods, georeferencing etc, and very specialized modules for very limited&lt;br /&gt;
group of users (like wild fire), there are also some modules out of date.&lt;br /&gt;
&lt;br /&gt;
I'm not enthusiastic about moving new modules into main branch. Almost every module has&lt;br /&gt;
different coding style and it will lasting in future that GRASS would be difficult to maintain.&lt;br /&gt;
On the other hand some people complains that some interesting modules are only available as&lt;br /&gt;
add-ons (I assume for some reasons they cannot install it)&lt;br /&gt;
&lt;br /&gt;
So my suggestion is to rearrange future GRASS form two layers (main branch/add-on) into&lt;br /&gt;
three layers architecture:&lt;br /&gt;
&lt;br /&gt;
1) GRASS core layer: much limited limited than now, only GIS environment and basic,&lt;br /&gt;
all-puropse tools, slow changes, great stability&lt;br /&gt;
2) GRASS toolset layer: oficcial GRASS thematic tools and toolsets (like terrain analysis,&lt;br /&gt;
hydrological analysis, photo-interpretation, landscape analysis etc,) every toolset with its&lt;br /&gt;
maintainer, rapid development, new ready to use tools after quality control may appear here,&lt;br /&gt;
also some of current main branch tool shall be moved to that layer&lt;br /&gt;
3) GRASS community layer:  everything else like experimental, actively development new tools,&lt;br /&gt;
that what do not pass quality control, simple scripts, etc....&lt;br /&gt;
&lt;br /&gt;
What benefits:&lt;br /&gt;
for developers and contributors: much clear situation and better publication path.&lt;br /&gt;
Toolset layer should be much more open for new tools than current GRASS main branch&lt;br /&gt;
&lt;br /&gt;
for users: faster access to new tools.&lt;br /&gt;
There is no doubt that new tools are faster developed (less risk) than GRASS core&lt;br /&gt;
Binaries with toolsets could be maintained as separate apt/urpmi/pacman/yum/exe etc packages,&lt;br /&gt;
so it may appear in linux repository separetly form GRASS core.&lt;br /&gt;
&lt;br /&gt;
There is only loose ideas. Most of them are of course taken from R (core/toolsets/rest of packages;&lt;br /&gt;
separate core and package development) but I think it is worth of some discuss ...&lt;br /&gt;
&lt;br /&gt;
regards&lt;br /&gt;
Jarek&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
== Repository layout ==&lt;br /&gt;
=== Current repository layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- grass&lt;br /&gt;
|- trunk&lt;br /&gt;
 |- raster/&lt;br /&gt;
 |- vector/&lt;br /&gt;
 |- ...&lt;br /&gt;
&lt;br /&gt;
- grass-addons&lt;br /&gt;
|- raster/&lt;br /&gt;
|- vector/&lt;br /&gt;
|- ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Proposed repository layout ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
- grass&lt;br /&gt;
|- trunk&lt;br /&gt;
 |- raster/&lt;br /&gt;
 |- vector/&lt;br /&gt;
 |- ...&lt;br /&gt;
&lt;br /&gt;
- grass-tools&lt;br /&gt;
|- trunk&lt;br /&gt;
 |- raster/&lt;br /&gt;
 |- vector/&lt;br /&gt;
 |- ...&lt;br /&gt;
&lt;br /&gt;
- grass-addons&lt;br /&gt;
|- raster/&lt;br /&gt;
|- vector/&lt;br /&gt;
|- ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Proposed toolboxes ==&lt;br /&gt;
&lt;br /&gt;
'''Toolbox''' is a topic-based set of modules used for solving common GIS analysis, like hydrology, networking, LRS, etc. Toolbox should be easily installed by the user using {{cmd|g.extension|version=70}}&lt;br /&gt;
&lt;br /&gt;
* add toolbox&lt;br /&gt;
&lt;br /&gt;
 g.extension toolbox=hydrology operation=add&lt;br /&gt;
&lt;br /&gt;
Source code of the selected modules is downloaded from SVN, compiled and afterwards also installed to the user-specified (~/.grass7) or system (/usr/lib/grass7) directory.&lt;br /&gt;
&lt;br /&gt;
Give the possibility with a flag (like -a) to install also modules from addons related that toolbox &lt;br /&gt;
&lt;br /&gt;
 g.extension -a toolbox=hydrology operation=add&lt;br /&gt;
&lt;br /&gt;
* remove toolbox&lt;br /&gt;
&lt;br /&gt;
 g.extension toolbox=hydrology operation=remove&lt;br /&gt;
&lt;br /&gt;
* list of modules of selected toolbox&lt;br /&gt;
&lt;br /&gt;
 g.extension -l toolbox=hydrology&lt;br /&gt;
&lt;br /&gt;
User can also add/remove selected module&lt;br /&gt;
&lt;br /&gt;
 g.extension module=r.stream.angle operation=add&lt;br /&gt;
&lt;br /&gt;
=== List of toolboxes ===&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Toolbox name''' || '''Toolbox code''' || '''Description'''||'''Correlate toolbox'''&lt;br /&gt;
|-&lt;br /&gt;
| ''3D Raster''&lt;br /&gt;
| R3&lt;br /&gt;
| All `r3.*` modules&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''3D Visualization''&lt;br /&gt;
| V3&lt;br /&gt;
| {{cmd|nviz_cmd|version=70}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Cartography''&lt;br /&gt;
| CA&lt;br /&gt;
| {{cmd|ps.map|version=70}}, {{AddonCmd|ps.output}}&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Database''&lt;br /&gt;
| DB&lt;br /&gt;
| All `db.*` modules&lt;br /&gt;
| ''Vector analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Geostatistcal''&lt;br /&gt;
| GS&lt;br /&gt;
| {{cmd|v.krige|version=70}} maybe other&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''GUI''&lt;br /&gt;
| GI&lt;br /&gt;
| [[wxGUI]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Hydrology''&lt;br /&gt;
| HY&lt;br /&gt;
| {{cmd|r.watershed|version=70}}, {{cmd|r.terraflow|version=70}}, `r.stream.*` modules in addons, maybe other, r.flow, r.sim.water, r.sim.sediment&lt;br /&gt;
| ''Raster analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Imagery''&lt;br /&gt;
| IM&lt;br /&gt;
| All `i.*` modules, selected r.* modules&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Landascape analysis''&lt;br /&gt;
| LA&lt;br /&gt;
| All `r.li.*` modules, maybe other&lt;br /&gt;
| ''Raster analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Lidar analysis''&lt;br /&gt;
| LI&lt;br /&gt;
| All `v.lidar.*` modules, {{cmd|v.surf.bspline|version=70}}, r.in.xyz&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Linear Reference Systems''&lt;br /&gt;
| LS&lt;br /&gt;
| All `v.lrs.*` modules&lt;br /&gt;
| ''Vector analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Network analysis''&lt;br /&gt;
| NA&lt;br /&gt;
| All `v.net.*` modules, maybe other&lt;br /&gt;
| ''Vector analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Raster analysis''&lt;br /&gt;
| RA&lt;br /&gt;
| A lot of basic `r.*` modules (like {{cmd|r.buffer,|version=70}} {{cmd|r.reclass|version=70}}, {{cmd|r.fillnull|version=70}}...)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ''Terrain analysis''&lt;br /&gt;
| TA&lt;br /&gt;
| Different kind of analysis: soil ({{cmd|r.sun,|version=70}}), terrain ({{cmd|r.slope.aspect|version=70}}, {{cmd|r.los|version=70}}), geomorphometry ({{cmd|r.param.scale|version=70}})&lt;br /&gt;
| ''Raster analysis''&lt;br /&gt;
|-&lt;br /&gt;
| ''Vector analysis''&lt;br /&gt;
| VA&lt;br /&gt;
| A lot of basic `v.*` modules (like {{cmd|v.buffer|version=70}}, {{cmd|v.centroid|version=70}}, {{cmd|v.overlay|version=70}}...)&lt;br /&gt;
| ''Database''&lt;br /&gt;
|-&lt;br /&gt;
| ''Atmospheric tools''&lt;br /&gt;
| AT&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
HM comment: do we need import/export Toolbox for all of the specialized *.in* and *.out.* commands? gdal/ogr commands should be in core.&lt;br /&gt;
&lt;br /&gt;
== List of modules (trunk) ==&lt;br /&gt;
&lt;br /&gt;
=== Display ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.barscale|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.colorlist|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.colortable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.correlate|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.erase|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.font|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.fontlist|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.geodesic|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.graph|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.grid|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.his|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.histogram|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.info|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.labels|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.legend|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.linegraph|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.nviz|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.path|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.polar|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.profile|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast.arrow|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast.edit|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast.leg|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rast.num|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rgb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.rhumbline|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.shadedmap|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.text|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.thematic.area|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.title|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.vect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.vect.chart|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.vect.thematic|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|d.where|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Database ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.columns|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.connect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.copy|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.createdb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.databases|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.describe|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.drivers|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.dropcolumn|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.dropdb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.droptable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.droptable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.execute|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.in.ogr|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.login|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.out.ogr|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.select|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.tables|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|db.test|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== General ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.access|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.cairocomp|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.copy|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.dirseps|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.extension|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.filename|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.findetc|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.findfile|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.gisenv|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.gui|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.list|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.manual|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mapset|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mapsets|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.message|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mkfontcap|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mlist|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.mremove|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.parser|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.pnmcomp|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.ppmtopng|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.proj|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.region|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.remove|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.rename|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.tempfile|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.transform|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|g.version|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Imagery ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.albedo|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.atcorr|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.biomass|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.cca|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.cluster|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.eb.eta|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.eb.evapfr|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.eb.h_SEBAL01|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.eb.soilheatflux|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.emissivity|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.evapo.time|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.fft|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.fusion.brovey|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.gensig|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.gensigset|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.group|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.his.rgb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.ifft|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.image.mosaic|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.in.spotvgt|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.landsat.rgb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.latlong|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.maxlik|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.modis.qc|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.oif|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.pca|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.rectify|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.rgb.his|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.smap|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.spectral|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.sunhours|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.target|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.tasscap|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.vi|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|i.zc|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Misc ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|m.cogo|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|m.measure|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|m.proj|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Postscript ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|ps.map|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Raster ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.basins.fill|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.bitpattern|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.blend|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.buffer|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.buffer2|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.carve|version=70}} || T ||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.category|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.circle|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.clump|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.coin|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.colors|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.colors.out|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.colors.stddev|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.composite|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.compress|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.contour|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.cost|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.covar|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.cross|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.describe|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.distance|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.drain|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.external|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.external.out|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.fill.dir|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.fillnulls|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.flow|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.grow|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.grow.distance|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.gwflow|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.his|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.horizon|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.arc|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.ascii|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.aster|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.bin|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.gdal|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.gridatb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.mat|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.png|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.poly|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.srtm|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.wms|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.in.xyz|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.info|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.kappa|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.lake|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.cwed|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.dominance|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.edgedensity|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.mpa|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.mps|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.padcv|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.padrange|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.padsd|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.patchdensity|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.patchnum|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.richness|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.shannon|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.shape|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.li.simpson|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.los|version=70}} || T||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.mapcalc|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.mask|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.mfilter|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.mode|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.neighbors|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.null|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.arc|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.ascii|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.bin|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.gdal|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.gridatb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.mat|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.mpeg|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.png|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.pov|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.ppm|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.ppm3|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.tiff|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.vrml|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.vtk|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.out.xyz|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.param.scale|version=70}} || T ||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.patch|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.plane|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.profile|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.proj|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.quant|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.quantile|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.random|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.random.cells|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.random.surface|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.reclass|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.reclass.area|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.recode|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.region|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.regression.line|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.report|version=70}} || C||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.bspline|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.filter|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.interp|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.rst|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resamp.stats|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.resample|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.rescale|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.rescale.eq|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.ros|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.series|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.shaded.relief|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.sim.sediment|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.sim.water|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.slope.aspect|version=70}} || T ||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.solute.transport|version=70}} || T ||?&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.spread|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.spreadpath|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.statistics|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.statistics2|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.statistics3|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.stats|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.sun|version=70}} || T ||TA&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.sunmask|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.support|version=70}} || C||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.support.stats|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.area|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.contour|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.fractal|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.gauss|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.idw|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.idw2|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.surf.random|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.terraflow|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.texture|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.thin|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.tileset|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.timestamp|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.to.rast3|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.to.rast3elev|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.to.vect|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.topidx|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.topmodel|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.transect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.univar|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.uslek|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.usler|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.volume|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.walk|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.water.outlet|version=70}} || T||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.watershed|version=70}} || T ||HY&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.what|version=70}} || C ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r.what.color|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D raster ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.cross.rast|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.gwflow|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.in.ascii|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.in.v5d|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.info|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.mapcalc|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.mask|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.mkdspf|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.null|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.out.ascii|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.out.v5d|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.out.vtk|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.stats|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.timestamp|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.to.rast|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|r3.univar|version=70}} || T || 3D Raster&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.autokrige|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.buffer|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.build|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.build.all|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.build.polylines|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.category|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.centroids|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.class|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.clean|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.colors|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.convert|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.convert.all|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.addcolumn|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.addtable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.connect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.dropcolumn|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.droprow|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.droptable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.join|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.reconnect.all|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.renamecolumn|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.select|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.univar|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.db.update|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.delaunay|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.dissolve|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.distance|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.drape|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.edit|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.external|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.extract|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.extrude|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.generalize|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.hull|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.ascii|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.db|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.dxf|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.e00|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.geonames|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.gns|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.lines|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.mapgen|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.ogr|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.postgis|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.region|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.sites|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.sites.all|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.in.wfs|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.info|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.kcv|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.kernel|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.krige|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.label|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lidar.correction|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lidar.edgedetection|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lidar.growing|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lrs.create|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lrs.label|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lrs.segment|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.lrs.where|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.mkgrid|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.neighbors|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.alloc|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.allpairs|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.bridge|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.centrality|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.components|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.connectivity|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.distance|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.flow|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.iso|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.path|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.salesman|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.spanningtree|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.steiner|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.timetable|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.net.visibility|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.normal|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.ascii|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.dxf|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.gps|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.ogr|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.postgis|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.pov|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.svg|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.out.vtk|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.outlier|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.overlay|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.parallel|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.patch|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.perturb|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.proj|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.qcount|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.random|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.rast.stats|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.reclass|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.report|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.sample|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.segment|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.select|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.split|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.support|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.surf.bspline|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.surf.idw|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.surf.rst|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.3d|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.db|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.points|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.rast|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.to.rast3|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.transform|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.type|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.univar|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.vol.rst|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.voronoi|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.what|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.what.rast|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|v.what.vect|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Various ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)'''&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|nviz|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|nviz_cmd|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|wximgview|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|wxpyimgview|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|xganim|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
| {{cmd|ximgview|version=70}} || ? ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== List of selected AddOns modules ==&lt;br /&gt;
&lt;br /&gt;
See [[GRASS AddOns]] for full list of available modules. Feel free to extend this list.&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|'''Module''' || '''Core/Tools/Addons''' || '''Toolbox(es)''' || '''Note'''&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.stream.angle}} || T || HY ||&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.seg}} || T || IM || It could be rename to `i.seg`&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|i.topocorr}} || T || IM ||&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|r.diversity}} || T || LA ||&lt;br /&gt;
|-&lt;br /&gt;
| {{AddonCmd|Ps.output}} || ? || || &lt;br /&gt;
|-&lt;br /&gt;
| ... || ? || ||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How to implement ==&lt;br /&gt;
&lt;br /&gt;
=== propose 1 ===&lt;br /&gt;
* add html tag &amp;lt;param&amp;gt; in the description.html with these options:&lt;br /&gt;
 &amp;lt;param name = &amp;quot;core&amp;quot;&amp;gt; for core module&lt;br /&gt;
 &amp;lt;param name = &amp;quot;tool&amp;quot; value=&amp;quot;tool_code/codes&amp;quot;&amp;gt; for toolbox&lt;br /&gt;
 &amp;lt;param name = &amp;quot;addons&amp;quot; [value=&amp;quot;tool_code/codes&amp;quot;]&amp;gt; for addons, value is optional&lt;br /&gt;
&lt;br /&gt;
* create a script to generate a xml file for each toolbox&lt;br /&gt;
* add toolbox option in g.extension to read the xml and install the modules&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13356</id>
		<title>GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13356"/>
		<updated>2011-05-21T10:51:18Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Topics */ updated after first brainstorming&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Succeeding the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 Geoinformatics FCE CTU 2011] ''(International Conference on Free Software and Open Source in Geoinformatics)'', 19-20 May 2011, [http://en.wikipedia.org/wiki/Prague Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic], the GRASS GIS project will hold a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' ''from May 20 to May 25, 2011''.&lt;br /&gt;
&lt;br /&gt;
'''Important dates:'''&lt;br /&gt;
&lt;br /&gt;
* 19 (Thursday) - 20 (Friday) May 2011: Geoinformatics FCE CTU 2011 conference&lt;br /&gt;
&lt;br /&gt;
* '''20 (Friday) - 25 (Wednesday) May 2011: GRASS Community Sprint @ [http://www.fsv.cvut.cz/ FCE CTU]'''&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
Get together GRASS project members to make decisions and tackle larger problems.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS project. This includes developers, documenters, bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ????  MN: what the problem??&lt;br /&gt;
We welcome financial contributions to support the meeting and we are looking for sponsors to cover costs such as meals or to help reducing traveling and accommodation expenses for GRASS developers with far arrival.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested to sponsor the GRASS Community Sprint, please read about&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''sponsoring the GRASS project at [http://grass.osgeo.org/donation.php http://grass.osgeo.org/donation.php]'''&amp;lt;br&amp;gt;&lt;br /&gt;
and, if needed, contact [[User:Neteler|Markus Neteler]] &amp;lt;tt&amp;gt;&amp;lt;neteler at osgeo.org&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
The first GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet in Prague. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
=== Thanks to our sponsors ===&lt;br /&gt;
&lt;br /&gt;
We are grateful for the support which we have received to organize this GRASS Community Sprint:&lt;br /&gt;
&lt;br /&gt;
* [http://gfoss.it/ GFOSS.it Associazione Italiana per l'Informazione Geografica Libera] - 1400 Euro&lt;br /&gt;
* Stefan Sylla, [http://sylla-consult.de/en/ sylla-consult], Frankfurt, Germany - 100 Euro&lt;br /&gt;
* [http://www.r3-gis.com/ R3 GIS], Merano, Italy - 500 euro&lt;br /&gt;
* [http://www.fossgis.de FOSSGIS e.V.], D-A-CH, - 500 euro&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
&lt;br /&gt;
'''When''': Friday, May 20, 2011 (day of arrival) - Wednesday, May 25, 2011 (day of departure)&lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''':&lt;br /&gt;
&lt;br /&gt;
* Friday is day of arrival&lt;br /&gt;
** First meeting in the evening (after the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 conference]) to define the agenda&lt;br /&gt;
* Saturday to Tuesday&lt;br /&gt;
** Full days&lt;br /&gt;
* Wednesday is day of departure&lt;br /&gt;
** Probably hacking for people with a flight later in the evening&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
[[Image:logo_cvut.jpg|130px|left]]&lt;br /&gt;
Department of Mapping and Cartography&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.fsv.cvut.cz Faculty of Civil Engineering]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cvut.cz Czech Technical University in Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://geoinformatics.fsv.cvut.cz/gwiki/Room_B367 Room B367] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Where_you_can_find_us Location &amp;amp; Transportations]'''&lt;br /&gt;
&lt;br /&gt;
Prague has an international [http://www.prg.aero/en/ airport] and is also reachable by train, bus or car.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
Participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel to Prague, variable depending on where you come from&lt;br /&gt;
* Accommodation and meals&lt;br /&gt;
'''Please note''': The currency in Czech Republic is [http://en.wikipedia.org/wiki/Czech_crown crown] (CZK, koruna, Kč). 100 Czech crowns are about 4 Euros (see [http://www.cnb.cz/en/financial_markets/foreign_exchange_market/exchange_rate_fixing/daily.jsp current rates]).&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague Accommodation in Prague]'''&lt;br /&gt;
&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Masarykova_Kolej_Hotel Masarykova Kolej Hotel]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_DAP Hotel DAP]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Krystal Hotel Krystal]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Pension_Hanspaulka Pension Hanspaulka]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Silenzio Hotel Silenzio]&lt;br /&gt;
:* Special offer: ''sleeping for free in the kindergarten'' (30min by city urban mass transportation from the university campus, sleeping bag required, kitchen and WC available, no showers, in working days available only from 8 p.m. to 8 a.m.), contact [[User:Landa|Martin Landa]] for details&lt;br /&gt;
:* See also http://www.hotel.cz/praha-6/accommodation/&lt;br /&gt;
&lt;br /&gt;
Please let us know your time of arrival and leaving, so we can book for the accommodations and organize the logistics.&lt;br /&gt;
&lt;br /&gt;
'''TO BE DEFINED:''' We will cover costs as much as possible thanks to our sponsors. Apparently also partial travel grants can be offered.&lt;br /&gt;
&lt;br /&gt;
== Weather and Common Item Prices ==&lt;br /&gt;
&lt;br /&gt;
* In May the weather in Prague is usually quite warm ([http://www.prague-spot.com/climate 15 or more degrees by day])&lt;br /&gt;
* A espresso coffee is about 20 CZK (80 cents), a beer (half of liter) in a common pub is around 25 CZK (1 euro), can be more in special pubs. In Prague you can have a full meal (see [http://en.wikipedia.org/wiki/Czech_cuisine Czech cuisine]) for still 75 - 150 CZK (3 - 6 euros), but beware of tourist restaurants, the prize can easily rise. It's quite easy to find in Prague also Italian or Chinese restaurants.&lt;br /&gt;
&lt;br /&gt;
== Agenda - What we plan to do ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The program is generally open for your ideas. Please write an email to the [http://lists.osgeo.org/mailman/listinfo/grass-dev GRASS developer list] to discuss your contribution.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
==== Friday, 20 May ====&lt;br /&gt;
* Kick-off at 18.30&lt;br /&gt;
&lt;br /&gt;
==== Saturday, 21 May (Room B367, third floor) ====&lt;br /&gt;
* 10 a.m. starting time&lt;br /&gt;
* 11 a.m. Welcome meeting&lt;br /&gt;
* discuss and finetune agenda&lt;br /&gt;
* presentation of participants&lt;br /&gt;
* Evening&lt;br /&gt;
: '''[http://www.youtube.com/watch?v=Jf6NFRGO9ak Valentina Shuklina's] concert in [http://www.cafe-technika.cz Café Technika]'''&lt;br /&gt;
&lt;br /&gt;
==== Sunday, 22 May ====&lt;br /&gt;
* All participants discussion rounds:&lt;br /&gt;
** Testing new GUI features&lt;br /&gt;
** Changing parameter names in GRASS 7 (think about automated differences to GRASS 6 documentation)&lt;br /&gt;
** r.mask problems: backport this [http://trac.osgeo.org/grass/changeset/46323 change] and floating point support&lt;br /&gt;
** Toolboxes?&lt;br /&gt;
** ...&lt;br /&gt;
* Individual topics...&lt;br /&gt;
* Evening: '''Social dinner'''&lt;br /&gt;
&lt;br /&gt;
==== Monday, 23 May ====&lt;br /&gt;
* Community Sprint 3&lt;br /&gt;
&lt;br /&gt;
==== Tuesday, 24 May ====&lt;br /&gt;
* Community Sprint 4&lt;br /&gt;
&lt;br /&gt;
==== Wednesday, 25 May ====&lt;br /&gt;
* Finish press release (including thanks to sponsors with names)&lt;br /&gt;
* Wrap up and see you soon&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
&lt;br /&gt;
==== Non-technical ====&lt;br /&gt;
&lt;br /&gt;
* Discuss new sponsoring concept. Borrow HTML code from http://donate.openstreetmap.org/&lt;br /&gt;
* Improve promotional material&lt;br /&gt;
* Introduce this year's selection of Google Summer of Code projects&lt;br /&gt;
* Strategy to populate new GRASS Website with content from old website&lt;br /&gt;
* GRASS 7 development strategy:&lt;br /&gt;
** Feature freezing GRASS 6; bugfix-only backports for 6.4.2+ libraries and modules&lt;br /&gt;
* ...&lt;br /&gt;
* @Markus: run grass64/gource_it.sh and publish video&lt;br /&gt;
&lt;br /&gt;
==== Semi-technical ====&lt;br /&gt;
&lt;br /&gt;
* Improve manual with more examples and screenshots&lt;br /&gt;
* Outline screen capture videos for &amp;quot;Getting started with GRASS&amp;quot; and for using wxGUI for various specific tasks&lt;br /&gt;
* Discuss changing manual to use Sphinx (see related {{trac|151}})&lt;br /&gt;
* Support translated manual pages (see related {{trac|846}})&lt;br /&gt;
* Design new project [[Web site]] engine based on CMS&lt;br /&gt;
* Discuss possible metadata storage improvements for GRASS 7&lt;br /&gt;
* Sample Mars dataset - at least empty location with correct setup&lt;br /&gt;
* LiDAR, LAS handling&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Technical ====&lt;br /&gt;
&lt;br /&gt;
===== wxGUI: graphical user interface =====&lt;br /&gt;
* wxGUI: add language selector at startup or in GUI configuration&lt;br /&gt;
* wxGUI modeller improvements&lt;br /&gt;
* wxGUI: further improve the integration of CLI and GUI&lt;br /&gt;
* wxNVIZ: consider to switch to [[OpenSceneGraph]] for 3D visualization&lt;br /&gt;
* Restore d.* commands in GRASS7 - some prototypes are already existing&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Built system, installation =====&lt;br /&gt;
* Autocompilation job for GRASS-Addons&lt;br /&gt;
* Discuss backporting Makefile system from GRASS 7 to GRASS 6&lt;br /&gt;
* Improve {{cmd|g.extension}} (enable to use prepared winGRASS Addon binaries)&lt;br /&gt;
* Discuss and define new [[GRASS repository layout proposal|toolbox concept]]&lt;br /&gt;
* Daily generated OSGeo4W packages for 6.5svn, 7.0svn.&lt;br /&gt;
* GRASS on clusters: shared discussion&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Documentation =====&lt;br /&gt;
* Develop something like the wxGUI module search tree for the HTML pages&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Testing and benchmarking =====&lt;br /&gt;
* Write tests for different core modules (see Soeren's testsuite)&lt;br /&gt;
* Discuss testing procedure for GUI&lt;br /&gt;
* Benchmarking between GRASS, QGIS, Sextante, gvSIG, ... for watershed calculation, import, export, extract, ...&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Capabilities =====&lt;br /&gt;
&lt;br /&gt;
* SQLite default DB in grass7: switch default to per-map DB file like DBF, or keep a per-mapset DB file as is currently implemented?&lt;br /&gt;
* Discussion and implementation time frame of temporal GIS capabilities in GRASS [[Time series development]]&lt;br /&gt;
* Discussion about a new parser interface for better command line, GUI and WPS support. Discussion started here: http://trac.osgeo.org/grass/ticket/1031&lt;br /&gt;
* Improve [[WPS]] support&lt;br /&gt;
* Discuss improvements in GRASS 7 vector engine (OGR support, lightweight topology structures, better 3D support)&lt;br /&gt;
* Discuss fundamental changes in raster and vector engine for GRASS 8&lt;br /&gt;
* winGRASS: GRASS and R-stats integration improvements (see related {{trac|1149}}, [http://code.google.com/p/batchfiles/ Windows batchfiles for use with R])&lt;br /&gt;
* Implement [http://www.gaia-gis.it/spatialite/ RasterLite] as GRASS raster database&lt;br /&gt;
* Java APIs&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
;Discussion on ML&lt;br /&gt;
* http://lists.osgeo.org/pipermail/grass-user/2011-March/059830.html&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
We are planning for attendance of 20 people (i.e., hacking places) but of course you are welcome to join us and bring new ideas with you, as more places are available. Please add your name here or contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
=== In person ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|width=50px|'''No'''&lt;br /&gt;
|width=150px|'''Participant '''&lt;br /&gt;
|width=100px|'''Arrival'''&lt;br /&gt;
|width=100px|'''Departure'''&lt;br /&gt;
|'''Topic'''&lt;br /&gt;
|width=75px|'''T-Shirt'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 25&lt;br /&gt;
|Toolbox concept, vector engine in GRASS 7, wxGUI&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|May 17&lt;br /&gt;
|May 23&lt;br /&gt;
| sponsoring, coding, manual, odds and ends&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|New toolbox concept,translation, g.cloud, r.modis&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:RobertSzczepanek|Robert Szczepanek]]&lt;br /&gt;
|May 19&lt;br /&gt;
|May 23&lt;br /&gt;
|wxGUI, hydrological toolbox, translation&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:madi|Margherita Di Leo]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
| [http://grass.osgeo.org/devel/i18n.php Translation] , python api, wxGUI&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:annalisapg|Annalisa Minelli]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|[http://grass.osgeo.org/devel/i18n.php Translation], python api, r.viewshed, winGRASS debug&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|wxGUI development, v.krige&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|[[User:Afrigeri|Alessandro Frigeri]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 25&lt;br /&gt;
|Planetary SRS in GRASS GIS - OGC W*S tweakings for IAU GCS&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|[[User:huhabla|Sören Gebbert]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 23&lt;br /&gt;
|Time series development, Web Processing Service support, wps-grass-bridge, New parser interface, vtk-grass-bridge&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|[[User:MilenaN|Milena Nowotarska]]&lt;br /&gt;
| May 19&lt;br /&gt;
| May 23&lt;br /&gt;
|wxGUI, translation&lt;br /&gt;
| S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|[[User:helena|Helena Mitasova]]&lt;br /&gt;
|May 22&lt;br /&gt;
|May 25&lt;br /&gt;
|wxnviz, v.vol.rst, r3 and time series, toolbox concept&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|[[User:blazek|Radim Blazek]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 21&lt;br /&gt;
|QGIS friendliness lobbying&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|[[User:peter.loewe|Peter Loewe]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS on computation grids lobbying, povray, paraview/vtk&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|[[User:moovida|Andrea Antonello]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS toolbox for uDig, Geopaparazzi import module for GRASS, Hopefully get knowledge about new raster format&lt;br /&gt;
|L&lt;br /&gt;
|to be confirmed (but 87% sure)&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|[[User:mmetz|Markus Metz]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|vector engine in GRASS 7, support for massive datasets&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|Paweł Netzel&lt;br /&gt;
| May 19&lt;br /&gt;
| May 22&lt;br /&gt;
|&lt;br /&gt;
| XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|[[User:annakrat|Anna Kratochvílová]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxNviz&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Via IRC chat ===&lt;br /&gt;
&lt;br /&gt;
* join us at irc://irc.freenode.net/grass (#grass in [[IRC]])&lt;br /&gt;
* Hamish B, as timezones &amp;amp; work allows&lt;br /&gt;
&lt;br /&gt;
=== Collaborative document scratching ===&lt;br /&gt;
&lt;br /&gt;
* EtherPad: http://etherpad.osuosl.org&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring [http://en.wikipedia.org/wiki/Mains_electricity_by_country power connector adapter] if needed (Czech Republic: 230V, 50Hz, [http://en.wikipedia.org/wiki/File:Euro-Flachstecker_2.jpg Type C Europlugs] are common and also [http://en.wikipedia.org/wiki/File:French_plug_and_socket.jpg Type E])&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Broadcast &amp;amp; Video ==&lt;br /&gt;
&lt;br /&gt;
* Live session notes via [http://etherpad.osuosl.org/ EtherPad] are useful. (afterwards post the pads to the wiki&amp;lt;!--link to original pad urls too as the timeline feature is cool :) --&amp;gt;)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* We plan to be online [http://www.ustream.tv/channel/grass-community-sprint-prague-2011 here].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13355</id>
		<title>GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13355"/>
		<updated>2011-05-21T10:44:04Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Built system, installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Succeeding the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 Geoinformatics FCE CTU 2011] ''(International Conference on Free Software and Open Source in Geoinformatics)'', 19-20 May 2011, [http://en.wikipedia.org/wiki/Prague Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic], the GRASS GIS project will hold a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' ''from May 20 to May 25, 2011''.&lt;br /&gt;
&lt;br /&gt;
'''Important dates:'''&lt;br /&gt;
&lt;br /&gt;
* 19 (Thursday) - 20 (Friday) May 2011: Geoinformatics FCE CTU 2011 conference&lt;br /&gt;
&lt;br /&gt;
* '''20 (Friday) - 25 (Wednesday) May 2011: GRASS Community Sprint @ [http://www.fsv.cvut.cz/ FCE CTU]'''&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
Get together GRASS project members to make decisions and tackle larger problems.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS project. This includes developers, documenters, bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ????  MN: what the problem??&lt;br /&gt;
We welcome financial contributions to support the meeting and we are looking for sponsors to cover costs such as meals or to help reducing traveling and accommodation expenses for GRASS developers with far arrival.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested to sponsor the GRASS Community Sprint, please read about&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''sponsoring the GRASS project at [http://grass.osgeo.org/donation.php http://grass.osgeo.org/donation.php]'''&amp;lt;br&amp;gt;&lt;br /&gt;
and, if needed, contact [[User:Neteler|Markus Neteler]] &amp;lt;tt&amp;gt;&amp;lt;neteler at osgeo.org&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
The first GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet in Prague. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
=== Thanks to our sponsors ===&lt;br /&gt;
&lt;br /&gt;
We are grateful for the support which we have received to organize this GRASS Community Sprint:&lt;br /&gt;
&lt;br /&gt;
* [http://gfoss.it/ GFOSS.it Associazione Italiana per l'Informazione Geografica Libera] - 1400 Euro&lt;br /&gt;
* Stefan Sylla, [http://sylla-consult.de/en/ sylla-consult], Frankfurt, Germany - 100 Euro&lt;br /&gt;
* [http://www.r3-gis.com/ R3 GIS], Merano, Italy - 500 euro&lt;br /&gt;
* [http://www.fossgis.de FOSSGIS e.V.], D-A-CH, - 500 euro&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
&lt;br /&gt;
'''When''': Friday, May 20, 2011 (day of arrival) - Wednesday, May 25, 2011 (day of departure)&lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''':&lt;br /&gt;
&lt;br /&gt;
* Friday is day of arrival&lt;br /&gt;
** First meeting in the evening (after the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 conference]) to define the agenda&lt;br /&gt;
* Saturday to Tuesday&lt;br /&gt;
** Full days&lt;br /&gt;
* Wednesday is day of departure&lt;br /&gt;
** Probably hacking for people with a flight later in the evening&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
[[Image:logo_cvut.jpg|130px|left]]&lt;br /&gt;
Department of Mapping and Cartography&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.fsv.cvut.cz Faculty of Civil Engineering]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cvut.cz Czech Technical University in Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://geoinformatics.fsv.cvut.cz/gwiki/Room_B367 Room B367] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Where_you_can_find_us Location &amp;amp; Transportations]'''&lt;br /&gt;
&lt;br /&gt;
Prague has an international [http://www.prg.aero/en/ airport] and is also reachable by train, bus or car.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
Participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel to Prague, variable depending on where you come from&lt;br /&gt;
* Accommodation and meals&lt;br /&gt;
'''Please note''': The currency in Czech Republic is [http://en.wikipedia.org/wiki/Czech_crown crown] (CZK, koruna, Kč). 100 Czech crowns are about 4 Euros (see [http://www.cnb.cz/en/financial_markets/foreign_exchange_market/exchange_rate_fixing/daily.jsp current rates]).&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague Accommodation in Prague]'''&lt;br /&gt;
&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Masarykova_Kolej_Hotel Masarykova Kolej Hotel]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_DAP Hotel DAP]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Krystal Hotel Krystal]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Pension_Hanspaulka Pension Hanspaulka]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Silenzio Hotel Silenzio]&lt;br /&gt;
:* Special offer: ''sleeping for free in the kindergarten'' (30min by city urban mass transportation from the university campus, sleeping bag required, kitchen and WC available, no showers, in working days available only from 8 p.m. to 8 a.m.), contact [[User:Landa|Martin Landa]] for details&lt;br /&gt;
:* See also http://www.hotel.cz/praha-6/accommodation/&lt;br /&gt;
&lt;br /&gt;
Please let us know your time of arrival and leaving, so we can book for the accommodations and organize the logistics.&lt;br /&gt;
&lt;br /&gt;
'''TO BE DEFINED:''' We will cover costs as much as possible thanks to our sponsors. Apparently also partial travel grants can be offered.&lt;br /&gt;
&lt;br /&gt;
== Weather and Common Item Prices ==&lt;br /&gt;
&lt;br /&gt;
* In May the weather in Prague is usually quite warm ([http://www.prague-spot.com/climate 15 or more degrees by day])&lt;br /&gt;
* A espresso coffee is about 20 CZK (80 cents), a beer (half of liter) in a common pub is around 25 CZK (1 euro), can be more in special pubs. In Prague you can have a full meal (see [http://en.wikipedia.org/wiki/Czech_cuisine Czech cuisine]) for still 75 - 150 CZK (3 - 6 euros), but beware of tourist restaurants, the prize can easily rise. It's quite easy to find in Prague also Italian or Chinese restaurants.&lt;br /&gt;
&lt;br /&gt;
== Agenda - What we plan to do ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The program is generally open for your ideas. Please write an email to the [http://lists.osgeo.org/mailman/listinfo/grass-dev GRASS developer list] to discuss your contribution.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
==== Friday, 20 May ====&lt;br /&gt;
* Kick-off at 18.30&lt;br /&gt;
&lt;br /&gt;
==== Saturday, 21 May (Room B367, third floor) ====&lt;br /&gt;
* 10 a.m. starting time&lt;br /&gt;
* 11 a.m. Welcome meeting&lt;br /&gt;
* discuss and finetune agenda&lt;br /&gt;
* presentation of participants&lt;br /&gt;
* Evening&lt;br /&gt;
: '''[http://www.youtube.com/watch?v=Jf6NFRGO9ak Valentina Shuklina's] concert in [http://www.cafe-technika.cz Café Technika]'''&lt;br /&gt;
&lt;br /&gt;
==== Sunday, 22 May ====&lt;br /&gt;
* All participants discussion rounds:&lt;br /&gt;
** Testing new GUI features&lt;br /&gt;
** Changing parameter names in GRASS 7 (think about automated differences to GRASS 6 documentation)&lt;br /&gt;
** r.mask problems: backport this [http://trac.osgeo.org/grass/changeset/46323 change] and floating point support&lt;br /&gt;
** Toolboxes?&lt;br /&gt;
** ...&lt;br /&gt;
* Individual topics...&lt;br /&gt;
* Evening: '''Social dinner'''&lt;br /&gt;
&lt;br /&gt;
==== Monday, 23 May ====&lt;br /&gt;
* Community Sprint 3&lt;br /&gt;
&lt;br /&gt;
==== Tuesday, 24 May ====&lt;br /&gt;
* Community Sprint 4&lt;br /&gt;
&lt;br /&gt;
==== Wednesday, 25 May ====&lt;br /&gt;
* Finish press release (including thanks to sponsors with names)&lt;br /&gt;
* Wrap up and see you soon&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
&lt;br /&gt;
==== Non-technical ====&lt;br /&gt;
&lt;br /&gt;
* Discuss new sponsoring concept. Borrow HTML code from http://donate.openstreetmap.org/&lt;br /&gt;
* Introduce this year's selection of Google Summer of Code projects&lt;br /&gt;
* Strategy to populate new GRASS Website with content from old website&lt;br /&gt;
* GRASS 7 development strategy:&lt;br /&gt;
** Feature freezing GRASS 6; bugfix-only backports for 6.4.2+ libraries and modules&lt;br /&gt;
* ...&lt;br /&gt;
* @Markus: run grass64/gource_it.sh and publish video&lt;br /&gt;
&lt;br /&gt;
==== Semi-technical ====&lt;br /&gt;
&lt;br /&gt;
* Improve manual with more examples and screenshots&lt;br /&gt;
* Outline screen capture videos for &amp;quot;Getting started with GRASS&amp;quot; and for using wxGUI for various specific tasks&lt;br /&gt;
* Discuss changing manual to use Sphinx (see related {{trac|151}})&lt;br /&gt;
* Support translated manual pages (see related {{trac|846}})&lt;br /&gt;
* Design new project [[Web site]] engine based on CMS&lt;br /&gt;
* Discuss possible metadata storage improvements for GRASS 7&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Technical ====&lt;br /&gt;
&lt;br /&gt;
===== wxGUI: graphical user interface =====&lt;br /&gt;
* wxGUI: add language selector at startup or in GUI configuration&lt;br /&gt;
* wxGUI modeller improvements&lt;br /&gt;
* wxGUI: further improve the integration of CLI and GUI&lt;br /&gt;
* wxNVIZ: consider to switch to [[OpenSceneGraph]] for 3D visualization&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Built system, installation =====&lt;br /&gt;
* Autocompilation job for GRASS-Addons&lt;br /&gt;
* Discuss backporting Makefile system from GRASS 7 to GRASS 6&lt;br /&gt;
* Improve {{cmd|g.extension}} (enable to use prepared winGRASS Addon binaries)&lt;br /&gt;
* Discuss and define new [[GRASS repository layout proposal|toolbox concept]]&lt;br /&gt;
* Daily generated OSGeo4W packages for 6.5svn, 7.0svn.&lt;br /&gt;
* GRASS on clusters: shared discussion&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Documentation =====&lt;br /&gt;
* Develop something like the wxGUI module search tree for the HTML pages&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Testing and benchmarking =====&lt;br /&gt;
* Write tests for different core modules (see Soeren's testsuite)&lt;br /&gt;
* Discuss testing procedure for GUI&lt;br /&gt;
* Benchmarking between GRASS, QGIS, Sextante, gvSIG, ... for watershed calculation, import, export, extract, ...&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
===== Capabilities =====&lt;br /&gt;
&lt;br /&gt;
* SQLite default DB in grass7: switch default to per-map DB file like DBF, or keep a per-mapset DB file as is currently implemented?&lt;br /&gt;
* Discussion and implementation time frame of temporal GIS capabilities in GRASS [[Time series development]]&lt;br /&gt;
* Discussion about a new parser interface for better command line, GUI and WPS support. Discussion started here: http://trac.osgeo.org/grass/ticket/1031&lt;br /&gt;
* Improve [[WPS]] support&lt;br /&gt;
* Discuss improvements in GRASS 7 vector engine (OGR support, lightweight topology structures, better 3D support)&lt;br /&gt;
* Discuss fundamental changes in raster and vector engine for GRASS 8&lt;br /&gt;
* winGRASS: GRASS and R-stats integration improvements (see related {{trac|1149}}, [http://code.google.com/p/batchfiles/ Windows batchfiles for use with R])&lt;br /&gt;
* Implement [http://www.gaia-gis.it/spatialite/ RasterLite] as GRASS raster database&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
;Discussion on ML&lt;br /&gt;
* http://lists.osgeo.org/pipermail/grass-user/2011-March/059830.html&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
We are planning for attendance of 20 people (i.e., hacking places) but of course you are welcome to join us and bring new ideas with you, as more places are available. Please add your name here or contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
=== In person ===&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|width=50px|'''No'''&lt;br /&gt;
|width=150px|'''Participant '''&lt;br /&gt;
|width=100px|'''Arrival'''&lt;br /&gt;
|width=100px|'''Departure'''&lt;br /&gt;
|'''Topic'''&lt;br /&gt;
|width=75px|'''T-Shirt'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 25&lt;br /&gt;
|Toolbox concept, vector engine in GRASS 7, wxGUI&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|May 17&lt;br /&gt;
|May 23&lt;br /&gt;
| sponsoring, coding, manual, odds and ends&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|New toolbox concept,translation, g.cloud, r.modis&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:RobertSzczepanek|Robert Szczepanek]]&lt;br /&gt;
|May 19&lt;br /&gt;
|May 23&lt;br /&gt;
|wxGUI, hydrological toolbox, translation&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:madi|Margherita Di Leo]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
| [http://grass.osgeo.org/devel/i18n.php Translation] , python api, wxGUI&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:annalisapg|Annalisa Minelli]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|[http://grass.osgeo.org/devel/i18n.php Translation], python api, r.viewshed, winGRASS debug&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|wxGUI development, v.krige&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|[[User:Afrigeri|Alessandro Frigeri]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 25&lt;br /&gt;
|Planetary SRS in GRASS GIS - OGC W*S tweakings for IAU GCS&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|[[User:huhabla|Sören Gebbert]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 23&lt;br /&gt;
|Time series development, Web Processing Service support, wps-grass-bridge, New parser interface, vtk-grass-bridge&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|[[User:MilenaN|Milena Nowotarska]]&lt;br /&gt;
| May 19&lt;br /&gt;
| May 23&lt;br /&gt;
|wxGUI, translation&lt;br /&gt;
| S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|[[User:helena|Helena Mitasova]]&lt;br /&gt;
|May 22&lt;br /&gt;
|May 25&lt;br /&gt;
|wxnviz, v.vol.rst, r3 and time series, toolbox concept&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|[[User:blazek|Radim Blazek]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 21&lt;br /&gt;
|QGIS friendliness lobbying&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|[[User:peter.loewe|Peter Loewe]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS on computation grids lobbying, povray, paraview/vtk&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|[[User:moovida|Andrea Antonello]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS toolbox for uDig, Geopaparazzi import module for GRASS, Hopefully get knowledge about new raster format&lt;br /&gt;
|L&lt;br /&gt;
|to be confirmed (but 87% sure)&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|[[User:mmetz|Markus Metz]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|vector engine in GRASS 7, support for massive datasets&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16&lt;br /&gt;
|Paweł Netzel&lt;br /&gt;
| May 19&lt;br /&gt;
| May 22&lt;br /&gt;
|&lt;br /&gt;
| XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17&lt;br /&gt;
|[[User:annakrat|Anna Kratochvílová]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxNviz&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18&lt;br /&gt;
|Vaclav Petras&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Via IRC chat ===&lt;br /&gt;
&lt;br /&gt;
* join us at irc://irc.freenode.net/grass (#grass in [[IRC]])&lt;br /&gt;
* Hamish B, as timezones &amp;amp; work allows&lt;br /&gt;
&lt;br /&gt;
=== Collaborative document scratching ===&lt;br /&gt;
&lt;br /&gt;
* EtherPad: http://etherpad.osuosl.org&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Bring [http://en.wikipedia.org/wiki/Mains_electricity_by_country power connector adapter] if needed (Czech Republic: 230V, 50Hz, [http://en.wikipedia.org/wiki/File:Euro-Flachstecker_2.jpg Type C Europlugs] are common and also [http://en.wikipedia.org/wiki/File:French_plug_and_socket.jpg Type E])&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Broadcast &amp;amp; Video ==&lt;br /&gt;
&lt;br /&gt;
* Live session notes via [http://etherpad.osuosl.org/ EtherPad] are useful. (afterwards post the pads to the wiki&amp;lt;!--link to original pad urls too as the timeline feature is cool :) --&amp;gt;)&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
* We plan to be online [http://www.ustream.tv/channel/grass-community-sprint-prague-2011 here].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13254</id>
		<title>GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=13254"/>
		<updated>2011-05-02T13:28:53Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Participation */ confirmed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
Succeeding the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 Geoinformatics FCE CTU 2011] ''(International Conference on Free Software and Open Source in Geoinformatics)'', 19-20 May 2011, [http://en.wikipedia.org/wiki/Prague Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic], the GRASS GIS project will hold a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' ''from May 20 to May 25, 2011''.&lt;br /&gt;
&lt;br /&gt;
'''Important dates:'''&lt;br /&gt;
&lt;br /&gt;
* 19 (Thursday) - 20 (Friday) May 2011: Geoinformatics FCE CTU 2011 conference&lt;br /&gt;
&lt;br /&gt;
* '''20 (Friday) - 25 (Wednesday) May 2011: GRASS Community Sprint @ [http://www.fsv.cvut.cz/ FCE CTU]'''&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
Get together GRASS project members to make decisions and tackle larger problems.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS project. This includes developers, documenters, bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ????  MN: what the problem??&lt;br /&gt;
We welcome financial contributions to support the meeting and we are looking for sponsors to cover costs such as meals or to help reducing traveling and accommodation expenses for GRASS developers with far arrival.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested to sponsor the GRASS Community Sprint, please read about&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; '''sponsoring the GRASS project at [http://grass.osgeo.org/donation.php http://grass.osgeo.org/donation.php]'''&amp;lt;br&amp;gt;&lt;br /&gt;
and, if needed, contact [[User:Neteler|Markus Neteler]] &amp;lt;tt&amp;gt;&amp;lt;neteler at osgeo.org&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project.&lt;br /&gt;
&lt;br /&gt;
The first GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet in Prague. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
=== Thanks to our sponsors ===&lt;br /&gt;
&lt;br /&gt;
* [http://gfoss.it/ GFOSS.it Associazione Italiana per l'Informazione Geografica Libera]&lt;br /&gt;
* Stefan Sylla, [http://sylla-consult.de/en/ sylla-consult], Frankfurt, Germany&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
&lt;br /&gt;
'''When''': Friday, May 20, 2011 (day of arrival) - Wednesday, May 25, 2011 (day of departure)&lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''':&lt;br /&gt;
&lt;br /&gt;
* Friday is day of arrival&lt;br /&gt;
** First meeting in the evening (after the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 conference]) to define the agenda&lt;br /&gt;
* Saturday to Tuesday&lt;br /&gt;
** Full days&lt;br /&gt;
* Wednesday is day of departure&lt;br /&gt;
** Probably hacking for people with a flight later in the evening&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
[[Image:logo_cvut.jpg|130px|left]]&lt;br /&gt;
Department of Mapping and Cartography&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.fsv.cvut.cz Faculty of Civil Engineering]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cvut.cz Czech Technical University in Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://geoinformatics.fsv.cvut.cz/gwiki/Room_B367 Room B367] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Where_you_can_find_us Location &amp;amp; Transportations]'''&lt;br /&gt;
&lt;br /&gt;
Prague has an international [http://www.prg.aero/en/ airport] and is also reachable by train, bus or car.&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
Participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel to Prague, variable depending on where you come from&lt;br /&gt;
* Accommodation and meals&lt;br /&gt;
'''Please note''': The currency in Czech Republic is [http://en.wikipedia.org/wiki/Czech_crown crown] (CZK, koruna, Kč). 100 Czech crowns are about 4 Euros (see [http://www.cnb.cz/en/financial_markets/foreign_exchange_market/exchange_rate_fixing/daily.jsp current rates]).&lt;br /&gt;
&lt;br /&gt;
'''[http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague Accommodation in Prague]'''&lt;br /&gt;
&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Masarykova_Kolej_Hotel Masarykova Kolej Hotel]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_DAP Hotel DAP]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Krystal Hotel Krystal]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Pension_Hanspaulka Pension Hanspaulka]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Silenzio Hotel Silenzio]&lt;br /&gt;
:* Special offer: ''sleeping for free in the kindergarten'' (30min by city urban mass transportation from the university campus, sleeping bag required, kitchen and WC available, no showers, in working days available only from 8 p.m. to 8 a.m.), contact [[User:Landa|Martin Landa]] for details&lt;br /&gt;
:* See also http://www.hotel.cz/praha-6/accommodation/&lt;br /&gt;
&lt;br /&gt;
Please let us know your time of arrival and leaving, so we can book for the accommodations and organize the logistics.&lt;br /&gt;
&lt;br /&gt;
'''TO BE DEFINED:''' We will cover as much as possible thanks to our sponsors.&lt;br /&gt;
&lt;br /&gt;
== Weather and Common Item Prices ==&lt;br /&gt;
&lt;br /&gt;
* In May the weather in Prague is usually quite warm ([http://www.prague-spot.com/climate 15 or more degrees by day])&lt;br /&gt;
* A espresso coffee is about 20 CZK (80 cents), a beer (half of liter) in a common pub is around 25 CZK (1 euro), can be more in special pubs. In Prague you can have a full meal (see [http://en.wikipedia.org/wiki/Czech_cuisine Czech cuisine]) for still 75 - 150 CZK (3 - 6 euros), but beware of tourist restaurants, the prize can easily rise. It's quite easy to find in Prague also Italian or Chinese restaurants.&lt;br /&gt;
&lt;br /&gt;
== Agenda - What we plan to do ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The program is generally open for your ideas. Please write an email to the [http://lists.osgeo.org/mailman/listinfo/grass-dev GRASS developer list] to discuss your contribution.&lt;br /&gt;
&lt;br /&gt;
=== Timeline ===&lt;br /&gt;
&lt;br /&gt;
* Friday, 20 May:&lt;br /&gt;
** Welcome meeting&lt;br /&gt;
** Discuss and finetune agenda&lt;br /&gt;
&lt;br /&gt;
* Saturday, 21 May:&lt;br /&gt;
** Morning:&lt;br /&gt;
** Afternoon:&lt;br /&gt;
** Evening: '''[http://www.youtube.com/watch?v=Jf6NFRGO9ak Valentina Shuklina's] concert in [http://www.cafe-technika.cz Café Technika]'''&lt;br /&gt;
&lt;br /&gt;
* Sunday, 22 May:&lt;br /&gt;
** Community Sprinting 1&lt;br /&gt;
** Evening: '''Social dinner'''&lt;br /&gt;
&lt;br /&gt;
* Monday, 23 May:&lt;br /&gt;
** Community Sprinting 2&lt;br /&gt;
&lt;br /&gt;
* Tuesday, 24 May:&lt;br /&gt;
** Community Sprinting 3&lt;br /&gt;
&lt;br /&gt;
* Wednesday, 25 May:&lt;br /&gt;
** Finish press release (including thanks to sponsors with names)&lt;br /&gt;
** Wrap up and see you soon&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
&lt;br /&gt;
==== Non-technical ====&lt;br /&gt;
&lt;br /&gt;
* Discuss new sponsoring concept&lt;br /&gt;
* Populate new GRASS Website with content from old website&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Semi-technical ====&lt;br /&gt;
&lt;br /&gt;
* Improve manual with more examples and screenshots&lt;br /&gt;
* Outline screen capture videos for &amp;quot;Getting started with GRASS&amp;quot; and for using wxGUI for various specific tasks&lt;br /&gt;
* Change manual to use Sphinx (see related {{trac|151}})&lt;br /&gt;
* Support translated manual pages (see related {{trac|846}})&lt;br /&gt;
* Design new project web site engine based on CMS&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Technical ====&lt;br /&gt;
&lt;br /&gt;
wxGUI: graphical user interface&lt;br /&gt;
* wxGUI: add language selector at startup or in GUI configuration&lt;br /&gt;
* wxGUI modeller improvements&lt;br /&gt;
* wxGUI: further improve the integration of CLI and GUI&lt;br /&gt;
* wxNVIZ: consider to switch to [[OpenSceneGraph]] for 3D visualization&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Built system, installation:&lt;br /&gt;
* autocompilation job for GRASS-Addons&lt;br /&gt;
* backport Makefile system from GRASS 7 to GRASS 6&lt;br /&gt;
* Improve {{cmd|g.extension}} (enable to use prepared winGRASS Addon binaries)&lt;br /&gt;
* Define new [[GRASS repository layout proposal|toolbox concept]]&lt;br /&gt;
* Daily generated OSGeo4W packages for 6.5svn, 7.0svn.&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
Documentation:&lt;br /&gt;
* develop something like the wxGUI module search tree for the HTML pages&lt;br /&gt;
&lt;br /&gt;
Testing and benchmarking:&lt;br /&gt;
* write tests for different core modules (see Soeren's testsuite)&lt;br /&gt;
* discuss testing procedure for GUI&lt;br /&gt;
* benchmarking between GRASS, QGIS, Sextante, gvSIG, ... for watershed calculation, import, export, extract, ...&lt;br /&gt;
&lt;br /&gt;
Capabilities:&lt;br /&gt;
* Discussion and implementation time frame of temporal GIS capabilities in GRASS [[Time series development]]&lt;br /&gt;
* Discussion about a new parser interface for better command line, GUI and WPS support. Discussion started here: http://trac.osgeo.org/grass/ticket/1031&lt;br /&gt;
* Improve [[WPS]] support&lt;br /&gt;
* Discuss improvements in GRASS 7 vector engine (OGR support, lightweight topology structures, better 3D support)&lt;br /&gt;
* Discuss fundamental changes in raster and vector engine for GRASS 8&lt;br /&gt;
* winGRASS: GRASS and R-stats integration improvements (see related {{trac|1149}})&lt;br /&gt;
* Implement [http://www.gaia-gis.it/spatialite/ RasterLite] as GRASS raster database&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
;Discussion on ML&lt;br /&gt;
* http://lists.osgeo.org/pipermail/grass-user/2011-March/059830.html&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
We are planning for attendance of 20/30 people (i.e., hacking places) but of course you are welcome to join us and bring new ideas with you, as more places are available. Please add your name here or contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|width=50px|'''No'''&lt;br /&gt;
|width=150px|'''Participant '''&lt;br /&gt;
|width=100px|'''Arrival'''&lt;br /&gt;
|width=100px|'''Departure'''&lt;br /&gt;
|'''Topic'''&lt;br /&gt;
|width=75px|'''T-Shirt'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 25&lt;br /&gt;
|Toolbox concept, vector engine in GRASS 7, wxGUI&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|May 17&lt;br /&gt;
|May 23&lt;br /&gt;
| sponsoring, coding, manual, odds and ends&lt;br /&gt;
| M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|New toolbox concept,translation&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:RobertSzczepanek|Robert Szczepanek]]&lt;br /&gt;
|May 19&lt;br /&gt;
|May 23&lt;br /&gt;
|wxGUI, hydrological toolbox, translation&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:madi|Margherita Di Leo]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
| [http://grass.osgeo.org/devel/i18n.php Translation] , python api, wxGUI&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:annalisapg|Annalisa Minelli]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|[http://grass.osgeo.org/devel/i18n.php Translation], python api&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|May 16&lt;br /&gt;
|May 25&lt;br /&gt;
|wxGUI development, v.krige&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8&lt;br /&gt;
|[[User:Afrigeri|Alessandro Frigeri]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 25&lt;br /&gt;
|Planetary SRS in GRASS GIS - OGC W*S tweakings for IAU GCS&lt;br /&gt;
|M&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9&lt;br /&gt;
|[[User:huhabla|Sören Gebbert]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 23&lt;br /&gt;
|Time series development, Web Processing Service support, wps-grass-bridge, New parser interface, vtk-grass-bridge&lt;br /&gt;
| L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|[[User:MilenaN|Milena Nowotarska]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxGUI, translation&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|[[User:helena|Helena Mitasova]]&lt;br /&gt;
|May 22&lt;br /&gt;
|May 25&lt;br /&gt;
|wxnviz, v.vol.rst, r3 and time series, toolbox concept&lt;br /&gt;
|S&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|[[User:blazek|Radim Blazek]]&lt;br /&gt;
|?&lt;br /&gt;
|?&lt;br /&gt;
|QGIS friendliness lobbying&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|[[User:peter.loewe|Peter Loewe]]&lt;br /&gt;
|May 20&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS on computation grids lobbying, povray, paraview/vtk&lt;br /&gt;
|XL&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|[[User:moovida|Andrea Antonello]]&lt;br /&gt;
|May 18&lt;br /&gt;
|May 23&lt;br /&gt;
|GRASS toolbox for uDig, Geopaparazzi import module for GRASS, Hopefully get knowledge about new raster format&lt;br /&gt;
|L&lt;br /&gt;
|to be confirmed (but 87% sure)&lt;br /&gt;
|-&lt;br /&gt;
|15&lt;br /&gt;
|[[User:mmetz|Markus Metz]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|vector engine in GRASS 7, support for massive datasets&lt;br /&gt;
|L&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|''add yourself here...''&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
== Broadcast &amp;amp; Video ==&lt;br /&gt;
&lt;br /&gt;
We plan to be online [http://www.ustream.tv/channel/grass-community-sprint-prague-2011 here].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=12842</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=12842"/>
		<updated>2011-03-10T16:45:31Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Bulletin Board */ rewrite of v.krige.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and [[wxGUI]] addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by [[User:Landa|Martin Landa]] and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''V.krige is now into GRASS trunk and devbr_6 code! (r40048 or higher)'''&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
For GRASS 6.5 &amp;lt;r40048, it is easy to install it via [http://grass.osgeo.org/grass65/manuals/html65_user/g.extension.html g.extension] (for GRASS 6.4 it is an AddOn, from 6.5+/7 onwards included). Simply type in a GRASS shell:&lt;br /&gt;
&lt;br /&gt;
 g.extension v.krige&lt;br /&gt;
&lt;br /&gt;
To install v.krige.py from source, please refer to [[Compile_and_Install#Scripts]]. Source is available on SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6, gstat and maptools&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;maptools&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6 maptools&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. Testing is planned, as latest  WinGRASS includes the most recent python library.&lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** wxGUI: Split widget creation and layout - makes more readable code&lt;br /&gt;
** Solve '''double parsing issue from RunCmd.''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions''' - universal kriging first.&lt;br /&gt;
** Add '''region resolution parameter in interface''', showing the current value and allowing the user to modify it before kriging. High resolution slows down computation and give better results, but the user should have a clear feedback (I have been surprised by long runs more than once, because I was not aware of resolution).&lt;br /&gt;
** wxGUI: GetVector() should check for name validity, if a string is inserted?&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
** The RBookPage::refresh() function has an endless cycle that keeps R graphics window responsive, even when that window has been closed by the user.&lt;br /&gt;
** spgrass6::readVECT6() and mapset name - see [http://lists.osgeo.org/pipermail/grass-stats/2009-August/001126.html this thread].&lt;br /&gt;
&lt;br /&gt;
* '''FUTURE PLANS'''&lt;br /&gt;
** Rewrite v.krige in order to remove R dependency. It is not nice to add another program as dependency of a core module, a library is acceptable. Possible candidates:&lt;br /&gt;
*** '''gstat''' - Pro: it has native GRASS binding. Con: it is not developed as standalone program since 2003, in favour of R package gstat.&lt;br /&gt;
*** '''HPGL'''  http://hpgl.aoizora.org/ - Python/C++ library with Python API. Pro: Very rich set of functions and parallelisation. Con: Not supported on Mac&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Notes on v.krige usage, examples and tips are available in the module's help page, available via Help button if the GUI.&lt;br /&gt;
&lt;br /&gt;
Kriging theory is available in Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft and definitive:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
'''Report #1, 29 May'''&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
'''Report #2, 5 June'''&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
'''Report #2.5, 11 June'''&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
'''Report #3, 12 June'''&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email (Report 2.5, see above) and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
'''Report #4, 19 June'''&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
'''Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event])'''&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
'''Report #6, 3 July'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #7, midterm, 10 July'''&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #8, 17 July'''&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
'''Report #9, 24 July'''&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
'''Report #10, 31 July'''&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #11, 7 August'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on error handling by GUI, adding controls on input data and parameters and hiding Run and Plot buttons unless all options are suitable.&lt;br /&gt;
Variogram plotting is on its way - I discarded matplotlib to avoid further dependencies, in favour of wx.lib.plot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #12, 14 August'''&lt;br /&gt;
&lt;br /&gt;
this is last SoC report - bringing variogram plotting into v.krige! After a long time searching for the lightest and cleanest implementation, R plotting raised as the best solution. On user demand, a R graphics window plots variogram and refreshes it, without interfering with wxGUI. &lt;br /&gt;
Documentation includes a full example using Spearfish dataset and all informations about dependencies.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have helped me writing v.krige: GRASS and R developers, OSGeo SoC crew, wise friends, all testers.&lt;br /&gt;
I hope this module will attract people towards GRASS and R, and provide a valid alternative to closed-source kriging tools.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
[[Category:R]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=12788</id>
		<title>GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=12788"/>
		<updated>2011-03-02T11:01:50Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Participation */ incrermental PK fail&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ToModify}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Succeeding the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 Geoinformatics FCE CTU 2011] ''(Conference about Free Software and Open Source in Geoinformatics)'', 19-20 May 2011, [http://en.wikipedia.org/wiki/Prague Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic], the GRASS GIS project will hold a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' ''from May 20 to May 25, 2011''.&lt;br /&gt;
&lt;br /&gt;
'''Important dates:'''&lt;br /&gt;
&lt;br /&gt;
* 19 (Thursday) - 20 (Friday) May 2011: Geoinformatics FCE CTU 2011 conference&lt;br /&gt;
&lt;br /&gt;
* '''20 (Friday) - 25 (Wednesday) May 2011: GRASS Community Sprint @ [http://www.fsv.cvut.cz/ FCE CTU]'''&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
Get together GRASS project members to make decisions and tackle larger problems.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS project. This includes developers, documenters, bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ????&lt;br /&gt;
We welcome financial contributions to support the meeting and we are looking for sponsors to cover costs such as meals or to help reducing traveling and accommodation expenses for GRASS developers with far arrival.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested to sponsor the GRASS Community Sprint, please contact [[User:Neteler|Markus Neteler]] &amp;lt;tt&amp;gt;&amp;lt;neteler at osgeo.org&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project (find more information about GRASS sponsorship [http://grass.osgeo.org/donation.php here]).&lt;br /&gt;
&lt;br /&gt;
The first GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet in Prague. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
'''When''': Friday, May 20, 2011 (day of arrival) - Wednesday, May 25, 2011 &lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''':&lt;br /&gt;
&lt;br /&gt;
* Friday is day of arrival - first meeting in the evening (after the conference) to define the agenda&lt;br /&gt;
* Saturday to Tuesday full day&lt;br /&gt;
* Wednesday is the last day&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
Department of Mapping and Cartography&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.fsv.cvut.cz Faculty of Civil Engineering]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cvut.cz Czech Technical University in Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic]&amp;lt;br&amp;gt;&lt;br /&gt;
Room ''&amp;lt;to be defined&amp;gt;'' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::[http://geoinformatics.fsv.cvut.cz/gwiki/Where_you_can_find_us Location]&lt;br /&gt;
&lt;br /&gt;
Prague has an international [http://www.prg.aero/en/ airport] and is also reachable by train, bus or car.&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The program is generally open for your ideas. Please write an email to the [http://lists.osgeo.org/mailman/listinfo/grass-dev GRASS developer list] to discuss your contribution.&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
&lt;br /&gt;
==== Non-technical ====&lt;br /&gt;
&lt;br /&gt;
* Discuss new sponsoring concept&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Semi-technical ====&lt;br /&gt;
&lt;br /&gt;
* Change manual to use Sphinx (see related {{trac|151}})&lt;br /&gt;
* Support translated manual pages (see related {{trac|846}})&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Technical ====&lt;br /&gt;
&lt;br /&gt;
* backport Makefile system from GRASS 7 to GRASS 6&lt;br /&gt;
* Improve {{cmd|g.extension}} (enable to use prepared winGRASS Addon binaries)&lt;br /&gt;
* Define new [[GRASS repository layout proposal|toolbox concept]]&lt;br /&gt;
* Improve [[WPS]] support&lt;br /&gt;
* Improve vector engine in GRASS 7 (OGR support, lightweight topology structures, better 3D support)&lt;br /&gt;
* Discuss fundamental changes in raster and vector engine for GRASS 8&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
Participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel to Prague, variable depending on where you come from&lt;br /&gt;
* Accommodation and meals&lt;br /&gt;
'''Please note''': The currency in Czech Republic is [http://en.wikipedia.org/wiki/Czech_crown crown] (CZK, koruna, Kč). 100 Czech crowns are about 4 Euros (see [http://www.cnb.cz/en/financial_markets/foreign_exchange_market/exchange_rate_fixing/daily.jsp current rates]).&lt;br /&gt;
&lt;br /&gt;
[http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague Accommodation in Prague]&lt;br /&gt;
&lt;br /&gt;
:: ''(in progress)''&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Masarykova_Kolej_Hotel Masarykova Kolej Hotel]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_DAP Hotel DAP]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Krystal Hotel Krystal]&lt;br /&gt;
:* Special offer: ''sleeping for free in the kindergarten'' (30min by city urban mass transportation from the university campus, sleeping bag required, kitchen and WC available, no showers, in working days only available from 8 p.m. to 8 a.m.), contact [[User:Landa|Martin Landa]] for details&lt;br /&gt;
&lt;br /&gt;
Please let us know your time of arrival and leaving, so we can book for the accommodations and organize the logistics.&lt;br /&gt;
&lt;br /&gt;
TO BE DEFINED: We will cover as much as possible thanks to our sponsors.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
We are planning for attendance of 20/30 people (i.e., hacking places) but of course you are welcome to join us and bring new ideas with you, as more places are available. Please add your name here or contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|'''No'''&lt;br /&gt;
|'''Participant '''&lt;br /&gt;
|'''Arrival'''&lt;br /&gt;
|'''Departure'''&lt;br /&gt;
|'''Topic'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 25&lt;br /&gt;
|Toolbox concept, vector engine in GRASS 7, wxGUI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|New toolbox concept,translation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:RobertSzczepanek|Robert Szczepanek]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxGUI, toolbox concept, translation&lt;br /&gt;
|to be confirmed&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:madi|Margherita Di Leo]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:annalisapg|Annalisa Minelli]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxGUI development, v.krige&lt;br /&gt;
|to be confirmed (but 80% sure)&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|''add yourself here...''&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Broadcast &amp;amp; Video ==&lt;br /&gt;
&lt;br /&gt;
We plan to be online [http://www.ustream.tv/channel/grass-community-sprint-prague-2011 here].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=12787</id>
		<title>GRASS Community Sprint Prague 2011</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=GRASS_Community_Sprint_Prague_2011&amp;diff=12787"/>
		<updated>2011-03-02T10:56:57Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Participation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ToModify}}&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
Succeeding the [http://geoinformatics.fsv.cvut.cz/gwiki/Geoinformatics_FCE_CTU_2011 Geoinformatics FCE CTU 2011] ''(Conference about Free Software and Open Source in Geoinformatics)'', 19-20 May 2011, [http://en.wikipedia.org/wiki/Prague Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic], the GRASS GIS project will hold a '''GRASS Developer and Power User Meeting, aka 'GRASS Community Sprint'''' ''from May 20 to May 25, 2011''.&lt;br /&gt;
&lt;br /&gt;
'''Important dates:'''&lt;br /&gt;
&lt;br /&gt;
* 19 (Thursday) - 20 (Friday) May 2011: Geoinformatics FCE CTU 2011 conference&lt;br /&gt;
&lt;br /&gt;
* '''20 (Friday) - 25 (Wednesday) May 2011: GRASS Community Sprint @ [http://www.fsv.cvut.cz/ FCE CTU]'''&lt;br /&gt;
&lt;br /&gt;
== Purpose ==&lt;br /&gt;
&lt;br /&gt;
Get together GRASS project members to make decisions and tackle larger problems.&lt;br /&gt;
&lt;br /&gt;
For this meeting, we welcome people committed to improving the GRASS GIS project. This includes developers, documenters, bug reporters, translators etc.&lt;br /&gt;
&lt;br /&gt;
== Sponsors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- ????&lt;br /&gt;
We welcome financial contributions to support the meeting and we are looking for sponsors to cover costs such as meals or to help reducing traveling and accommodation expenses for GRASS developers with far arrival.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are interested to sponsor the GRASS Community Sprint, please contact [[User:Neteler|Markus Neteler]] &amp;lt;tt&amp;gt;&amp;lt;neteler at osgeo.org&amp;gt;&amp;lt;/tt&amp;gt;. Any surplus at the end of the event will be turned over to the GRASS GIS project (find more information about GRASS sponsorship [http://grass.osgeo.org/donation.php here]).&lt;br /&gt;
&lt;br /&gt;
The first GRASS Community Sprint is a great occasion for you to support the development of GRASS. With your contribution you'll enable more developers to meet in Prague. The community sprint is an important opportunity for the GRASS developers to discuss and collaboratively resolve bugs, plan the direction for the project and work on new features. Please see below for the more detailed agenda. The developers and contributors are donating their valuable time, so it would be great if in-kind funding can be made available from within the community to cover out-of-pocket expenses. All of the work that takes place at the community sprint will be directly contributed back into the GRASS project to the benefit of everyone who uses it.&lt;br /&gt;
&lt;br /&gt;
== Timing  ==&lt;br /&gt;
'''When''': Friday, May 20, 2011 (day of arrival) - Wednesday, May 25, 2011 &lt;br /&gt;
&lt;br /&gt;
Of course you are invited to join or leave the community sprint whenever you want.&lt;br /&gt;
&lt;br /&gt;
'''Duration''':&lt;br /&gt;
&lt;br /&gt;
* Friday is day of arrival - first meeting in the evening (after the conference) to define the agenda&lt;br /&gt;
* Saturday to Tuesday full day&lt;br /&gt;
* Wednesday is the last day&lt;br /&gt;
&lt;br /&gt;
== Venue ==&lt;br /&gt;
Department of Mapping and Cartography&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.fsv.cvut.cz Faculty of Civil Engineering]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.cvut.cz Czech Technical University in Prague], [http://en.wikipedia.org/wiki/Czech_Republic Czech Republic]&amp;lt;br&amp;gt;&lt;br /&gt;
Room ''&amp;lt;to be defined&amp;gt;'' &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::[http://geoinformatics.fsv.cvut.cz/gwiki/Where_you_can_find_us Location]&lt;br /&gt;
&lt;br /&gt;
Prague has an international [http://www.prg.aero/en/ airport] and is also reachable by train, bus or car.&lt;br /&gt;
&lt;br /&gt;
== Agenda ==&lt;br /&gt;
&lt;br /&gt;
'''Note:''' The program is generally open for your ideas. Please write an email to the [http://lists.osgeo.org/mailman/listinfo/grass-dev GRASS developer list] to discuss your contribution.&lt;br /&gt;
&lt;br /&gt;
=== Topics ===&lt;br /&gt;
&lt;br /&gt;
==== Non-technical ====&lt;br /&gt;
&lt;br /&gt;
* Discuss new sponsoring concept&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Semi-technical ====&lt;br /&gt;
&lt;br /&gt;
* Change manual to use Sphinx (see related {{trac|151}})&lt;br /&gt;
* Support translated manual pages (see related {{trac|846}})&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
==== Technical ====&lt;br /&gt;
&lt;br /&gt;
* backport Makefile system from GRASS 7 to GRASS 6&lt;br /&gt;
* Improve {{cmd|g.extension}} (enable to use prepared winGRASS Addon binaries)&lt;br /&gt;
* Define new [[GRASS repository layout proposal|toolbox concept]]&lt;br /&gt;
* Improve [[WPS]] support&lt;br /&gt;
* Improve vector engine in GRASS 7 (OGR support, lightweight topology structures, better 3D support)&lt;br /&gt;
* Discuss fundamental changes in raster and vector engine for GRASS 8&lt;br /&gt;
* ...&lt;br /&gt;
&lt;br /&gt;
== Accommodation and Costs ==&lt;br /&gt;
&lt;br /&gt;
Participants should plan for the following costs:&lt;br /&gt;
&lt;br /&gt;
* Travel to Prague, variable depending on where you come from&lt;br /&gt;
* Accommodation and meals&lt;br /&gt;
'''Please note''': The currency in Czech Republic is [http://en.wikipedia.org/wiki/Czech_crown crown] (CZK, koruna, Kč). 100 Czech crowns are about 4 Euros (see [http://www.cnb.cz/en/financial_markets/foreign_exchange_market/exchange_rate_fixing/daily.jsp current rates]).&lt;br /&gt;
&lt;br /&gt;
[http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague Accommodation in Prague]&lt;br /&gt;
&lt;br /&gt;
:: ''(in progress)''&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Masarykova_Kolej_Hotel Masarykova Kolej Hotel]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_DAP Hotel DAP]&lt;br /&gt;
:* [http://geoinformatics.fsv.cvut.cz/gwiki/Accommodation_in_Prague#Hotel_Krystal Hotel Krystal]&lt;br /&gt;
:* Special offer: ''sleeping for free in the kindergarten'' (30min by city urban mass transportation from the university campus, sleeping bag required, kitchen and WC available, no showers, in working days only available from 8 p.m. to 8 a.m.), contact [[User:Landa|Martin Landa]] for details&lt;br /&gt;
&lt;br /&gt;
Please let us know your time of arrival and leaving, so we can book for the accommodations and organize the logistics.&lt;br /&gt;
&lt;br /&gt;
TO BE DEFINED: We will cover as much as possible thanks to our sponsors.&lt;br /&gt;
&lt;br /&gt;
== Participation ==&lt;br /&gt;
&lt;br /&gt;
We are planning for attendance of 20/30 people (i.e., hacking places) but of course you are welcome to join us and bring new ideas with you, as more places are available. Please add your name here or contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable sortable&amp;quot;   border=&amp;quot;2&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;4&amp;quot; rules=&amp;quot;all&amp;quot; style=&amp;quot;margin:1em 1em 1em 0; border:solid 1px #AAAAAA; border-collapse:collapse; background-color:#edf9c7; font-size:95%; empty-cells:show;&amp;quot; &lt;br /&gt;
|'''No'''&lt;br /&gt;
|'''Participant '''&lt;br /&gt;
|'''Arrival'''&lt;br /&gt;
|'''Departure'''&lt;br /&gt;
|'''Topic'''&lt;br /&gt;
|'''Notes'''&lt;br /&gt;
|-&lt;br /&gt;
|1&lt;br /&gt;
|[[User:Landa|Martin Landa]]&lt;br /&gt;
| May 20&lt;br /&gt;
| May 25&lt;br /&gt;
|Toolbox concept, vector engine in GRASS 7, wxGUI&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|2&lt;br /&gt;
|[[User:Neteler|Markus Neteler]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3&lt;br /&gt;
|[[User:Lucadelu|Luca Delucchi]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|New toolbox concept,translation&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|[[User:RobertSzczepanek|Robert Szczepanek]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxGUI, toolbox concept, translation&lt;br /&gt;
|to be confirmed&lt;br /&gt;
|-&lt;br /&gt;
|5&lt;br /&gt;
|[[User:madi|Margherita Di Leo]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:annalisapg|Annalisa Minelli]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6&lt;br /&gt;
|[[User:AnneGhisla|Anne Ghisla]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|wxGUI development, v.krige&lt;br /&gt;
|to be confirmed (but 80% sure)&lt;br /&gt;
|-&lt;br /&gt;
|X&lt;br /&gt;
|''add yourself here...''&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Individual Preparation ==&lt;br /&gt;
&lt;br /&gt;
* Bring your own computer&lt;br /&gt;
* Install subversion and the compiler tools, and come with a working GRASS development environment if possible.&lt;br /&gt;
&lt;br /&gt;
== Broadcast &amp;amp; Video ==&lt;br /&gt;
&lt;br /&gt;
We plan to be online [http://www.ustream.tv/channel/grass-community-sprint-prague-2011 here].&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
* ''Is the GRASS Community Sprint just a coding event?''&lt;br /&gt;
** It is mainly a coding and documentation event. It is a working session for people who are already participants in the GRASS project and/or are committed to improving the GRASS project.&lt;br /&gt;
** On demand we can do some presentations of current working GRASS implementation and new upcoming features to spread the idea of Open Source GIS software&lt;br /&gt;
* ''Is the GRASS Community Sprint for developers only?''&lt;br /&gt;
** No: anybody can help, with testing, checking out bugs and fixes, documentation and more.&lt;br /&gt;
* ''Where can I get help and more information about the community sprint?''&lt;br /&gt;
** Contact [[User:Landa|Martin Landa]] &amp;lt;tt&amp;gt;&amp;lt;landa.martin at gmail.com&amp;gt;&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Workshops]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Man_Pages_Improvement_Sprint&amp;diff=12363</id>
		<title>Man Pages Improvement Sprint</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Man_Pages_Improvement_Sprint&amp;diff=12363"/>
		<updated>2011-01-19T08:13:58Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Who's interested */  cosmetics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Markus Metz proposed on [ GRASS-dev ml] to have a &amp;quot;man page improvement day&amp;quot;, similar to a code sprint, with the whole community dedicating perhaps a day to finding problems in man pages and fixing them.&lt;br /&gt;
Benjamin Ducke  suggested also to rephrase things that are hard to understand or elaborate on aspects that aren't explained verbosely enough.&lt;br /&gt;
&lt;br /&gt;
=== Ideas ===&lt;br /&gt;
&lt;br /&gt;
* sphinx'ization (http://trac.osgeo.org/grass/ticket/151)&lt;br /&gt;
* Add idea here&lt;br /&gt;
&lt;br /&gt;
===  Who's interested ===&lt;br /&gt;
* Markus Metz&lt;br /&gt;
* Benjamin Ducke&lt;br /&gt;
* Dylan Beaudette&lt;br /&gt;
* Markus Neteler&lt;br /&gt;
* Anne Ghisla&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Man_Pages_Improvement_Sprint&amp;diff=12362</id>
		<title>Man Pages Improvement Sprint</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Man_Pages_Improvement_Sprint&amp;diff=12362"/>
		<updated>2011-01-19T08:13:40Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Ideas */  add MN's suggestion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Markus Metz proposed on [ GRASS-dev ml] to have a &amp;quot;man page improvement day&amp;quot;, similar to a code sprint, with the whole community dedicating perhaps a day to finding problems in man pages and fixing them.&lt;br /&gt;
Benjamin Ducke  suggested also to rephrase things that are hard to understand or elaborate on aspects that aren't explained verbosely enough.&lt;br /&gt;
&lt;br /&gt;
=== Ideas ===&lt;br /&gt;
&lt;br /&gt;
* sphinx'ization (http://trac.osgeo.org/grass/ticket/151)&lt;br /&gt;
* Add idea here&lt;br /&gt;
&lt;br /&gt;
===  Who's interested ===&lt;br /&gt;
 * Markus Metz&lt;br /&gt;
 * Benjamin Ducke&lt;br /&gt;
 * Dylan Beaudette&lt;br /&gt;
 * Markus Neteler&lt;br /&gt;
 * Anne Ghisla&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Man_Pages_Improvement_Sprint&amp;diff=12361</id>
		<title>Man Pages Improvement Sprint</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Man_Pages_Improvement_Sprint&amp;diff=12361"/>
		<updated>2011-01-19T08:11:16Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: coordination for the man page sprint&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Markus Metz proposed on [ GRASS-dev ml] to have a &amp;quot;man page improvement day&amp;quot;, similar to a code sprint, with the whole community dedicating perhaps a day to finding problems in man pages and fixing them.&lt;br /&gt;
Benjamin Ducke  suggested also to rephrase things that are hard to understand or elaborate on aspects that aren't explained verbosely enough.&lt;br /&gt;
&lt;br /&gt;
=== Ideas ===&lt;br /&gt;
&lt;br /&gt;
 * TBD&lt;br /&gt;
&lt;br /&gt;
===  Who's interested ===&lt;br /&gt;
 * Markus Metz&lt;br /&gt;
 * Benjamin Ducke&lt;br /&gt;
 * Dylan Beaudette&lt;br /&gt;
 * Markus Neteler&lt;br /&gt;
 * Anne Ghisla&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install&amp;diff=12195</id>
		<title>Compile and Install</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install&amp;diff=12195"/>
		<updated>2010-12-10T09:15:49Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Common problems and solutions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MoveToTrac}}&lt;br /&gt;
== How to do compilation and installation of GRASS 6? ==&lt;br /&gt;
&lt;br /&gt;
Here we explain the procedure to compile GRASS from SVN, but it also applies to official GRASS 6 releases.&lt;br /&gt;
&lt;br /&gt;
''For installation of precompiled binary packages, see the main [[Installation Guide]].''&lt;br /&gt;
&lt;br /&gt;
For detailed information on compilation, please see the [http://grass.itc.it/grass61/source/INSTALL INSTALL] file in the source code.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
GRASS needs at least two extra libraries: PROJ and GDAL/OGR&lt;br /&gt;
&lt;br /&gt;
''Note: if you want to have DBMS support in GDAL (subsequently in GRASS) you have to perform the &amp;quot;Optional&amp;quot; steps below as well.''&lt;br /&gt;
&lt;br /&gt;
* [http://proj.maptools.org PROJ4] for management of projections (with proj-datumgrid-1.3.zip support)&lt;br /&gt;
* Optional: [http://geos.refractions.net GEOS]&lt;br /&gt;
* Optional: [http://www.postgresql.org PostgreSQL], [http://www.mysql.org mySQL], [http://www.unixodbc.org unixODBC], [http://www.sqlite.org SQLite] (SQLite is needed for QGIS)&lt;br /&gt;
* [http://www.gdal.org GDAL/OGR] for reading and writing various GIS data formats (interoperability)&lt;br /&gt;
&lt;br /&gt;
You have to install these two libraries '''first'''.&lt;br /&gt;
&lt;br /&gt;
It is easiest to obtain a prepackaged version of these libraries (e.g., .rpm; .deb) for your particular operating system and run the corresponding package installation (e.g., rpm -Uhv packagename.rpm; apt-get) in a terminal window. Take care to also install the development packages of these libraries (...-devel packages). If there is no prepackage version, then you will have to download the source code (see links above, source code packages usually ends in .tar.gz or .zip) and compile it (you must have a C compiler installed as part of your operating system). The Web sites show the steps to compile the libraries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other libraries needed to run GRASS are listed on the {{website|grass64/source/REQUIREMENTS.html|requirements page}}.&lt;br /&gt;
&lt;br /&gt;
To compile, you will also need the respective &amp;quot;-devel&amp;quot; packages.&lt;br /&gt;
&lt;br /&gt;
Then [http://grass.osgeo.org/download/index.php#g64x download GRASS] of course.&lt;br /&gt;
&lt;br /&gt;
=== Generic Compilation and installation procedure ===&lt;br /&gt;
&lt;br /&gt;
* It is wise that compilation processes are carried out as a normal user: If you want to get the source code in a place where  you do not have write permissions (e.g. in /usr/local/src/) just follow this:&lt;br /&gt;
      cd /usr/local/src/ &lt;br /&gt;
      su -c 'mkdir grass6'&lt;br /&gt;
      su -c 'chown yourlogin:yourgroup grass6'&lt;br /&gt;
&lt;br /&gt;
Otherwise if you have permissions just continue as a normal user:&lt;br /&gt;
      cd /usr/local/src/&lt;br /&gt;
      svn checkout ...&lt;br /&gt;
&lt;br /&gt;
* do a code checkout from the SVN source code repository&lt;br /&gt;
: checkout the latest GRASS 6.x from SVN (see: {{twiki|DownloadSource}})&lt;br /&gt;
&lt;br /&gt;
* in the grass6 directory, you will find the precious INSTALL file, open it with your favourite pager/editor and read it carefully!&lt;br /&gt;
&lt;br /&gt;
* run configure with parameters to adapt the compile process to your own system. To see what options can be passed to it, run:&lt;br /&gt;
 ./configure --help | less &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The minimum set of configure parameters is &lt;br /&gt;
      ./configure ### --&amp;gt;&lt;br /&gt;
It may (!) look like this:&lt;br /&gt;
 &lt;br /&gt;
      ./configure \&lt;br /&gt;
          --with-cxx \&lt;br /&gt;
          --with-sqlite \&lt;br /&gt;
          --with-postgres-libs=/usr/include/pgsql/libpq \&lt;br /&gt;
          --with-postgres-includes=/usr/include/pgsql \&lt;br /&gt;
          --with-freetype \&lt;br /&gt;
          --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
          --with-motif \&lt;br /&gt;
          --with-proj-share=/usr/share/proj&lt;br /&gt;
&lt;br /&gt;
You may have to explicitly state the path for certain packages (i.e., gdal). The Unix 'locate' command will come in handy for finding the path of the package you need (you may have to run locate as root ex: sudo locate gdal-config).&lt;br /&gt;
&lt;br /&gt;
Please note that the paths mentioned may widely vary due to the distribution used.&lt;br /&gt;
See [[Compile_and_Install#Platform_Specific_Notes|Platform Specific Notes]] below.&lt;br /&gt;
&lt;br /&gt;
Depending on your needs it may be a good idea to include debugging hooks.&lt;br /&gt;
: See [[GRASS_Debugging#Compile_Time_Setup]].&lt;br /&gt;
 CFLAGS=&amp;quot;-ggdb -Wall -Werror-implicit-function-declaration&amp;quot; ./configure ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the end of configuration process you should get report not much different from this:&lt;br /&gt;
&lt;br /&gt;
GRASS is now configured for:  i686-pc-linux-gnu&lt;br /&gt;
 &lt;br /&gt;
 Source directory:            /usr/src/grass6&lt;br /&gt;
 Build directory:             /usr/src/grass6&lt;br /&gt;
 Installation directory:      /usr/local/grass-6.3.svn&lt;br /&gt;
 Startup script in directory: ${exec_prefix}/bin&lt;br /&gt;
 C compiler:                  gcc -g -O2 &lt;br /&gt;
 C++ compiler:                c++ -g -O2&lt;br /&gt;
 FORTRAN compiler:            &lt;br /&gt;
 Building shared libraries:   yes&lt;br /&gt;
 64bit support:               no&lt;br /&gt;
 &lt;br /&gt;
  NVIZ:                       yes&lt;br /&gt;
 &lt;br /&gt;
  BLAS support:               no&lt;br /&gt;
  C++ support:                yes&lt;br /&gt;
  DWG support:                no&lt;br /&gt;
  FFMPEG support:             no&lt;br /&gt;
  FFTW support:               yes&lt;br /&gt;
  FreeType support:           yes&lt;br /&gt;
  GDAL support:               yes&lt;br /&gt;
  GLw support:                no&lt;br /&gt;
  JPEG support:               yes&lt;br /&gt;
  LAPACK support:             no&lt;br /&gt;
  Large File Support (LFS):   no&lt;br /&gt;
  Motif support:              no&lt;br /&gt;
  MySQL support:              no&lt;br /&gt;
  NLS support:                no&lt;br /&gt;
  ODBC support:               no&lt;br /&gt;
  OGR support:                yes&lt;br /&gt;
  OpenGL(R) support:          yes&lt;br /&gt;
  PNG support:                yes&lt;br /&gt;
  PostgreSQL support:         yes&lt;br /&gt;
  Readline support:           no&lt;br /&gt;
  SQLite support:             no&lt;br /&gt;
  Tcl/Tk support:             yes&lt;br /&gt;
  TIFF support:               yes&lt;br /&gt;
  X11 support:                yes&lt;br /&gt;
  &lt;br /&gt;
* Let's compile it (takes a little while...)!&lt;br /&gt;
      make&lt;br /&gt;
* At the end, you should get report not much different from this:&lt;br /&gt;
 ----------------------------------------------------------------------&lt;br /&gt;
 Following modules are missing the 'description.html' file in src code:&lt;br /&gt;
 ----------------------------------------------------------------------&lt;br /&gt;
 GRASS GIS compilation log&lt;br /&gt;
 -------------------------&lt;br /&gt;
 Started compilation: Ne kvě 28 13:18:43 CEST 2006&lt;br /&gt;
 --&lt;br /&gt;
 Errors in:&lt;br /&gt;
 --&lt;br /&gt;
 Finished compilation: Ne kvě 28 13:43:40 CEST 2006&lt;br /&gt;
 (In case of errors please change into the directory with error and run 'make')&lt;br /&gt;
&lt;br /&gt;
* If there is any error, change directory to directory with error and run &amp;quot;make&amp;quot; again. Report occuring bug to grass mailing list&lt;br /&gt;
* Once the installation process is finished, you're ready to install GRASS system wide.&lt;br /&gt;
      su -c 'make install'&lt;br /&gt;
* enjoy GRASS: &lt;br /&gt;
      grass63&lt;br /&gt;
&lt;br /&gt;
=== What else? ===&lt;br /&gt;
&lt;br /&gt;
If you want to use [http://www.qgis.org QGIS], then also compile the GRASS-GDAL/OGR plugin. This is also useful to access your GRASS-data&lt;br /&gt;
from other application using GDAL/OGR like [http://thuban.intevation.de thuban].&lt;br /&gt;
* [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]] (enables QGIS to read GRASS data directly)&lt;br /&gt;
&lt;br /&gt;
=== Compile and install GDAL-GRASS plugin ===&lt;br /&gt;
&lt;br /&gt;
* See [[Compile and install GDAL-GRASS plugin]]&lt;br /&gt;
&lt;br /&gt;
=== Platform Specific Notes ===&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
&lt;br /&gt;
===== Debian =====&lt;br /&gt;
&lt;br /&gt;
Read the instructions here:&lt;br /&gt;
: http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/debian/README.debian&lt;br /&gt;
&lt;br /&gt;
   # first install PROJ, GDAL, etc.&lt;br /&gt;
   cd grass64/&lt;br /&gt;
   # follow instructions in debian/README.debian&lt;br /&gt;
   fakeroot buildpackage&lt;br /&gt;
&lt;br /&gt;
* Official [http://wiki.debian.org/DebianGis DebianGIS] packaging [http://svn.debian.org/viewsvn/pkg-grass/packages/grass/ control files], also accessible via svn:&lt;br /&gt;
&lt;br /&gt;
  svn co svn://svn.debian.org/svn/pkg-grass/packages/grass/trunk/&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  svn co svn://svn.debian.org/svn/pkg-grass/packages/grass/branches/&amp;lt;GRASS Version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.1 on Debian Sarge ======&lt;br /&gt;
&lt;br /&gt;
* [http://hamish.bowman.googlepages.com/debiangisfiles#compile Compiling GRASS 6.1-CVS on Debian/OldStable (aka 3.1, Sarge)]&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.4 on Debian Lenny ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
  apt-get install flex bison libreadline-dev libncurses5-dev lesstif2-dev debhelper dpatch libtiff4-dev \&lt;br /&gt;
          tcl-dev tk-dev libfftw3-dev libxmu-dev libfreetype6-dev autoconf2.13 autotools-dev doxygen \&lt;br /&gt;
          libmysqlclient15-dev graphviz libsqlite3-dev python-wxgtk2.8 libcairo2-dev libwxgtk2.8-dev \&lt;br /&gt;
          python-dev swig libgdal1-dev  libgdal1-1.5.0 libproj-dev libproj0 proj-data mysql&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
  ./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-postgres --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
  --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql \&lt;br /&gt;
  --with-odbc \&lt;br /&gt;
  --with-cairo \&lt;br /&gt;
  --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/include/tcl8.4/ \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-motif --with-fftw --with-nls --with-python&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Squeeze ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
 apt-get install flex bison libreadline-dev libncurses5-dev lesstif2-dev debhelper dpatch libtiff4-dev \&lt;br /&gt;
   tcl-dev tk-dev libfftw3-dev libxmu-dev libfreetype6-dev autoconf2.13 autotools-dev doxygen \&lt;br /&gt;
   libmysqlclient-dev graphviz libsqlite3-dev python-wxgtk2.8 libcairo2-dev libwxgtk2.8-dev \&lt;br /&gt;
   python-dev swig libgdal1-dev libgdal1-1.6.0 libproj-dev proj-bin libglw1-mesa-dev \&lt;br /&gt;
   mysql-client-5.1 mysql-server-5.1 libpq-dev subversion gcc lesstif2-dev \&lt;br /&gt;
   zlib1g-dev libproj-dev libtiff4-dev mesa-common-dev libglu1-mesa-dev libcairo2-dev \&lt;br /&gt;
   g++ wx-common python-wxgtk2.8 libwxgtk2.8-dev libxt-dev libxmu-headers gettext python-numpy&lt;br /&gt;
&lt;br /&gt;
Download source code:&lt;br /&gt;
&lt;br /&gt;
 svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS=&amp;quot;-g -Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
 CXXFLAGS=&amp;quot;-g -Wall&amp;quot;  \&lt;br /&gt;
  ./configure --prefix=/usr/local \&lt;br /&gt;
  --with-postgres --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
  --with-mysql --with-mysql-includes=/usr/include/mysql \&lt;br /&gt;
  --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
  --with-motif --with-glw --with-nls --with-readline \&lt;br /&gt;
  --with-cxx --enable-largefile \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-odbc --with-cairo --with-python=/usr/bin/python2.6-config --with-wxwidgets \&lt;br /&gt;
  --with-tcltk-includes=/usr/include/tcl8.5 --with-tcltk-libs=/usr/lib/tcl8.5 \&lt;br /&gt;
  --with-geos --with-pthread&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&lt;br /&gt;
''The above Debian notes will probably work with Ubuntu as well.''&lt;br /&gt;
&lt;br /&gt;
A more  [[Compile_and_Install_Ubuntu | specific page]] towards Ubuntu is being written on.&lt;br /&gt;
&lt;br /&gt;
====== Ubuntu 6.06, 7.10 ======&lt;br /&gt;
&lt;br /&gt;
* [http://david.p.finlayson.googlepages.com/makegrass.sh makegrass.sh] is script designed to automate most of the download, configuration and compilation of GRASS 6.x-CVS&lt;br /&gt;
** it is advised use [https://help.ubuntu.com/community/CheckInstall checkinstall] (''sudo apt-get install checkinstall'') instead of ''make install'' to keep track of installed software &lt;br /&gt;
** Think twice before using this script. Some users experienced problems such as disabled XGL etc.&lt;br /&gt;
* [[User:Steko/Automated_CVS_compiling|Here]] is another of these scripts, it's homemade so probably you'll find the above more useful for production sites.&lt;br /&gt;
&lt;br /&gt;
====== Ubuntu 7.10 64-bit ======&lt;br /&gt;
&lt;br /&gt;
* Compiling latest GRASS source code on a 64-bit machine (with an ATI graphic card) under Ubuntu 7.10 64-bit with support for: 64-bit, SQLite, OpenGL, PYTHON, FFMPEG&lt;br /&gt;
(Based on &amp;quot;Ubuntu 6.06 LTS - GRASS 6.1 Compilation Script&amp;quot; by David Finlayson)&lt;br /&gt;
''Assuming it is the first time attempting to compile GRASS' source code &amp;amp; installing SVN, PROJ, GDAL/OGR''&lt;br /&gt;
&lt;br /&gt;
'''Preparation'''&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
* install dependencies for compiling (in general) and dependencies for GRASS: PROJ, GDAL/OGR&lt;br /&gt;
 sudo apt-get install grass build-essential flex bison libncurses5-dev zlib1g-dev \&lt;br /&gt;
 libjpeg62-dev libgdal1-dev libtiff4-dev libgcc1 libpng12-dev tcl8.4-dev tk8.4-dev fftw3-dev \&lt;br /&gt;
 libfreetype6-dev libavcodec-dev libxmu-dev gdal-bin libreadline5 libreadline5-dev \&lt;br /&gt;
 make python-dev python-wxversion swig&lt;br /&gt;
&lt;br /&gt;
* install SQLite&lt;br /&gt;
 sudo apt-get install sqlite3 libsqlite3-dev&lt;br /&gt;
&lt;br /&gt;
* install SVN&lt;br /&gt;
 sudo apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
* create a directory as a simple user where source code(s) are going to be stored (in our example we use a directory called '''src''' under '''/usr/local''')&lt;br /&gt;
&lt;br /&gt;
 sudo mkdir /usr/local/src&lt;br /&gt;
&lt;br /&gt;
* grant rwx (read-write-execute) permissions for our userid/ groupid on the directory (replace words userid and groupid with real userid):&lt;br /&gt;
 sudo chown ''userid'':''groupid'' /usr/local/src&lt;br /&gt;
&lt;br /&gt;
 sudo chmod ug+rwx /usr/local/src&lt;br /&gt;
&lt;br /&gt;
* download latest source code from GRASS SVN repository in a directory on the system (e.g. /usr/local/src)&lt;br /&gt;
 svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk&lt;br /&gt;
&lt;br /&gt;
* Above command places GRASS' source code in '''/usr/local/src/grass_trunk'''. In case of a subsequent update use the command: '''svn up''' from within the grass_trunk directory&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Before''' attempting to compile GRASS, READ section (C) in the '''INSTALL''' file located in the main directory of GRASS source code entitled:&lt;br /&gt;
'''(C) COMPILATION NOTES for 64bit platforms'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* installing FFTW3 if not already on system&lt;br /&gt;
 sudo apt-get install fftw3 fftw3-dev&lt;br /&gt;
&lt;br /&gt;
'''FFMPEG'''&lt;br /&gt;
&lt;br /&gt;
Note: Back in Ubuntu 7.10, installing ffmpeg through the repositories wouldn't work with grass. The following steps were successfully used.&lt;br /&gt;
&lt;br /&gt;
* install FFMPEG (information taken from: http://stream0.org/2008/01/install-ffmpeg-on-ubuntu-gutsy.html)&lt;br /&gt;
* download source code with svn&lt;br /&gt;
 svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg&lt;br /&gt;
&lt;br /&gt;
* install dependencies&lt;br /&gt;
 sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev \&lt;br /&gt;
      liba52-0.7.4 liba52-0.7.4-dev libx264-dev libdts-dev checkinstall \&lt;br /&gt;
      build-essential subversion&lt;br /&gt;
&lt;br /&gt;
* guide to ffmpeg directory&lt;br /&gt;
 cd ffmpeg&lt;br /&gt;
&lt;br /&gt;
if necessary: '''make distclean''' before configuration (look at notes below)&lt;br /&gt;
&lt;br /&gt;
* configuration ('''note:''' the configuration parameter &amp;quot;'''--enable-pp'''&amp;quot; does not work anymore)&lt;br /&gt;
 # configure FFMPEG&lt;br /&gt;
 ./configure --enable-gpl --enable-libvorbis --enable-libtheora \&lt;br /&gt;
             --enable-liba52 --enable-libdc1394 --enable-libgsm \&lt;br /&gt;
             --enable-libmp3lame --enable-libfaad --enable-libfaac \&lt;br /&gt;
             --enable-libxvid --enable-pthreads --enable-libx264 \&lt;br /&gt;
             --enable-shared&lt;br /&gt;
&lt;br /&gt;
* compilation&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
* installation on /usr/local/bin -- important to remember when configuring GRASS' source code for compilation&lt;br /&gt;
 sudo checkinstall&lt;br /&gt;
&lt;br /&gt;
'''Go for GRASS!'''&lt;br /&gt;
* in our example we used the /usr/local/src directory to store GRASS' source code, so:&lt;br /&gt;
 cd /usr/local/src/grass_trunk&lt;br /&gt;
&lt;br /&gt;
* configuration&lt;br /&gt;
  CFLAGS=&amp;quot;-g -Wall&amp;quot; ./configure --enable-64bit \&lt;br /&gt;
        --with-libs=/usr/lib64 --with-cxx --with-freetype=yes \&lt;br /&gt;
        --with-postgres=no --with-sqlite=yes --enable-largefile=yes \&lt;br /&gt;
        --with-tcltk-includes=/usr/include/tcl8.4 \&lt;br /&gt;
        --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
        --with-opengl-libs=/usr/include/GL --with-readline \&lt;br /&gt;
        --with-python=yes --with-ffmpeg=yes \&lt;br /&gt;
        --with-ffmpeg-includes=/usr/local/include/ffmpeg&lt;br /&gt;
&lt;br /&gt;
*if OpenGL fails then maybe it is necessary to link '''glxATI.h''' with '''glx.h''' and re-run the configuration&lt;br /&gt;
&lt;br /&gt;
 cd /usr/include/GL&lt;br /&gt;
&lt;br /&gt;
 sudo ln glxATI.h glx.h&lt;br /&gt;
&lt;br /&gt;
* compilation&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
* compilation is expected to end with a statement similar to the following:&lt;br /&gt;
&lt;br /&gt;
 Started compilation: Wed Feb 27 00:24:36 CET 2008&lt;br /&gt;
 --&lt;br /&gt;
 Errors in:&lt;br /&gt;
 No errors detected.&lt;br /&gt;
&lt;br /&gt;
* installation&lt;br /&gt;
 sudo checkinstall&lt;br /&gt;
&lt;br /&gt;
* launch 64-bit GRASS.6.4.svn&lt;br /&gt;
 grass64&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* in case of errors in future compilation attempts, remember to remove program binaries with&lt;br /&gt;
 make clean&lt;br /&gt;
* and the files created with the &amp;quot;configuration&amp;quot; from previous compilations with&lt;br /&gt;
 make distclean&lt;br /&gt;
&lt;br /&gt;
====== Ubuntu 8.04 and 9.04 ======&lt;br /&gt;
&lt;br /&gt;
* See [[Compile and Install Ubuntu‎]]&lt;br /&gt;
&lt;br /&gt;
===== Mandriva =====&lt;br /&gt;
&lt;br /&gt;
Installation of dependencies (urpmi will ask you a few more):&lt;br /&gt;
&lt;br /&gt;
'''Mandriva 2009:''' (take out the '64' everywhere if you are on 32bit)&lt;br /&gt;
  # as root&lt;br /&gt;
    urpmi flex bison zlib-devel tiff-devel png-devel tcl-devel tk-devel sqlite3-devel \&lt;br /&gt;
          mesagl1-devel mesaglu1-devel lib64xmu6-devel gcc-c++ swig gettext \&lt;br /&gt;
          lib64wxgtk2.8 lib64wxgtk2.8-devel lib64wxgtkgl2.8 wxgtk2.8 \&lt;br /&gt;
          lib64wxPythonGTK2.8 lib64wxPythonGTK2.8-devel wxPythonGTK wxPythonGTK-wxversion&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
'''Mandriva 2010:''' (take out the '64' everywhere if you are on 32bit) - see also [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SPECS/ SPEC] file&lt;br /&gt;
  # as root&lt;br /&gt;
    # installation of PROJ and GDAL&lt;br /&gt;
    urpmi proj proj-devel gdal gdal-devel gcc-gfortran lib64openssl1.0.0 \&lt;br /&gt;
          lib64openssl1.0.0-devel postgresql8.4-devel lib64pq8.4&lt;br /&gt;
 &lt;br /&gt;
    # installation of compilation environment&lt;br /&gt;
    urpmi flex bison zlib-devel tiff-devel png-devel tcl-devel tk-devel sqlite3-devel \&lt;br /&gt;
          lib64mesagl1-devel lib64mesaglu1-devel lib64xmu6-devel gcc-c++ swig gettext \&lt;br /&gt;
          lib64jpeg-devel lib64wxgtk2.8 lib64wxgtk2.8-devel lib64wxgtkgl2.8 wxgtk2.8 \&lt;br /&gt;
          lib64wxPythonGTK2.8 lib64wxPythonGTK2.8-devel wxPythonGTK wxPythonGTK-wxversion&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
Then, to configure GRASS, run (64 bit stuff optional of course):&lt;br /&gt;
  #  as user&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --enable-64bit --with-libs=/usr/lib64 \&lt;br /&gt;
    --with-cxx \&lt;br /&gt;
    --with-gdal=/usr/local/bin/gdal-config \&lt;br /&gt;
    --with-sqlite \&lt;br /&gt;
    --with-nls \&lt;br /&gt;
    --with-python \&lt;br /&gt;
    --with-wxwidgets=/usr/lib/wxPython/bin/wx-config \&lt;br /&gt;
    --with-fftw \&lt;br /&gt;
    --with-ffmpeg --with-ffmpeg-includes=&amp;quot;/usr/include/libav* /usr/include/libpostproc /usr/include/libswscale&amp;quot; \&lt;br /&gt;
    --with-motif \&lt;br /&gt;
    --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64 \&lt;br /&gt;
    --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
    --enable-largefile&lt;br /&gt;
&lt;br /&gt;
   # compilation (use -j2 ior -j4 parameter on multi-core CPUs to accelerate):   &lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
    su&lt;br /&gt;
    # this will install into /usr/local/&lt;br /&gt;
    make install&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
===== CentOS =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: CentOS 5 comes with Python 2.4 which lacks python-config, hence two extra tweaks are needed.&lt;br /&gt;
&lt;br /&gt;
Preparation:&lt;br /&gt;
  yum install flex bison zlib-devel  tcl-devel tk-devel gcc-c++ swig gettext \&lt;br /&gt;
              libtiff-devel libpng-devel sqlite-devel libjpeg-devel \&lt;br /&gt;
              mesa-libGL-devel mesa-libGLU-devel mesa-libGLw-devel \&lt;br /&gt;
              mesa-libOSMesa-devel libXmu-devel python-devel gtk2-devel\&lt;br /&gt;
              ncurses-devel postgresql-devel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compile and install [http://proj.osgeo.org PROJ4]:&lt;br /&gt;
&lt;br /&gt;
 # get source code and unpack:&lt;br /&gt;
 wget http://download.osgeo.org/proj/proj-4.7.0.tar.gz&lt;br /&gt;
 tar xvfz proj-4.7.0.tar.gz &lt;br /&gt;
 rm -f proj-4.7.0.tar.gz &lt;br /&gt;
 cd proj-4.7.0/&lt;br /&gt;
 &lt;br /&gt;
 # get and install datum files into right directory:&lt;br /&gt;
 cd nad/&lt;br /&gt;
 wget http://download.osgeo.org/proj/proj-datumgrid-1.5.zip&lt;br /&gt;
 unzip proj-datumgrid-1.5.zip&lt;br /&gt;
 rm -f proj-datumgrid-1.5.zip&lt;br /&gt;
 cd ..&lt;br /&gt;
 &lt;br /&gt;
 # configure and compile&lt;br /&gt;
 sh configure&lt;br /&gt;
 make -j4&lt;br /&gt;
 &lt;br /&gt;
 # install (may require &amp;quot;root&amp;quot; permissions, use &amp;quot;su&amp;quot;):&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Compile and install [http://www.gdal.org GDAL]:&lt;br /&gt;
 # get source code and unpack:&lt;br /&gt;
 wget http://download.osgeo.org/gdal/gdal-1.6.3.tar.gz&lt;br /&gt;
 tar xvfz gdal-1.6.3.tar.gz &lt;br /&gt;
 rm -f gdal-1.6.3.tar.gz &lt;br /&gt;
 cd gdal-1.6.3/&lt;br /&gt;
 &lt;br /&gt;
 # configure and compile&lt;br /&gt;
 sh configure&lt;br /&gt;
 make -j4&lt;br /&gt;
 &lt;br /&gt;
 # install (may require &amp;quot;root&amp;quot; permissions, use &amp;quot;su&amp;quot;):&lt;br /&gt;
 make install&lt;br /&gt;
 &lt;br /&gt;
 # add /usr/local/lib/ to LD_LIBRARY_PATH, requires &amp;quot;root&amp;quot; permissions:&lt;br /&gt;
 su - &lt;br /&gt;
 echo &amp;quot;/usr/local/lib&amp;quot; &amp;gt; /etc/ld.so.conf.d/gdal.conf&lt;br /&gt;
 ldconfig&lt;br /&gt;
 exit&lt;br /&gt;
 &lt;br /&gt;
 # test installation by running&lt;br /&gt;
 gdalinfo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GRASS 7 compilation and installation, here 64bit example:&lt;br /&gt;
&lt;br /&gt;
1. Download wxGTP and wxPython:&lt;br /&gt;
&lt;br /&gt;
  wget http://packages.sw.be/wxPython/wxPython-2.8.9.1-1.el5.rf.x86_64.rpm&lt;br /&gt;
  wget http://packages.sw.be/wxPython/wxPython-devel-2.8.9.1-1.el5.rf.x86_64.rpm&lt;br /&gt;
  wget http://packages.sw.be/wxGTK/wxGTK-2.8.9-1.el5.rf.x86_64.rpm&lt;br /&gt;
  wget http://packages.sw.be/wxGTK/wxGTK-devel-2.8.9-1.el5.rf.x86_64.rpm&lt;br /&gt;
 &lt;br /&gt;
  # Install:&lt;br /&gt;
  rpm -Uhv wxPython-2.8.9.1-1.el5.rf.x86_64.rpm wxPython-devel-2.8.9.1-1.el5.rf.x86_64.rpm \&lt;br /&gt;
           wxGTK-2.8.9-1.el5.rf.x86_64.rpm wxGTK-devel-2.8.9-1.el5.rf.x86_64.rpm&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
2. [http://grass.osgeo.org/download/ Download] and configure GRASS 7 (suggestion: save this as script). Note that [http://proj.osgeo.org PROJ4] and [http://www.gdal.org GDAL] must be compiled first:&lt;br /&gt;
&lt;br /&gt;
 ./configure \&lt;br /&gt;
  --with-libs=/usr/lib64 \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --without-ffmpeg \&lt;br /&gt;
  --with-gdal=/usr/local/bin/gdal-config \&lt;br /&gt;
  --without-odbc \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-postgres \&lt;br /&gt;
  --without-mysql \&lt;br /&gt;
  --with-nls \&lt;br /&gt;
  --with-python \&lt;br /&gt;
  --with-cairo \&lt;br /&gt;
  --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
  --without-fftw \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-pthread&lt;br /&gt;
&lt;br /&gt;
3. Hack the Makefile of GRASS-SWIG since python-config isn't there (add one line without the '+'):&lt;br /&gt;
&lt;br /&gt;
  svn diff swig/&lt;br /&gt;
  Index: swig/python/Makefile&lt;br /&gt;
  ===================================================================&lt;br /&gt;
  --- swig/python/Makefile        (revision 38916)&lt;br /&gt;
  +++ swig/python/Makefile        (working copy)&lt;br /&gt;
  @@ -36,6 +36,7 @@&lt;br /&gt;
   EXTRA_SWIG = ../include/python/my_typemaps.i ../include/python/common.i&lt;br /&gt;
   SWIGFLAGS = $(INC) -I../include/python -outdir .&lt;br /&gt;
   EXTRA_CFLAGS = $(PYMOD_CFLAGS)&lt;br /&gt;
  +EXTRA_LIBS = -lpython2.4&lt;br /&gt;
   EXTRA_CLEAN_FILES := $(foreach M,$(MODULES),$(M)_wrap.o $(M)_wrap.c $(M).pyc $(M).py _$(M).so)&lt;br /&gt;
   CLEAN_SUBDIRS = NumPtr&lt;br /&gt;
&lt;br /&gt;
4. Add manually the path to the python include directory since python-config isn't there:&lt;br /&gt;
&lt;br /&gt;
   # edit include/Make/Platform.make&lt;br /&gt;
   # and add manually the line&lt;br /&gt;
 &lt;br /&gt;
   PYTHONINC           = -I/usr/include/python2.4&lt;br /&gt;
&lt;br /&gt;
5. Compile&lt;br /&gt;
    make&lt;br /&gt;
   or on multicore:&lt;br /&gt;
    make -j4&lt;br /&gt;
&lt;br /&gt;
6. Either install with &amp;quot;make install&amp;quot; or run directly from compile directory (substitute ARCH with i586 or x86_64):&lt;br /&gt;
&lt;br /&gt;
    bin.$ARCH/grass70 -wx&lt;br /&gt;
&lt;br /&gt;
===== Fedora =====&lt;br /&gt;
&lt;br /&gt;
This is an example how to compile GRASS on a 64bit Fedora system:&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --enable-64bit \&lt;br /&gt;
   --with-cxx \&lt;br /&gt;
   --with-libs=/usr/lib64 \&lt;br /&gt;
   --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
   --with-proj-share=/usr/share/proj \&lt;br /&gt;
   --without-odbc \&lt;br /&gt;
   --with-sqlite \&lt;br /&gt;
   --with-nls \&lt;br /&gt;
   --without-tcltk \&lt;br /&gt;
   --with-python=/usr/bin/python-config \&lt;br /&gt;
   --without-cairo \&lt;br /&gt;
   --without-opengl \&lt;br /&gt;
   --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
   --with-fftw \&lt;br /&gt;
   --with-blas \&lt;br /&gt;
   --with-lapack \&lt;br /&gt;
   --without-freetype \&lt;br /&gt;
   --enable-largefile \&lt;br /&gt;
   --with-x \&lt;br /&gt;
   --x-includes=/usr/include/X11/&lt;br /&gt;
&lt;br /&gt;
An effective (but not fast) way of getting dependencies is to decide what to enable in the configuration, and then run ./config and see which files are missing. The package providing it can be found via:&lt;br /&gt;
&lt;br /&gt;
 yum provides */&amp;lt;name of the file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then installed with your favourite package manager frontend.&lt;br /&gt;
&lt;br /&gt;
===== RPM SPEC files =====&lt;br /&gt;
* ... can be found in the source code, rpm/ directory, &lt;br /&gt;
* or [https://build.opensuse.org/package/show?package=grass&amp;amp;project=Application%3AGeo OpenSuSe]&lt;br /&gt;
* or [https://admin.fedoraproject.org/pkgdb/acls/name/grass Fedora]&lt;br /&gt;
* or [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/ Mandriva] (there are also [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/proj/ proj4], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/geos/ geos], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/gdal/ gdal], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/gdal-grass/ gdal-grass-plugin], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/qgis/ qgis] etc)&lt;br /&gt;
&lt;br /&gt;
===== Zaurus =====&lt;br /&gt;
&lt;br /&gt;
... see [http://wiki.debian.org/?GrassGISonZaurus here] for instructions&lt;br /&gt;
&lt;br /&gt;
==== Mac OSX ====&lt;br /&gt;
&lt;br /&gt;
* see the source/macosx readme&lt;br /&gt;
* also see [[Compiling on MacOSX]]&lt;br /&gt;
* some notes on [[Packaging on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
==== Solaris ====&lt;br /&gt;
&lt;br /&gt;
* ''2008 Oct 15'': see [http://lists.osgeo.org/pipermail/grass-user/2008-October/047093.html this post on the grass mailing list]&lt;br /&gt;
&lt;br /&gt;
===== 10 SPARC/i86pc =====&lt;br /&gt;
&lt;br /&gt;
* get gcc compiler and tools. There are several sources: Solaris Companion CD (SFW pkg, installs in /opt/sfw/), Blastwave ([http://www.blastwave.org], CSW pkg, installs in /opt/csw/) or Sunfreeware ([http://www.sunfreeware.com], SMC pkg, installs in /usr/local/). &lt;br /&gt;
Needed Packages from Sunfreeware: SMCbinut, SMCbison, SMCcoreu, SMCfindu, SMCflex, SMCgawk, SMCgcc, SMCgrep, SMCgzip, SMCless, SMClibt, SMClicon, SMCmake, SMCncurs, SMCproj, SMCsed, SMCtar, SMCtcl, SMCtiff, SMCtk, SMCunzip, SMCzlib. &lt;br /&gt;
&lt;br /&gt;
* compile and install fftw-library ([http://www.fftw.org]). You need to re-compile the library with: &lt;br /&gt;
&lt;br /&gt;
      ./configure --with-pic --enable-shared; make ; make install. &lt;br /&gt;
&lt;br /&gt;
The pre-built packages don't work. &lt;br /&gt;
&lt;br /&gt;
* compile and install gdal library (see documentation of gdal, [http://www.gdal.org]).&lt;br /&gt;
&lt;br /&gt;
* compile and install any additional libraries (e. g. GEOS, [http://geos.refractions.net]). &lt;br /&gt;
&lt;br /&gt;
* set compiler flags and path. e. g.: &lt;br /&gt;
&lt;br /&gt;
      # on ultra-sparc machine:&lt;br /&gt;
      CFLAGS=&amp;quot;-O3 -mcpu=v9&amp;quot;&lt;br /&gt;
      CXXFLAGS=&amp;quot;-O3 -mcpu=v9&amp;quot;&lt;br /&gt;
      PATH=&amp;quot;/usr/local/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/bin:/usr/sbin&amp;quot;&lt;br /&gt;
      export CFLAGS CXXFLAGS PATH&lt;br /&gt;
&lt;br /&gt;
Path has to be changed for the packages (Sunfreeware: /usr/local/bin, Solaris Companion: /opt/sfw/bin, Blastwave: /opt/csw/bin). &lt;br /&gt;
&lt;br /&gt;
* Next configure, e. g.: &lt;br /&gt;
&lt;br /&gt;
      ./configure --with-postgres-includes=/usr/include/pgsql/ \&lt;br /&gt;
      --with-postgres-libs=/usr/lib --with-postgres=yes \&lt;br /&gt;
      --with-includes=/usr/local/include/ncurses&lt;br /&gt;
&lt;br /&gt;
If you use n(ew)curses, you have to include the path /usr/local/include/ncurses. &lt;br /&gt;
&lt;br /&gt;
then:&lt;br /&gt;
&lt;br /&gt;
      make&lt;br /&gt;
      su&lt;br /&gt;
      make install&lt;br /&gt;
&lt;br /&gt;
If the shared libraries are not found at runtime of the modules, use 'crle' to add the paths of the libraries for the dynamic linker, e. g. as root:&lt;br /&gt;
&lt;br /&gt;
      crle -l /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/usr/X11/lib&lt;br /&gt;
&lt;br /&gt;
Be careful not to omit a library path, the system may be unusable if you forget the /lib path.&lt;br /&gt;
&lt;br /&gt;
==== AIX ====&lt;br /&gt;
&lt;br /&gt;
* ''see [http://thread.gmane.org/gmane.comp.gis.grass.user/32667 this mailing list thread]''&lt;br /&gt;
&lt;br /&gt;
Mike wrote:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
After attempting all the suggestions, I finally used&lt;br /&gt;
--disable-shared on the configure command, and all but&lt;br /&gt;
a handful of modules successfully compiled. I was able to&lt;br /&gt;
individually address the ones that failed through Makefile&lt;br /&gt;
edits and several small source code/header file edits.&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked were:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin:/opt/freeware/bin:$PATH&lt;br /&gt;
export OBJECT_MODE=64&lt;br /&gt;
export LIBICONV=/opt/freeware&lt;br /&gt;
export CC=&amp;quot;xlc_r -q64&amp;quot;&lt;br /&gt;
export CFLAGS=&amp;quot;-O -qstrict&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;xlC_r -q64&amp;quot;&lt;br /&gt;
export CXXFLAGS=&amp;quot;-O -qstrict&amp;quot;&lt;br /&gt;
export AR=&amp;quot;ar -X64&amp;quot;&lt;br /&gt;
export F77=&amp;quot;xlf_r -q64&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/afs/isis/pkg/libpng/include -I/usr/local/include -I$LIBICONV/include -I/usr/lpp/X11/include/X11&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/usr/local/lib -L$LIBICONV/lib -L/usr/lib -L/usr/X11R6/lib -lc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
./configure --prefix=/afs/isis/pkg/grass-6.4.0 \&lt;br /&gt;
  --enable-64bit \&lt;br /&gt;
  --disable-shared \&lt;br /&gt;
  --with-includes=&amp;quot;/usr/include/fontconfig /usr/include/X11 /usr/include/X11/Xft /usr/include/X11/ext&amp;quot; \&lt;br /&gt;
  --x-includes=/usr/include/X11 \&lt;br /&gt;
  --x-libraries=/usr/X11R6/lib \&lt;br /&gt;
  --with-fftw-includes=/afs/isis/pkg/fftw-3.2.2/include \&lt;br /&gt;
  --with-fftw-libs=/afs/isis/pkg/fftw-3.2.2/lib \&lt;br /&gt;
  --with-gdal=/afs/isis/pkg/gdal/bin/gdal-config \&lt;br /&gt;
  --with-proj-includes=/afs/isis/pkg/proj/include \&lt;br /&gt;
  --with-proj-libs=/afs/isis/pkg/proj/lib \&lt;br /&gt;
  --with-proj-share=/afs/isis/pkg/proj/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/local/include \&lt;br /&gt;
  --with-tcltk-libs=/usr/local/lib \&lt;br /&gt;
  --with-opengl-includes=/usr/include/GL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MS-Windows ====&lt;br /&gt;
&lt;br /&gt;
===== MS-Windows/Cygwin =====&lt;br /&gt;
&lt;br /&gt;
... see [http://grass.itc.it/platforms/wingrass.html here] (should be moved to the Wiki)&lt;br /&gt;
&lt;br /&gt;
===== MS-Windows/native =====&lt;br /&gt;
&lt;br /&gt;
====== Compile ======&lt;br /&gt;
&lt;br /&gt;
* [http://www.webalice.it/marco.pasetti/grass/BuildFromSource.html GRASS Windows Native Binary Building Guide] (GRASS 6.3.x)&lt;br /&gt;
* [http://trac.osgeo.org/grass/wiki/CompileOnWindows GRASS Windows Native Binary Building Guide] (GRASS 6.4.x)&lt;br /&gt;
* See/adapt [http://blog.qgis.org/node/124 idea] for unattended install of QGIS (et al) from [http://trac.osgeo.org/osgeo4w/ OSGeo4W] from the QuantumGIS Blog.&lt;br /&gt;
&lt;br /&gt;
See also [[WinGRASS Current Status]] for latest updates.&lt;br /&gt;
&lt;br /&gt;
=== Common problems and solutions ===&lt;br /&gt;
&lt;br /&gt;
During compilation, error can occur if certain packages are not installed. Here a list of problems with solution:&lt;br /&gt;
&lt;br /&gt;
* error: X11/Xlib.h: No such file or directory&lt;br /&gt;
** this suggests that you don't have the X headers installed&lt;br /&gt;
** Solution: Install the libx11-dev package&lt;br /&gt;
&lt;br /&gt;
* error:  g.list: error while loading shared libraries: libgdal1.6.0.so.1: cannot open shared object file: No such file or directory&lt;br /&gt;
** this error appears in the shell right after the user clicks GUI's &amp;quot;Start GRASS&amp;quot; button. The GUI shows an error about geographic extent and gets closed afterwards.&lt;br /&gt;
** It happens when you launch bin.i686 executable on 64bit system. Be careful and choose the right architecture.&lt;br /&gt;
&lt;br /&gt;
=== Optimization ===&lt;br /&gt;
&lt;br /&gt;
GCC and other compilers support [http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Optimize-Options.html#Optimize-Options optimization]&lt;br /&gt;
&lt;br /&gt;
If you would like to set compiler optimisations, for a possibly faster binary, type (don't enter a &amp;quot;;&amp;quot; anywhere):&lt;br /&gt;
&lt;br /&gt;
        CFLAGS=-O ./configure&lt;br /&gt;
or,&lt;br /&gt;
        setenv CFLAGS -O&lt;br /&gt;
        ./configure&lt;br /&gt;
&lt;br /&gt;
whichever works on your shell. Use -O2 instead of -O if your compiler supports this (note: O is the letter, not zero). Using the &amp;quot;gcc&amp;quot; compiler, you can also specify processor specific flags (examples, please suggest better settings to us):&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=athlon -O2&amp;quot; # AMD Athlon processor with code optimisations&lt;br /&gt;
  CFLAGS=&amp;quot;-march=amdfam10&amp;quot;  # AMD Phenom II X4 64bit processor with gcc &amp;gt;=4.3&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=pentium&amp;quot;    # Intel Pentium processor&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=pentium4&amp;quot;   # Intel Pentium4 processor&lt;br /&gt;
  CFLAGS=&amp;quot;-O2 -msse -msse2 -mfpmath=sse -minline-all-stringops&amp;quot; # Intel XEON 64bit processor&lt;br /&gt;
  CFLAGS=&amp;quot;-mtune=nocona -m64 -minline-all-stringops&amp;quot;            # Intel Pentium 64bit processor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find out optional CFLAGS for your platform, enter:&lt;br /&gt;
  gcc -dumpspecs&lt;br /&gt;
&lt;br /&gt;
See also: http://gcc.gnu.org/&lt;br /&gt;
&lt;br /&gt;
A real fast GRASS version (and small binaries) will be created with LDFLAGS set to &amp;quot;stripping&amp;quot; (but this disables debugging):&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-O2 -mcpu=&amp;lt;cpu_see_above&amp;gt; -Wall&amp;quot; LDFLAGS=&amp;quot;-s&amp;quot; ./configure&lt;br /&gt;
&lt;br /&gt;
=== Configure options and their meanings ===&lt;br /&gt;
&lt;br /&gt;
For configure there are many options and some GRASS modules are built only if some options are set. Here are listed common configuration options with short explanation.&lt;br /&gt;
&lt;br /&gt;
* --prefix=/path - Sets path where GRASS will be installed. GRASS will reside in /path/grass-version.&lt;br /&gt;
* --enable-largefile - Enables large (&amp;gt;2Gb on 32bit systems) support. For current large file support status look at [[Large File Support]] page.&lt;br /&gt;
* --with-cxx - Enables compilation of C++ code. Required for r.terraflow module.&lt;br /&gt;
* --with-readline - Enables readline support. If readline is enabled, you can use its history/editing facilities when entering r.mapcalc expressions on stdin.&lt;br /&gt;
* --with-glw - Enables GLw support. The GLw library provides OpenGL &amp;quot;canvas&amp;quot; widgets for Athena and Motif. &lt;br /&gt;
 &lt;br /&gt;
 That switch is unnecessary for normal compilation. It's only&lt;br /&gt;
 required for r3.showdspf, which isn't normally built; if you &lt;br /&gt;
 want it, you have build it manually &lt;br /&gt;
 (e.g. &amp;quot;make -C raster3d/r3.showdspf&amp;quot;).&lt;br /&gt;
 As similar functionality is now provided by NVIZ, r3.showdspf&lt;br /&gt;
 is deprecated.&lt;br /&gt;
 r3.showdspf uses the Motif widget (so you also need a &lt;br /&gt;
 Motif library, e.g. Lesstif or OpenMotif).&lt;br /&gt;
 [http://grass.itc.it/pipermail/grassuser/2006-December/037475.html Glynn Clements at GRASS-user mailing list]&lt;br /&gt;
&lt;br /&gt;
=== Parallelized compilation on multi-core CPUs ===&lt;br /&gt;
&lt;br /&gt;
You can dramatically accelerate the compilation of the GRASS code with the -j flag of &amp;quot;make&amp;quot; if you have a multi-core CPU system. This determines the maximum number of jobs to have running at once, so cores don't have to sit idle waiting for jobs on other cores to complete. A good rule of thumb for this value is &amp;lt;tt&amp;gt;number_of_cores * 1.5&amp;lt;/tt&amp;gt;, but note that setting any higher than the actual number of cores will only affect the timing slightly. For example, on a dual-core processor:&lt;br /&gt;
  make -j 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CFLAGS=&amp;quot;-pipe&amp;quot; doesn't seem to help much --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Addons ==&lt;br /&gt;
&lt;br /&gt;
=== GRASS-GDAL plugin ===&lt;br /&gt;
&lt;br /&gt;
* see [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]]&lt;br /&gt;
&lt;br /&gt;
=== Compiled C modules ===&lt;br /&gt;
&lt;br /&gt;
'''Requirements:'''&lt;br /&gt;
&lt;br /&gt;
Either:&lt;br /&gt;
* a binary GRASS package, or&lt;br /&gt;
* source code which has been prepared with:&lt;br /&gt;
    ./configure [opionally flags]&lt;br /&gt;
    make libs&lt;br /&gt;
&lt;br /&gt;
Each of the [[GRASS_AddOns|addon]] modules should come with a Makefile. To compile it, just run:&lt;br /&gt;
    make MODULE_TOPDIR=/path/to/grass64/&lt;br /&gt;
&lt;br /&gt;
If using Bash it may be useful to set that up as an alias:&lt;br /&gt;
    alias gmake64='make MODULE_TOPDIR=/path/to/grass64/'&lt;br /&gt;
&lt;br /&gt;
Installation (perhaps requires &amp;quot;sudo&amp;quot;):&lt;br /&gt;
    make MODULE_TOPDIR=/path/to/grass64/ install&lt;br /&gt;
&lt;br /&gt;
Note: Compiled addons may require a re-compilation if you changed/updated your GRASS standard binaries.&lt;br /&gt;
&lt;br /&gt;
==== If binary comes with a -dev package ====&lt;br /&gt;
&lt;br /&gt;
''(work in progress, this text states how it eventually will be :)''&lt;br /&gt;
Nowadays one does not need to the source code, nor compiling GRASS by oneself to be able to add add-ons. On Debian, you can just install the grass-dev package and then run:&lt;br /&gt;
 make MODULE_TOPDIR=/usr/lib/grass64/ INST_DIR=/usr/lib/grass64/&lt;br /&gt;
&lt;br /&gt;
The grass-dev package essentially provides GRASS's &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; header files and Make configuration files.&lt;br /&gt;
&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
If the addon module is a script, it is sufficient to copy it into the (GRASS binaries) path somewhere. Alternatively, install addons into a separate GRASS addons binaries/scripts directory which is easier to maintain. It avoids getting clobbered every time you reinstall GRASS. To use these separately stored scripts, set and export the GRASS_ADDON_PATH environment variable before starting GRASS and it will automatically be added to the module search path (see the {{cmd|variables}} help page). To simplify this, do for example:&lt;br /&gt;
&lt;br /&gt;
 # add in $HOME/.bashrc:&lt;br /&gt;
 GRASS_ADDON_PATH=/usr/local/grass/addons/&lt;br /&gt;
 export GRASS_ADDON_PATH&lt;br /&gt;
&lt;br /&gt;
Make sure that the script is executable, then just call it in GRASS typing the filename. Python scripts need to be called writing the extension as well, like:&lt;br /&gt;
 &lt;br /&gt;
 GRASS 6.5.svn (spearfish60):~ &amp;gt; v.krige.py&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install&amp;diff=12194</id>
		<title>Compile and Install</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Compile_and_Install&amp;diff=12194"/>
		<updated>2010-12-10T09:10:16Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Fedora */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{MoveToTrac}}&lt;br /&gt;
== How to do compilation and installation of GRASS 6? ==&lt;br /&gt;
&lt;br /&gt;
Here we explain the procedure to compile GRASS from SVN, but it also applies to official GRASS 6 releases.&lt;br /&gt;
&lt;br /&gt;
''For installation of precompiled binary packages, see the main [[Installation Guide]].''&lt;br /&gt;
&lt;br /&gt;
For detailed information on compilation, please see the [http://grass.itc.it/grass61/source/INSTALL INSTALL] file in the source code.&lt;br /&gt;
&lt;br /&gt;
=== Prerequisites ===&lt;br /&gt;
&lt;br /&gt;
GRASS needs at least two extra libraries: PROJ and GDAL/OGR&lt;br /&gt;
&lt;br /&gt;
''Note: if you want to have DBMS support in GDAL (subsequently in GRASS) you have to perform the &amp;quot;Optional&amp;quot; steps below as well.''&lt;br /&gt;
&lt;br /&gt;
* [http://proj.maptools.org PROJ4] for management of projections (with proj-datumgrid-1.3.zip support)&lt;br /&gt;
* Optional: [http://geos.refractions.net GEOS]&lt;br /&gt;
* Optional: [http://www.postgresql.org PostgreSQL], [http://www.mysql.org mySQL], [http://www.unixodbc.org unixODBC], [http://www.sqlite.org SQLite] (SQLite is needed for QGIS)&lt;br /&gt;
* [http://www.gdal.org GDAL/OGR] for reading and writing various GIS data formats (interoperability)&lt;br /&gt;
&lt;br /&gt;
You have to install these two libraries '''first'''.&lt;br /&gt;
&lt;br /&gt;
It is easiest to obtain a prepackaged version of these libraries (e.g., .rpm; .deb) for your particular operating system and run the corresponding package installation (e.g., rpm -Uhv packagename.rpm; apt-get) in a terminal window. Take care to also install the development packages of these libraries (...-devel packages). If there is no prepackage version, then you will have to download the source code (see links above, source code packages usually ends in .tar.gz or .zip) and compile it (you must have a C compiler installed as part of your operating system). The Web sites show the steps to compile the libraries.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Other libraries needed to run GRASS are listed on the {{website|grass64/source/REQUIREMENTS.html|requirements page}}.&lt;br /&gt;
&lt;br /&gt;
To compile, you will also need the respective &amp;quot;-devel&amp;quot; packages.&lt;br /&gt;
&lt;br /&gt;
Then [http://grass.osgeo.org/download/index.php#g64x download GRASS] of course.&lt;br /&gt;
&lt;br /&gt;
=== Generic Compilation and installation procedure ===&lt;br /&gt;
&lt;br /&gt;
* It is wise that compilation processes are carried out as a normal user: If you want to get the source code in a place where  you do not have write permissions (e.g. in /usr/local/src/) just follow this:&lt;br /&gt;
      cd /usr/local/src/ &lt;br /&gt;
      su -c 'mkdir grass6'&lt;br /&gt;
      su -c 'chown yourlogin:yourgroup grass6'&lt;br /&gt;
&lt;br /&gt;
Otherwise if you have permissions just continue as a normal user:&lt;br /&gt;
      cd /usr/local/src/&lt;br /&gt;
      svn checkout ...&lt;br /&gt;
&lt;br /&gt;
* do a code checkout from the SVN source code repository&lt;br /&gt;
: checkout the latest GRASS 6.x from SVN (see: {{twiki|DownloadSource}})&lt;br /&gt;
&lt;br /&gt;
* in the grass6 directory, you will find the precious INSTALL file, open it with your favourite pager/editor and read it carefully!&lt;br /&gt;
&lt;br /&gt;
* run configure with parameters to adapt the compile process to your own system. To see what options can be passed to it, run:&lt;br /&gt;
 ./configure --help | less &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- The minimum set of configure parameters is &lt;br /&gt;
      ./configure ### --&amp;gt;&lt;br /&gt;
It may (!) look like this:&lt;br /&gt;
 &lt;br /&gt;
      ./configure \&lt;br /&gt;
          --with-cxx \&lt;br /&gt;
          --with-sqlite \&lt;br /&gt;
          --with-postgres-libs=/usr/include/pgsql/libpq \&lt;br /&gt;
          --with-postgres-includes=/usr/include/pgsql \&lt;br /&gt;
          --with-freetype \&lt;br /&gt;
          --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
          --with-motif \&lt;br /&gt;
          --with-proj-share=/usr/share/proj&lt;br /&gt;
&lt;br /&gt;
You may have to explicitly state the path for certain packages (i.e., gdal). The Unix 'locate' command will come in handy for finding the path of the package you need (you may have to run locate as root ex: sudo locate gdal-config).&lt;br /&gt;
&lt;br /&gt;
Please note that the paths mentioned may widely vary due to the distribution used.&lt;br /&gt;
See [[Compile_and_Install#Platform_Specific_Notes|Platform Specific Notes]] below.&lt;br /&gt;
&lt;br /&gt;
Depending on your needs it may be a good idea to include debugging hooks.&lt;br /&gt;
: See [[GRASS_Debugging#Compile_Time_Setup]].&lt;br /&gt;
 CFLAGS=&amp;quot;-ggdb -Wall -Werror-implicit-function-declaration&amp;quot; ./configure ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the end of configuration process you should get report not much different from this:&lt;br /&gt;
&lt;br /&gt;
GRASS is now configured for:  i686-pc-linux-gnu&lt;br /&gt;
 &lt;br /&gt;
 Source directory:            /usr/src/grass6&lt;br /&gt;
 Build directory:             /usr/src/grass6&lt;br /&gt;
 Installation directory:      /usr/local/grass-6.3.svn&lt;br /&gt;
 Startup script in directory: ${exec_prefix}/bin&lt;br /&gt;
 C compiler:                  gcc -g -O2 &lt;br /&gt;
 C++ compiler:                c++ -g -O2&lt;br /&gt;
 FORTRAN compiler:            &lt;br /&gt;
 Building shared libraries:   yes&lt;br /&gt;
 64bit support:               no&lt;br /&gt;
 &lt;br /&gt;
  NVIZ:                       yes&lt;br /&gt;
 &lt;br /&gt;
  BLAS support:               no&lt;br /&gt;
  C++ support:                yes&lt;br /&gt;
  DWG support:                no&lt;br /&gt;
  FFMPEG support:             no&lt;br /&gt;
  FFTW support:               yes&lt;br /&gt;
  FreeType support:           yes&lt;br /&gt;
  GDAL support:               yes&lt;br /&gt;
  GLw support:                no&lt;br /&gt;
  JPEG support:               yes&lt;br /&gt;
  LAPACK support:             no&lt;br /&gt;
  Large File Support (LFS):   no&lt;br /&gt;
  Motif support:              no&lt;br /&gt;
  MySQL support:              no&lt;br /&gt;
  NLS support:                no&lt;br /&gt;
  ODBC support:               no&lt;br /&gt;
  OGR support:                yes&lt;br /&gt;
  OpenGL(R) support:          yes&lt;br /&gt;
  PNG support:                yes&lt;br /&gt;
  PostgreSQL support:         yes&lt;br /&gt;
  Readline support:           no&lt;br /&gt;
  SQLite support:             no&lt;br /&gt;
  Tcl/Tk support:             yes&lt;br /&gt;
  TIFF support:               yes&lt;br /&gt;
  X11 support:                yes&lt;br /&gt;
  &lt;br /&gt;
* Let's compile it (takes a little while...)!&lt;br /&gt;
      make&lt;br /&gt;
* At the end, you should get report not much different from this:&lt;br /&gt;
 ----------------------------------------------------------------------&lt;br /&gt;
 Following modules are missing the 'description.html' file in src code:&lt;br /&gt;
 ----------------------------------------------------------------------&lt;br /&gt;
 GRASS GIS compilation log&lt;br /&gt;
 -------------------------&lt;br /&gt;
 Started compilation: Ne kvě 28 13:18:43 CEST 2006&lt;br /&gt;
 --&lt;br /&gt;
 Errors in:&lt;br /&gt;
 --&lt;br /&gt;
 Finished compilation: Ne kvě 28 13:43:40 CEST 2006&lt;br /&gt;
 (In case of errors please change into the directory with error and run 'make')&lt;br /&gt;
&lt;br /&gt;
* If there is any error, change directory to directory with error and run &amp;quot;make&amp;quot; again. Report occuring bug to grass mailing list&lt;br /&gt;
* Once the installation process is finished, you're ready to install GRASS system wide.&lt;br /&gt;
      su -c 'make install'&lt;br /&gt;
* enjoy GRASS: &lt;br /&gt;
      grass63&lt;br /&gt;
&lt;br /&gt;
=== What else? ===&lt;br /&gt;
&lt;br /&gt;
If you want to use [http://www.qgis.org QGIS], then also compile the GRASS-GDAL/OGR plugin. This is also useful to access your GRASS-data&lt;br /&gt;
from other application using GDAL/OGR like [http://thuban.intevation.de thuban].&lt;br /&gt;
* [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]] (enables QGIS to read GRASS data directly)&lt;br /&gt;
&lt;br /&gt;
=== Compile and install GDAL-GRASS plugin ===&lt;br /&gt;
&lt;br /&gt;
* See [[Compile and install GDAL-GRASS plugin]]&lt;br /&gt;
&lt;br /&gt;
=== Platform Specific Notes ===&lt;br /&gt;
&lt;br /&gt;
==== Linux ====&lt;br /&gt;
&lt;br /&gt;
===== Debian =====&lt;br /&gt;
&lt;br /&gt;
Read the instructions here:&lt;br /&gt;
: http://trac.osgeo.org/grass/browser/grass/branches/develbranch_6/debian/README.debian&lt;br /&gt;
&lt;br /&gt;
   # first install PROJ, GDAL, etc.&lt;br /&gt;
   cd grass64/&lt;br /&gt;
   # follow instructions in debian/README.debian&lt;br /&gt;
   fakeroot buildpackage&lt;br /&gt;
&lt;br /&gt;
* Official [http://wiki.debian.org/DebianGis DebianGIS] packaging [http://svn.debian.org/viewsvn/pkg-grass/packages/grass/ control files], also accessible via svn:&lt;br /&gt;
&lt;br /&gt;
  svn co svn://svn.debian.org/svn/pkg-grass/packages/grass/trunk/&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
  svn co svn://svn.debian.org/svn/pkg-grass/packages/grass/branches/&amp;lt;GRASS Version&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.1 on Debian Sarge ======&lt;br /&gt;
&lt;br /&gt;
* [http://hamish.bowman.googlepages.com/debiangisfiles#compile Compiling GRASS 6.1-CVS on Debian/OldStable (aka 3.1, Sarge)]&lt;br /&gt;
&lt;br /&gt;
====== GRASS 6.4 on Debian Lenny ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
  apt-get install flex bison libreadline-dev libncurses5-dev lesstif2-dev debhelper dpatch libtiff4-dev \&lt;br /&gt;
          tcl-dev tk-dev libfftw3-dev libxmu-dev libfreetype6-dev autoconf2.13 autotools-dev doxygen \&lt;br /&gt;
          libmysqlclient15-dev graphviz libsqlite3-dev python-wxgtk2.8 libcairo2-dev libwxgtk2.8-dev \&lt;br /&gt;
          python-dev swig libgdal1-dev  libgdal1-1.5.0 libproj-dev libproj0 proj-data mysql&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
  ./configure \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-postgres --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
  --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib/mysql \&lt;br /&gt;
  --with-odbc \&lt;br /&gt;
  --with-cairo \&lt;br /&gt;
  --with-proj-share=/usr/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/include/tcl8.4/ \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-motif --with-fftw --with-nls --with-python&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
====== GRASS 7 on Debian Squeeze ======&lt;br /&gt;
&lt;br /&gt;
Install needed packages:&lt;br /&gt;
 apt-get install flex bison libreadline-dev libncurses5-dev lesstif2-dev debhelper dpatch libtiff4-dev \&lt;br /&gt;
   tcl-dev tk-dev libfftw3-dev libxmu-dev libfreetype6-dev autoconf2.13 autotools-dev doxygen \&lt;br /&gt;
   libmysqlclient-dev graphviz libsqlite3-dev python-wxgtk2.8 libcairo2-dev libwxgtk2.8-dev \&lt;br /&gt;
   python-dev swig libgdal1-dev libgdal1-1.6.0 libproj-dev proj-bin libglw1-mesa-dev \&lt;br /&gt;
   mysql-client-5.1 mysql-server-5.1 libpq-dev subversion gcc lesstif2-dev \&lt;br /&gt;
   zlib1g-dev libproj-dev libtiff4-dev mesa-common-dev libglu1-mesa-dev libcairo2-dev \&lt;br /&gt;
   g++ wx-common python-wxgtk2.8 libwxgtk2.8-dev libxt-dev libxmu-headers gettext python-numpy&lt;br /&gt;
&lt;br /&gt;
Download source code:&lt;br /&gt;
&lt;br /&gt;
 svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk&lt;br /&gt;
&lt;br /&gt;
Configure:&lt;br /&gt;
&lt;br /&gt;
 CFLAGS=&amp;quot;-g -Wall -Werror-implicit-function-declaration -fno-common -Wextra -Wunused&amp;quot; \&lt;br /&gt;
 CXXFLAGS=&amp;quot;-g -Wall&amp;quot;  \&lt;br /&gt;
  ./configure --prefix=/usr/local \&lt;br /&gt;
  --with-postgres --with-postgres-includes=/usr/include/postgresql \&lt;br /&gt;
  --with-mysql --with-mysql-includes=/usr/include/mysql \&lt;br /&gt;
  --with-gdal --with-proj --with-proj-share=/usr/share \&lt;br /&gt;
  --with-motif --with-glw --with-nls --with-readline \&lt;br /&gt;
  --with-cxx --enable-largefile \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-odbc --with-cairo --with-python=/usr/bin/python2.6-config --with-wxwidgets \&lt;br /&gt;
  --with-tcltk-includes=/usr/include/tcl8.5 --with-tcltk-libs=/usr/lib/tcl8.5 \&lt;br /&gt;
  --with-geos --with-pthread&lt;br /&gt;
&lt;br /&gt;
Compile:&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
Install:&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
===== Ubuntu =====&lt;br /&gt;
&lt;br /&gt;
''The above Debian notes will probably work with Ubuntu as well.''&lt;br /&gt;
&lt;br /&gt;
A more  [[Compile_and_Install_Ubuntu | specific page]] towards Ubuntu is being written on.&lt;br /&gt;
&lt;br /&gt;
====== Ubuntu 6.06, 7.10 ======&lt;br /&gt;
&lt;br /&gt;
* [http://david.p.finlayson.googlepages.com/makegrass.sh makegrass.sh] is script designed to automate most of the download, configuration and compilation of GRASS 6.x-CVS&lt;br /&gt;
** it is advised use [https://help.ubuntu.com/community/CheckInstall checkinstall] (''sudo apt-get install checkinstall'') instead of ''make install'' to keep track of installed software &lt;br /&gt;
** Think twice before using this script. Some users experienced problems such as disabled XGL etc.&lt;br /&gt;
* [[User:Steko/Automated_CVS_compiling|Here]] is another of these scripts, it's homemade so probably you'll find the above more useful for production sites.&lt;br /&gt;
&lt;br /&gt;
====== Ubuntu 7.10 64-bit ======&lt;br /&gt;
&lt;br /&gt;
* Compiling latest GRASS source code on a 64-bit machine (with an ATI graphic card) under Ubuntu 7.10 64-bit with support for: 64-bit, SQLite, OpenGL, PYTHON, FFMPEG&lt;br /&gt;
(Based on &amp;quot;Ubuntu 6.06 LTS - GRASS 6.1 Compilation Script&amp;quot; by David Finlayson)&lt;br /&gt;
''Assuming it is the first time attempting to compile GRASS' source code &amp;amp; installing SVN, PROJ, GDAL/OGR''&lt;br /&gt;
&lt;br /&gt;
'''Preparation'''&lt;br /&gt;
 sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
* install dependencies for compiling (in general) and dependencies for GRASS: PROJ, GDAL/OGR&lt;br /&gt;
 sudo apt-get install grass build-essential flex bison libncurses5-dev zlib1g-dev \&lt;br /&gt;
 libjpeg62-dev libgdal1-dev libtiff4-dev libgcc1 libpng12-dev tcl8.4-dev tk8.4-dev fftw3-dev \&lt;br /&gt;
 libfreetype6-dev libavcodec-dev libxmu-dev gdal-bin libreadline5 libreadline5-dev \&lt;br /&gt;
 make python-dev python-wxversion swig&lt;br /&gt;
&lt;br /&gt;
* install SQLite&lt;br /&gt;
 sudo apt-get install sqlite3 libsqlite3-dev&lt;br /&gt;
&lt;br /&gt;
* install SVN&lt;br /&gt;
 sudo apt-get install subversion&lt;br /&gt;
&lt;br /&gt;
* create a directory as a simple user where source code(s) are going to be stored (in our example we use a directory called '''src''' under '''/usr/local''')&lt;br /&gt;
&lt;br /&gt;
 sudo mkdir /usr/local/src&lt;br /&gt;
&lt;br /&gt;
* grant rwx (read-write-execute) permissions for our userid/ groupid on the directory (replace words userid and groupid with real userid):&lt;br /&gt;
 sudo chown ''userid'':''groupid'' /usr/local/src&lt;br /&gt;
&lt;br /&gt;
 sudo chmod ug+rwx /usr/local/src&lt;br /&gt;
&lt;br /&gt;
* download latest source code from GRASS SVN repository in a directory on the system (e.g. /usr/local/src)&lt;br /&gt;
 svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk&lt;br /&gt;
&lt;br /&gt;
* Above command places GRASS' source code in '''/usr/local/src/grass_trunk'''. In case of a subsequent update use the command: '''svn up''' from within the grass_trunk directory&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
'''Before''' attempting to compile GRASS, READ section (C) in the '''INSTALL''' file located in the main directory of GRASS source code entitled:&lt;br /&gt;
'''(C) COMPILATION NOTES for 64bit platforms'''&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
* installing FFTW3 if not already on system&lt;br /&gt;
 sudo apt-get install fftw3 fftw3-dev&lt;br /&gt;
&lt;br /&gt;
'''FFMPEG'''&lt;br /&gt;
&lt;br /&gt;
Note: Back in Ubuntu 7.10, installing ffmpeg through the repositories wouldn't work with grass. The following steps were successfully used.&lt;br /&gt;
&lt;br /&gt;
* install FFMPEG (information taken from: http://stream0.org/2008/01/install-ffmpeg-on-ubuntu-gutsy.html)&lt;br /&gt;
* download source code with svn&lt;br /&gt;
 svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg&lt;br /&gt;
&lt;br /&gt;
* install dependencies&lt;br /&gt;
 sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev \&lt;br /&gt;
      liba52-0.7.4 liba52-0.7.4-dev libx264-dev libdts-dev checkinstall \&lt;br /&gt;
      build-essential subversion&lt;br /&gt;
&lt;br /&gt;
* guide to ffmpeg directory&lt;br /&gt;
 cd ffmpeg&lt;br /&gt;
&lt;br /&gt;
if necessary: '''make distclean''' before configuration (look at notes below)&lt;br /&gt;
&lt;br /&gt;
* configuration ('''note:''' the configuration parameter &amp;quot;'''--enable-pp'''&amp;quot; does not work anymore)&lt;br /&gt;
 # configure FFMPEG&lt;br /&gt;
 ./configure --enable-gpl --enable-libvorbis --enable-libtheora \&lt;br /&gt;
             --enable-liba52 --enable-libdc1394 --enable-libgsm \&lt;br /&gt;
             --enable-libmp3lame --enable-libfaad --enable-libfaac \&lt;br /&gt;
             --enable-libxvid --enable-pthreads --enable-libx264 \&lt;br /&gt;
             --enable-shared&lt;br /&gt;
&lt;br /&gt;
* compilation&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
* installation on /usr/local/bin -- important to remember when configuring GRASS' source code for compilation&lt;br /&gt;
 sudo checkinstall&lt;br /&gt;
&lt;br /&gt;
'''Go for GRASS!'''&lt;br /&gt;
* in our example we used the /usr/local/src directory to store GRASS' source code, so:&lt;br /&gt;
 cd /usr/local/src/grass_trunk&lt;br /&gt;
&lt;br /&gt;
* configuration&lt;br /&gt;
  CFLAGS=&amp;quot;-g -Wall&amp;quot; ./configure --enable-64bit \&lt;br /&gt;
        --with-libs=/usr/lib64 --with-cxx --with-freetype=yes \&lt;br /&gt;
        --with-postgres=no --with-sqlite=yes --enable-largefile=yes \&lt;br /&gt;
        --with-tcltk-includes=/usr/include/tcl8.4 \&lt;br /&gt;
        --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
        --with-opengl-libs=/usr/include/GL --with-readline \&lt;br /&gt;
        --with-python=yes --with-ffmpeg=yes \&lt;br /&gt;
        --with-ffmpeg-includes=/usr/local/include/ffmpeg&lt;br /&gt;
&lt;br /&gt;
*if OpenGL fails then maybe it is necessary to link '''glxATI.h''' with '''glx.h''' and re-run the configuration&lt;br /&gt;
&lt;br /&gt;
 cd /usr/include/GL&lt;br /&gt;
&lt;br /&gt;
 sudo ln glxATI.h glx.h&lt;br /&gt;
&lt;br /&gt;
* compilation&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
* compilation is expected to end with a statement similar to the following:&lt;br /&gt;
&lt;br /&gt;
 Started compilation: Wed Feb 27 00:24:36 CET 2008&lt;br /&gt;
 --&lt;br /&gt;
 Errors in:&lt;br /&gt;
 No errors detected.&lt;br /&gt;
&lt;br /&gt;
* installation&lt;br /&gt;
 sudo checkinstall&lt;br /&gt;
&lt;br /&gt;
* launch 64-bit GRASS.6.4.svn&lt;br /&gt;
 grass64&lt;br /&gt;
&lt;br /&gt;
'''Notes'''&lt;br /&gt;
* in case of errors in future compilation attempts, remember to remove program binaries with&lt;br /&gt;
 make clean&lt;br /&gt;
* and the files created with the &amp;quot;configuration&amp;quot; from previous compilations with&lt;br /&gt;
 make distclean&lt;br /&gt;
&lt;br /&gt;
====== Ubuntu 8.04 and 9.04 ======&lt;br /&gt;
&lt;br /&gt;
* See [[Compile and Install Ubuntu‎]]&lt;br /&gt;
&lt;br /&gt;
===== Mandriva =====&lt;br /&gt;
&lt;br /&gt;
Installation of dependencies (urpmi will ask you a few more):&lt;br /&gt;
&lt;br /&gt;
'''Mandriva 2009:''' (take out the '64' everywhere if you are on 32bit)&lt;br /&gt;
  # as root&lt;br /&gt;
    urpmi flex bison zlib-devel tiff-devel png-devel tcl-devel tk-devel sqlite3-devel \&lt;br /&gt;
          mesagl1-devel mesaglu1-devel lib64xmu6-devel gcc-c++ swig gettext \&lt;br /&gt;
          lib64wxgtk2.8 lib64wxgtk2.8-devel lib64wxgtkgl2.8 wxgtk2.8 \&lt;br /&gt;
          lib64wxPythonGTK2.8 lib64wxPythonGTK2.8-devel wxPythonGTK wxPythonGTK-wxversion&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
'''Mandriva 2010:''' (take out the '64' everywhere if you are on 32bit) - see also [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SPECS/ SPEC] file&lt;br /&gt;
  # as root&lt;br /&gt;
    # installation of PROJ and GDAL&lt;br /&gt;
    urpmi proj proj-devel gdal gdal-devel gcc-gfortran lib64openssl1.0.0 \&lt;br /&gt;
          lib64openssl1.0.0-devel postgresql8.4-devel lib64pq8.4&lt;br /&gt;
 &lt;br /&gt;
    # installation of compilation environment&lt;br /&gt;
    urpmi flex bison zlib-devel tiff-devel png-devel tcl-devel tk-devel sqlite3-devel \&lt;br /&gt;
          lib64mesagl1-devel lib64mesaglu1-devel lib64xmu6-devel gcc-c++ swig gettext \&lt;br /&gt;
          lib64jpeg-devel lib64wxgtk2.8 lib64wxgtk2.8-devel lib64wxgtkgl2.8 wxgtk2.8 \&lt;br /&gt;
          lib64wxPythonGTK2.8 lib64wxPythonGTK2.8-devel wxPythonGTK wxPythonGTK-wxversion&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
Then, to configure GRASS, run (64 bit stuff optional of course):&lt;br /&gt;
  #  as user&lt;br /&gt;
  ./configure \&lt;br /&gt;
    --enable-64bit --with-libs=/usr/lib64 \&lt;br /&gt;
    --with-cxx \&lt;br /&gt;
    --with-gdal=/usr/local/bin/gdal-config \&lt;br /&gt;
    --with-sqlite \&lt;br /&gt;
    --with-nls \&lt;br /&gt;
    --with-python \&lt;br /&gt;
    --with-wxwidgets=/usr/lib/wxPython/bin/wx-config \&lt;br /&gt;
    --with-fftw \&lt;br /&gt;
    --with-ffmpeg --with-ffmpeg-includes=&amp;quot;/usr/include/libav* /usr/include/libpostproc /usr/include/libswscale&amp;quot; \&lt;br /&gt;
    --with-motif \&lt;br /&gt;
    --with-mysql --with-mysql-includes=/usr/include/mysql --with-mysql-libs=/usr/lib64 \&lt;br /&gt;
    --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
    --enable-largefile&lt;br /&gt;
&lt;br /&gt;
   # compilation (use -j2 ior -j4 parameter on multi-core CPUs to accelerate):   &lt;br /&gt;
    make&lt;br /&gt;
&lt;br /&gt;
Installation:&lt;br /&gt;
    su&lt;br /&gt;
    # this will install into /usr/local/&lt;br /&gt;
    make install&lt;br /&gt;
    exit&lt;br /&gt;
&lt;br /&gt;
===== CentOS =====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Note: CentOS 5 comes with Python 2.4 which lacks python-config, hence two extra tweaks are needed.&lt;br /&gt;
&lt;br /&gt;
Preparation:&lt;br /&gt;
  yum install flex bison zlib-devel  tcl-devel tk-devel gcc-c++ swig gettext \&lt;br /&gt;
              libtiff-devel libpng-devel sqlite-devel libjpeg-devel \&lt;br /&gt;
              mesa-libGL-devel mesa-libGLU-devel mesa-libGLw-devel \&lt;br /&gt;
              mesa-libOSMesa-devel libXmu-devel python-devel gtk2-devel\&lt;br /&gt;
              ncurses-devel postgresql-devel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Compile and install [http://proj.osgeo.org PROJ4]:&lt;br /&gt;
&lt;br /&gt;
 # get source code and unpack:&lt;br /&gt;
 wget http://download.osgeo.org/proj/proj-4.7.0.tar.gz&lt;br /&gt;
 tar xvfz proj-4.7.0.tar.gz &lt;br /&gt;
 rm -f proj-4.7.0.tar.gz &lt;br /&gt;
 cd proj-4.7.0/&lt;br /&gt;
 &lt;br /&gt;
 # get and install datum files into right directory:&lt;br /&gt;
 cd nad/&lt;br /&gt;
 wget http://download.osgeo.org/proj/proj-datumgrid-1.5.zip&lt;br /&gt;
 unzip proj-datumgrid-1.5.zip&lt;br /&gt;
 rm -f proj-datumgrid-1.5.zip&lt;br /&gt;
 cd ..&lt;br /&gt;
 &lt;br /&gt;
 # configure and compile&lt;br /&gt;
 sh configure&lt;br /&gt;
 make -j4&lt;br /&gt;
 &lt;br /&gt;
 # install (may require &amp;quot;root&amp;quot; permissions, use &amp;quot;su&amp;quot;):&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Compile and install [http://www.gdal.org GDAL]:&lt;br /&gt;
 # get source code and unpack:&lt;br /&gt;
 wget http://download.osgeo.org/gdal/gdal-1.6.3.tar.gz&lt;br /&gt;
 tar xvfz gdal-1.6.3.tar.gz &lt;br /&gt;
 rm -f gdal-1.6.3.tar.gz &lt;br /&gt;
 cd gdal-1.6.3/&lt;br /&gt;
 &lt;br /&gt;
 # configure and compile&lt;br /&gt;
 sh configure&lt;br /&gt;
 make -j4&lt;br /&gt;
 &lt;br /&gt;
 # install (may require &amp;quot;root&amp;quot; permissions, use &amp;quot;su&amp;quot;):&lt;br /&gt;
 make install&lt;br /&gt;
 &lt;br /&gt;
 # add /usr/local/lib/ to LD_LIBRARY_PATH, requires &amp;quot;root&amp;quot; permissions:&lt;br /&gt;
 su - &lt;br /&gt;
 echo &amp;quot;/usr/local/lib&amp;quot; &amp;gt; /etc/ld.so.conf.d/gdal.conf&lt;br /&gt;
 ldconfig&lt;br /&gt;
 exit&lt;br /&gt;
 &lt;br /&gt;
 # test installation by running&lt;br /&gt;
 gdalinfo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GRASS 7 compilation and installation, here 64bit example:&lt;br /&gt;
&lt;br /&gt;
1. Download wxGTP and wxPython:&lt;br /&gt;
&lt;br /&gt;
  wget http://packages.sw.be/wxPython/wxPython-2.8.9.1-1.el5.rf.x86_64.rpm&lt;br /&gt;
  wget http://packages.sw.be/wxPython/wxPython-devel-2.8.9.1-1.el5.rf.x86_64.rpm&lt;br /&gt;
  wget http://packages.sw.be/wxGTK/wxGTK-2.8.9-1.el5.rf.x86_64.rpm&lt;br /&gt;
  wget http://packages.sw.be/wxGTK/wxGTK-devel-2.8.9-1.el5.rf.x86_64.rpm&lt;br /&gt;
 &lt;br /&gt;
  # Install:&lt;br /&gt;
  rpm -Uhv wxPython-2.8.9.1-1.el5.rf.x86_64.rpm wxPython-devel-2.8.9.1-1.el5.rf.x86_64.rpm \&lt;br /&gt;
           wxGTK-2.8.9-1.el5.rf.x86_64.rpm wxGTK-devel-2.8.9-1.el5.rf.x86_64.rpm&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
2. [http://grass.osgeo.org/download/ Download] and configure GRASS 7 (suggestion: save this as script). Note that [http://proj.osgeo.org PROJ4] and [http://www.gdal.org GDAL] must be compiled first:&lt;br /&gt;
&lt;br /&gt;
 ./configure \&lt;br /&gt;
  --with-libs=/usr/lib64 \&lt;br /&gt;
  --with-cxx \&lt;br /&gt;
  --without-ffmpeg \&lt;br /&gt;
  --with-gdal=/usr/local/bin/gdal-config \&lt;br /&gt;
  --without-odbc \&lt;br /&gt;
  --with-sqlite \&lt;br /&gt;
  --with-postgres \&lt;br /&gt;
  --without-mysql \&lt;br /&gt;
  --with-nls \&lt;br /&gt;
  --with-python \&lt;br /&gt;
  --with-cairo \&lt;br /&gt;
  --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
  --without-fftw \&lt;br /&gt;
  --with-freetype --with-freetype-includes=/usr/include/freetype2 \&lt;br /&gt;
  --enable-largefile \&lt;br /&gt;
  --with-pthread&lt;br /&gt;
&lt;br /&gt;
3. Hack the Makefile of GRASS-SWIG since python-config isn't there (add one line without the '+'):&lt;br /&gt;
&lt;br /&gt;
  svn diff swig/&lt;br /&gt;
  Index: swig/python/Makefile&lt;br /&gt;
  ===================================================================&lt;br /&gt;
  --- swig/python/Makefile        (revision 38916)&lt;br /&gt;
  +++ swig/python/Makefile        (working copy)&lt;br /&gt;
  @@ -36,6 +36,7 @@&lt;br /&gt;
   EXTRA_SWIG = ../include/python/my_typemaps.i ../include/python/common.i&lt;br /&gt;
   SWIGFLAGS = $(INC) -I../include/python -outdir .&lt;br /&gt;
   EXTRA_CFLAGS = $(PYMOD_CFLAGS)&lt;br /&gt;
  +EXTRA_LIBS = -lpython2.4&lt;br /&gt;
   EXTRA_CLEAN_FILES := $(foreach M,$(MODULES),$(M)_wrap.o $(M)_wrap.c $(M).pyc $(M).py _$(M).so)&lt;br /&gt;
   CLEAN_SUBDIRS = NumPtr&lt;br /&gt;
&lt;br /&gt;
4. Add manually the path to the python include directory since python-config isn't there:&lt;br /&gt;
&lt;br /&gt;
   # edit include/Make/Platform.make&lt;br /&gt;
   # and add manually the line&lt;br /&gt;
 &lt;br /&gt;
   PYTHONINC           = -I/usr/include/python2.4&lt;br /&gt;
&lt;br /&gt;
5. Compile&lt;br /&gt;
    make&lt;br /&gt;
   or on multicore:&lt;br /&gt;
    make -j4&lt;br /&gt;
&lt;br /&gt;
6. Either install with &amp;quot;make install&amp;quot; or run directly from compile directory (substitute ARCH with i586 or x86_64):&lt;br /&gt;
&lt;br /&gt;
    bin.$ARCH/grass70 -wx&lt;br /&gt;
&lt;br /&gt;
===== Fedora =====&lt;br /&gt;
&lt;br /&gt;
This is an example how to compile GRASS on a 64bit Fedora system:&lt;br /&gt;
&lt;br /&gt;
  ./configure \&lt;br /&gt;
   --enable-64bit \&lt;br /&gt;
   --with-cxx \&lt;br /&gt;
   --with-libs=/usr/lib64 \&lt;br /&gt;
   --with-gdal=/usr/bin/gdal-config \&lt;br /&gt;
   --with-proj-share=/usr/share/proj \&lt;br /&gt;
   --without-odbc \&lt;br /&gt;
   --with-sqlite \&lt;br /&gt;
   --with-nls \&lt;br /&gt;
   --without-tcltk \&lt;br /&gt;
   --with-python=/usr/bin/python-config \&lt;br /&gt;
   --without-cairo \&lt;br /&gt;
   --without-opengl \&lt;br /&gt;
   --with-wxwidgets=/usr/bin/wx-config \&lt;br /&gt;
   --with-fftw \&lt;br /&gt;
   --with-blas \&lt;br /&gt;
   --with-lapack \&lt;br /&gt;
   --without-freetype \&lt;br /&gt;
   --enable-largefile \&lt;br /&gt;
   --with-x \&lt;br /&gt;
   --x-includes=/usr/include/X11/&lt;br /&gt;
&lt;br /&gt;
An effective (but not fast) way of getting dependencies is to decide what to enable in the configuration, and then run ./config and see which files are missing. The package providing it can be found via:&lt;br /&gt;
&lt;br /&gt;
 yum provides */&amp;lt;name of the file&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and then installed with your favourite package manager frontend.&lt;br /&gt;
&lt;br /&gt;
===== RPM SPEC files =====&lt;br /&gt;
* ... can be found in the source code, rpm/ directory, &lt;br /&gt;
* or [https://build.opensuse.org/package/show?package=grass&amp;amp;project=Application%3AGeo OpenSuSe]&lt;br /&gt;
* or [https://admin.fedoraproject.org/pkgdb/acls/name/grass Fedora]&lt;br /&gt;
* or [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/ Mandriva] (there are also [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/proj/ proj4], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/geos/ geos], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/gdal/ gdal], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/gdal-grass/ gdal-grass-plugin], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/qgis/ qgis] etc)&lt;br /&gt;
&lt;br /&gt;
===== Zaurus =====&lt;br /&gt;
&lt;br /&gt;
... see [http://wiki.debian.org/?GrassGISonZaurus here] for instructions&lt;br /&gt;
&lt;br /&gt;
==== Mac OSX ====&lt;br /&gt;
&lt;br /&gt;
* see the source/macosx readme&lt;br /&gt;
* also see [[Compiling on MacOSX]]&lt;br /&gt;
* some notes on [[Packaging on MacOSX]]&lt;br /&gt;
&lt;br /&gt;
==== Solaris ====&lt;br /&gt;
&lt;br /&gt;
* ''2008 Oct 15'': see [http://lists.osgeo.org/pipermail/grass-user/2008-October/047093.html this post on the grass mailing list]&lt;br /&gt;
&lt;br /&gt;
===== 10 SPARC/i86pc =====&lt;br /&gt;
&lt;br /&gt;
* get gcc compiler and tools. There are several sources: Solaris Companion CD (SFW pkg, installs in /opt/sfw/), Blastwave ([http://www.blastwave.org], CSW pkg, installs in /opt/csw/) or Sunfreeware ([http://www.sunfreeware.com], SMC pkg, installs in /usr/local/). &lt;br /&gt;
Needed Packages from Sunfreeware: SMCbinut, SMCbison, SMCcoreu, SMCfindu, SMCflex, SMCgawk, SMCgcc, SMCgrep, SMCgzip, SMCless, SMClibt, SMClicon, SMCmake, SMCncurs, SMCproj, SMCsed, SMCtar, SMCtcl, SMCtiff, SMCtk, SMCunzip, SMCzlib. &lt;br /&gt;
&lt;br /&gt;
* compile and install fftw-library ([http://www.fftw.org]). You need to re-compile the library with: &lt;br /&gt;
&lt;br /&gt;
      ./configure --with-pic --enable-shared; make ; make install. &lt;br /&gt;
&lt;br /&gt;
The pre-built packages don't work. &lt;br /&gt;
&lt;br /&gt;
* compile and install gdal library (see documentation of gdal, [http://www.gdal.org]).&lt;br /&gt;
&lt;br /&gt;
* compile and install any additional libraries (e. g. GEOS, [http://geos.refractions.net]). &lt;br /&gt;
&lt;br /&gt;
* set compiler flags and path. e. g.: &lt;br /&gt;
&lt;br /&gt;
      # on ultra-sparc machine:&lt;br /&gt;
      CFLAGS=&amp;quot;-O3 -mcpu=v9&amp;quot;&lt;br /&gt;
      CXXFLAGS=&amp;quot;-O3 -mcpu=v9&amp;quot;&lt;br /&gt;
      PATH=&amp;quot;/usr/local/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/bin:/usr/sbin&amp;quot;&lt;br /&gt;
      export CFLAGS CXXFLAGS PATH&lt;br /&gt;
&lt;br /&gt;
Path has to be changed for the packages (Sunfreeware: /usr/local/bin, Solaris Companion: /opt/sfw/bin, Blastwave: /opt/csw/bin). &lt;br /&gt;
&lt;br /&gt;
* Next configure, e. g.: &lt;br /&gt;
&lt;br /&gt;
      ./configure --with-postgres-includes=/usr/include/pgsql/ \&lt;br /&gt;
      --with-postgres-libs=/usr/lib --with-postgres=yes \&lt;br /&gt;
      --with-includes=/usr/local/include/ncurses&lt;br /&gt;
&lt;br /&gt;
If you use n(ew)curses, you have to include the path /usr/local/include/ncurses. &lt;br /&gt;
&lt;br /&gt;
then:&lt;br /&gt;
&lt;br /&gt;
      make&lt;br /&gt;
      su&lt;br /&gt;
      make install&lt;br /&gt;
&lt;br /&gt;
If the shared libraries are not found at runtime of the modules, use 'crle' to add the paths of the libraries for the dynamic linker, e. g. as root:&lt;br /&gt;
&lt;br /&gt;
      crle -l /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/usr/X11/lib&lt;br /&gt;
&lt;br /&gt;
Be careful not to omit a library path, the system may be unusable if you forget the /lib path.&lt;br /&gt;
&lt;br /&gt;
==== AIX ====&lt;br /&gt;
&lt;br /&gt;
* ''see [http://thread.gmane.org/gmane.comp.gis.grass.user/32667 this mailing list thread]''&lt;br /&gt;
&lt;br /&gt;
Mike wrote:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
After attempting all the suggestions, I finally used&lt;br /&gt;
--disable-shared on the configure command, and all but&lt;br /&gt;
a handful of modules successfully compiled. I was able to&lt;br /&gt;
individually address the ones that failed through Makefile&lt;br /&gt;
edits and several small source code/header file edits.&lt;br /&gt;
&lt;br /&gt;
The environment variables and configure command that worked were:&lt;br /&gt;
&lt;br /&gt;
export PATH=/usr/local/bin:/opt/freeware/bin:$PATH&lt;br /&gt;
export OBJECT_MODE=64&lt;br /&gt;
export LIBICONV=/opt/freeware&lt;br /&gt;
export CC=&amp;quot;xlc_r -q64&amp;quot;&lt;br /&gt;
export CFLAGS=&amp;quot;-O -qstrict&amp;quot;&lt;br /&gt;
export CXX=&amp;quot;xlC_r -q64&amp;quot;&lt;br /&gt;
export CXXFLAGS=&amp;quot;-O -qstrict&amp;quot;&lt;br /&gt;
export AR=&amp;quot;ar -X64&amp;quot;&lt;br /&gt;
export F77=&amp;quot;xlf_r -q64&amp;quot;&lt;br /&gt;
export CPPFLAGS=&amp;quot;-I/afs/isis/pkg/libpng/include -I/usr/local/include -I$LIBICONV/include -I/usr/lpp/X11/include/X11&amp;quot;&lt;br /&gt;
export LDFLAGS=&amp;quot;-L/usr/local/lib -L$LIBICONV/lib -L/usr/lib -L/usr/X11R6/lib -lc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
./configure --prefix=/afs/isis/pkg/grass-6.4.0 \&lt;br /&gt;
  --enable-64bit \&lt;br /&gt;
  --disable-shared \&lt;br /&gt;
  --with-includes=&amp;quot;/usr/include/fontconfig /usr/include/X11 /usr/include/X11/Xft /usr/include/X11/ext&amp;quot; \&lt;br /&gt;
  --x-includes=/usr/include/X11 \&lt;br /&gt;
  --x-libraries=/usr/X11R6/lib \&lt;br /&gt;
  --with-fftw-includes=/afs/isis/pkg/fftw-3.2.2/include \&lt;br /&gt;
  --with-fftw-libs=/afs/isis/pkg/fftw-3.2.2/lib \&lt;br /&gt;
  --with-gdal=/afs/isis/pkg/gdal/bin/gdal-config \&lt;br /&gt;
  --with-proj-includes=/afs/isis/pkg/proj/include \&lt;br /&gt;
  --with-proj-libs=/afs/isis/pkg/proj/lib \&lt;br /&gt;
  --with-proj-share=/afs/isis/pkg/proj/share/proj \&lt;br /&gt;
  --with-tcltk-includes=/usr/local/include \&lt;br /&gt;
  --with-tcltk-libs=/usr/local/lib \&lt;br /&gt;
  --with-opengl-includes=/usr/include/GL&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== MS-Windows ====&lt;br /&gt;
&lt;br /&gt;
===== MS-Windows/Cygwin =====&lt;br /&gt;
&lt;br /&gt;
... see [http://grass.itc.it/platforms/wingrass.html here] (should be moved to the Wiki)&lt;br /&gt;
&lt;br /&gt;
===== MS-Windows/native =====&lt;br /&gt;
&lt;br /&gt;
====== Compile ======&lt;br /&gt;
&lt;br /&gt;
* [http://www.webalice.it/marco.pasetti/grass/BuildFromSource.html GRASS Windows Native Binary Building Guide] (GRASS 6.3.x)&lt;br /&gt;
* [http://trac.osgeo.org/grass/wiki/CompileOnWindows GRASS Windows Native Binary Building Guide] (GRASS 6.4.x)&lt;br /&gt;
* See/adapt [http://blog.qgis.org/node/124 idea] for unattended install of QGIS (et al) from [http://trac.osgeo.org/osgeo4w/ OSGeo4W] from the QuantumGIS Blog.&lt;br /&gt;
&lt;br /&gt;
See also [[WinGRASS Current Status]] for latest updates.&lt;br /&gt;
&lt;br /&gt;
=== Common problems and solutions ===&lt;br /&gt;
&lt;br /&gt;
During compilation, error can occur if certain packages are not installed. Here a list of problems with solution:&lt;br /&gt;
&lt;br /&gt;
* error: X11/Xlib.h: No such file or directory&lt;br /&gt;
** this suggests that you don't have the X headers installed&lt;br /&gt;
** Solution: Install the libx11-dev package&lt;br /&gt;
&lt;br /&gt;
=== Optimization ===&lt;br /&gt;
&lt;br /&gt;
GCC and other compilers support [http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Optimize-Options.html#Optimize-Options optimization]&lt;br /&gt;
&lt;br /&gt;
If you would like to set compiler optimisations, for a possibly faster binary, type (don't enter a &amp;quot;;&amp;quot; anywhere):&lt;br /&gt;
&lt;br /&gt;
        CFLAGS=-O ./configure&lt;br /&gt;
or,&lt;br /&gt;
        setenv CFLAGS -O&lt;br /&gt;
        ./configure&lt;br /&gt;
&lt;br /&gt;
whichever works on your shell. Use -O2 instead of -O if your compiler supports this (note: O is the letter, not zero). Using the &amp;quot;gcc&amp;quot; compiler, you can also specify processor specific flags (examples, please suggest better settings to us):&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=athlon -O2&amp;quot; # AMD Athlon processor with code optimisations&lt;br /&gt;
  CFLAGS=&amp;quot;-march=amdfam10&amp;quot;  # AMD Phenom II X4 64bit processor with gcc &amp;gt;=4.3&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=pentium&amp;quot;    # Intel Pentium processor&lt;br /&gt;
  CFLAGS=&amp;quot;-mcpu=pentium4&amp;quot;   # Intel Pentium4 processor&lt;br /&gt;
  CFLAGS=&amp;quot;-O2 -msse -msse2 -mfpmath=sse -minline-all-stringops&amp;quot; # Intel XEON 64bit processor&lt;br /&gt;
  CFLAGS=&amp;quot;-mtune=nocona -m64 -minline-all-stringops&amp;quot;            # Intel Pentium 64bit processor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To find out optional CFLAGS for your platform, enter:&lt;br /&gt;
  gcc -dumpspecs&lt;br /&gt;
&lt;br /&gt;
See also: http://gcc.gnu.org/&lt;br /&gt;
&lt;br /&gt;
A real fast GRASS version (and small binaries) will be created with LDFLAGS set to &amp;quot;stripping&amp;quot; (but this disables debugging):&lt;br /&gt;
&lt;br /&gt;
  CFLAGS=&amp;quot;-O2 -mcpu=&amp;lt;cpu_see_above&amp;gt; -Wall&amp;quot; LDFLAGS=&amp;quot;-s&amp;quot; ./configure&lt;br /&gt;
&lt;br /&gt;
=== Configure options and their meanings ===&lt;br /&gt;
&lt;br /&gt;
For configure there are many options and some GRASS modules are built only if some options are set. Here are listed common configuration options with short explanation.&lt;br /&gt;
&lt;br /&gt;
* --prefix=/path - Sets path where GRASS will be installed. GRASS will reside in /path/grass-version.&lt;br /&gt;
* --enable-largefile - Enables large (&amp;gt;2Gb on 32bit systems) support. For current large file support status look at [[Large File Support]] page.&lt;br /&gt;
* --with-cxx - Enables compilation of C++ code. Required for r.terraflow module.&lt;br /&gt;
* --with-readline - Enables readline support. If readline is enabled, you can use its history/editing facilities when entering r.mapcalc expressions on stdin.&lt;br /&gt;
* --with-glw - Enables GLw support. The GLw library provides OpenGL &amp;quot;canvas&amp;quot; widgets for Athena and Motif. &lt;br /&gt;
 &lt;br /&gt;
 That switch is unnecessary for normal compilation. It's only&lt;br /&gt;
 required for r3.showdspf, which isn't normally built; if you &lt;br /&gt;
 want it, you have build it manually &lt;br /&gt;
 (e.g. &amp;quot;make -C raster3d/r3.showdspf&amp;quot;).&lt;br /&gt;
 As similar functionality is now provided by NVIZ, r3.showdspf&lt;br /&gt;
 is deprecated.&lt;br /&gt;
 r3.showdspf uses the Motif widget (so you also need a &lt;br /&gt;
 Motif library, e.g. Lesstif or OpenMotif).&lt;br /&gt;
 [http://grass.itc.it/pipermail/grassuser/2006-December/037475.html Glynn Clements at GRASS-user mailing list]&lt;br /&gt;
&lt;br /&gt;
=== Parallelized compilation on multi-core CPUs ===&lt;br /&gt;
&lt;br /&gt;
You can dramatically accelerate the compilation of the GRASS code with the -j flag of &amp;quot;make&amp;quot; if you have a multi-core CPU system. This determines the maximum number of jobs to have running at once, so cores don't have to sit idle waiting for jobs on other cores to complete. A good rule of thumb for this value is &amp;lt;tt&amp;gt;number_of_cores * 1.5&amp;lt;/tt&amp;gt;, but note that setting any higher than the actual number of cores will only affect the timing slightly. For example, on a dual-core processor:&lt;br /&gt;
  make -j 4&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CFLAGS=&amp;quot;-pipe&amp;quot; doesn't seem to help much --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Addons ==&lt;br /&gt;
&lt;br /&gt;
=== GRASS-GDAL plugin ===&lt;br /&gt;
&lt;br /&gt;
* see [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]]&lt;br /&gt;
&lt;br /&gt;
=== Compiled C modules ===&lt;br /&gt;
&lt;br /&gt;
'''Requirements:'''&lt;br /&gt;
&lt;br /&gt;
Either:&lt;br /&gt;
* a binary GRASS package, or&lt;br /&gt;
* source code which has been prepared with:&lt;br /&gt;
    ./configure [opionally flags]&lt;br /&gt;
    make libs&lt;br /&gt;
&lt;br /&gt;
Each of the [[GRASS_AddOns|addon]] modules should come with a Makefile. To compile it, just run:&lt;br /&gt;
    make MODULE_TOPDIR=/path/to/grass64/&lt;br /&gt;
&lt;br /&gt;
If using Bash it may be useful to set that up as an alias:&lt;br /&gt;
    alias gmake64='make MODULE_TOPDIR=/path/to/grass64/'&lt;br /&gt;
&lt;br /&gt;
Installation (perhaps requires &amp;quot;sudo&amp;quot;):&lt;br /&gt;
    make MODULE_TOPDIR=/path/to/grass64/ install&lt;br /&gt;
&lt;br /&gt;
Note: Compiled addons may require a re-compilation if you changed/updated your GRASS standard binaries.&lt;br /&gt;
&lt;br /&gt;
==== If binary comes with a -dev package ====&lt;br /&gt;
&lt;br /&gt;
''(work in progress, this text states how it eventually will be :)''&lt;br /&gt;
Nowadays one does not need to the source code, nor compiling GRASS by oneself to be able to add add-ons. On Debian, you can just install the grass-dev package and then run:&lt;br /&gt;
 make MODULE_TOPDIR=/usr/lib/grass64/ INST_DIR=/usr/lib/grass64/&lt;br /&gt;
&lt;br /&gt;
The grass-dev package essentially provides GRASS's &amp;lt;tt&amp;gt;include&amp;lt;/tt&amp;gt; header files and Make configuration files.&lt;br /&gt;
&lt;br /&gt;
=== Scripts ===&lt;br /&gt;
&lt;br /&gt;
If the addon module is a script, it is sufficient to copy it into the (GRASS binaries) path somewhere. Alternatively, install addons into a separate GRASS addons binaries/scripts directory which is easier to maintain. It avoids getting clobbered every time you reinstall GRASS. To use these separately stored scripts, set and export the GRASS_ADDON_PATH environment variable before starting GRASS and it will automatically be added to the module search path (see the {{cmd|variables}} help page). To simplify this, do for example:&lt;br /&gt;
&lt;br /&gt;
 # add in $HOME/.bashrc:&lt;br /&gt;
 GRASS_ADDON_PATH=/usr/local/grass/addons/&lt;br /&gt;
 export GRASS_ADDON_PATH&lt;br /&gt;
&lt;br /&gt;
Make sure that the script is executable, then just call it in GRASS typing the filename. Python scripts need to be called writing the extension as well, like:&lt;br /&gt;
 &lt;br /&gt;
 GRASS 6.5.svn (spearfish60):~ &amp;gt; v.krige.py&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=10003</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=10003"/>
		<updated>2009-12-28T14:09:15Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: removed x/y column hack and added maptools dependency&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and [[wxGUI]] addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by [[User:Landa|Martin Landa]] and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''V.krige is now into GRASS trunk and devbr_6 code! (r40048 or higher)'''&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
For GRASS 6.5 &amp;lt;r40048, it is easy to install it via [http://grass.osgeo.org/grass65/manuals/html65_user/g.extension.html g.extension] (for GRASS 6.4 it is an AddOn, from 6.5+/7 onwards included). Simply type in a GRASS shell:&lt;br /&gt;
&lt;br /&gt;
 g.extension v.krige&lt;br /&gt;
&lt;br /&gt;
To install v.krige.py from source, please refer to [[Compile_and_Install#Scripts]]. Source is available on SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6, gstat and maptools&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;maptools&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6 maptools&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. Testing is planned, as latest  WinGRASS includes the most recent python library.&lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** wxGUI: Split widget creation and layout - makes more readable code&lt;br /&gt;
** Solve '''double parsing issue from RunCmd.''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions''' - universal kriging first.&lt;br /&gt;
** Add '''region resolution parameter in interface''', showing the current value and allowing the user to modify it before kriging. High resolution slows down computation and give better results, but the user should have a clear feedback (I have been surprised by long runs more than once, because I was not aware of resolution).&lt;br /&gt;
** wxGUI: GetVector() should check for name validity, if a string is inserted?&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
** The RBookPage::refresh() function has an endless cycle that keeps R graphics window responsive, even when that window has been closed by the user.&lt;br /&gt;
** spgrass6::readVECT6() and mapset name - see [http://lists.osgeo.org/pipermail/grass-stats/2009-August/001126.html this thread].&lt;br /&gt;
&lt;br /&gt;
* '''FUTURE PLANS'''&lt;br /&gt;
** Keep on working on v.krige and solve above problems&lt;br /&gt;
** Backward compatibility of CLI at least&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Notes on v.krige usage, examples and tips are available in the module's help page, available via Help button if the GUI.&lt;br /&gt;
&lt;br /&gt;
Kriging theory is available in Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft and definitive:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
'''Report #1, 29 May'''&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
'''Report #2, 5 June'''&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
'''Report #2.5, 11 June'''&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
'''Report #3, 12 June'''&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email (Report 2.5, see above) and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
'''Report #4, 19 June'''&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
'''Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event])'''&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
'''Report #6, 3 July'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #7, midterm, 10 July'''&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #8, 17 July'''&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
'''Report #9, 24 July'''&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
'''Report #10, 31 July'''&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #11, 7 August'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on error handling by GUI, adding controls on input data and parameters and hiding Run and Plot buttons unless all options are suitable.&lt;br /&gt;
Variogram plotting is on its way - I discarded matplotlib to avoid further dependencies, in favour of wx.lib.plot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #12, 14 August'''&lt;br /&gt;
&lt;br /&gt;
this is last SoC report - bringing variogram plotting into v.krige! After a long time searching for the lightest and cleanest implementation, R plotting raised as the best solution. On user demand, a R graphics window plots variogram and refreshes it, without interfering with wxGUI. &lt;br /&gt;
Documentation includes a full example using Spearfish dataset and all informations about dependencies.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have helped me writing v.krige: GRASS and R developers, OSGeo SoC crew, wise friends, all testers.&lt;br /&gt;
I hope this module will attract people towards GRASS and R, and provide a valid alternative to closed-source kriging tools.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
[[Category:R]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=AddOns&amp;diff=9977</id>
		<title>AddOns</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=AddOns&amp;diff=9977"/>
		<updated>2009-12-18T16:42:00Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* v.krige */ moved into trunk&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains references to user contributions and add-ons (the original GRASS GIS software can be downloaded [http://grass.osgeo.org/download/index.php here]).&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== AddOns source code repository ==&lt;br /&gt;
&lt;br /&gt;
The AddOns source code is hosted in [http://svn.osgeo.org/grass/grass-addons/ GRASS-AddOns SVN repository].&lt;br /&gt;
&lt;br /&gt;
To checkout:&lt;br /&gt;
&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;https://svn.osgeo.org/grass/grass-addons/&amp;lt;/nowiki&amp;gt; grass-addons&lt;br /&gt;
&lt;br /&gt;
Please read [http://trac.osgeo.org/grass/wiki/HowToContribute#WriteaccesstotheGRASS-Addons-SVNrepository How to get write access to the GRASS-Addons-SVN repository] and contact the [http://lists.osgeo.org/mailman/listinfo/grass-dev grass-dev] mailing list if you would like to host your module there.&lt;br /&gt;
&lt;br /&gt;
== Building and installing Addons ==&lt;br /&gt;
&lt;br /&gt;
* see the [[Compile and Install#Addons]] wiki page&lt;br /&gt;
&lt;br /&gt;
== Adding something new ==&lt;br /&gt;
&lt;br /&gt;
Please announce your add-on to the GRASS users' mailing list so that others may be aware of your work. Also please consider adding your module to one of the [[Applications]] pages.&lt;br /&gt;
&lt;br /&gt;
=== Copyright and licensing information ===&lt;br /&gt;
&lt;br /&gt;
''Please be sure to include copyright and licensing information in the header comments of your code so that others may know how they can use, extend, modify, and redistribute your work.''&lt;br /&gt;
&lt;br /&gt;
e.g. at the top of a shell script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
############################################################################&lt;br /&gt;
#&lt;br /&gt;
# MODULE:       v.in.e00&lt;br /&gt;
#&lt;br /&gt;
# AUTHOR(S):    Markus Neteler, Otto Dassau&lt;br /&gt;
#&lt;br /&gt;
# PURPOSE:      Import E00 data into a GRASS vector map&lt;br /&gt;
#               Imports single and split E00 files (.e00, .e01, .e02 ...)&lt;br /&gt;
#&lt;br /&gt;
# COPYRIGHT:    (c) 2004, 2005 GDF Hannover bR, http://www.gdf-hannover.de&lt;br /&gt;
#&lt;br /&gt;
#               This program is free software under the GNU General Public&lt;br /&gt;
#               License (&amp;gt;=v2). Read the file COPYING that comes with GRASS&lt;br /&gt;
#               for details.&lt;br /&gt;
#&lt;br /&gt;
#############################################################################&lt;br /&gt;
#&lt;br /&gt;
# REQUIREMENTS:&lt;br /&gt;
#      -  avcimport: http://avce00.maptools.org&lt;br /&gt;
&lt;br /&gt;
[script follows]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Coding standards ===&lt;br /&gt;
&lt;br /&gt;
Please have a look at our [http://grass.osgeo.org/grass63/source/SUBMITTING_SCRIPTS Shell script coding standards] before submitting here.&lt;br /&gt;
&lt;br /&gt;
There are other coding standards given for modules written in C, Tcl/Tk, and Python''(?)'' located in the GRASS source code.&lt;br /&gt;
&lt;br /&gt;
=== Documenting your code ===&lt;br /&gt;
&lt;br /&gt;
You can have an help page template auto-generated by using the GRASS [[module command line parser | command line parser]] with the &amp;lt;tt&amp;gt;--html-description&amp;lt;/tt&amp;gt; command line option. Please, see also the [http://grass.ibiblio.org/grass63/manuals/html63_user/g.parser.html g.parser help page]&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Add-ons ==&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/misc/utm_which_zone utm_which_zone.sh] is a shell script to determine UTM zone from Lat/Lon input. Requires [http://www.octave.org Octave] or Matlab to be installed. A shell-only version is [http://dcalvelo.free.fr/grass/utm_which_zone_sh.sh available] which only requires awk.&amp;lt;BR&amp;gt;'''Authors''': Hamish Bowman (Octave part), Markus Neteler (shell script wrapper), Daniel Calvelo (sh+awk version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Perl scripts for converting data forth and back between Excel files and PostgreSQL: [http://dcalvelo.free.fr/grass/pg2xls.pl pg2xls.pl] reads data from PostgreSQL and produces an excel workbook; [http://dcalvelo.free.fr/grass/xls2sql.pl xls2sql.pl] reads excel files and outputs SQL statements to be fed into an RDBMS. Both scripts need modules from [http://www.cpan.org CPAN], especially [http://search.cpan.org/dist/Spreadsheet-ParseExcel/  Spreadsheet::ParseExcel] for xls2sql.pl and [http://search.cpan.org/~tmtm/Spreadsheet-WriteExcel-FromDB Spreadsheet::WriteExcel::FromDB] and its dependencies for pg2sql.pl. Check the source headers for more info.&amp;lt;BR&amp;gt;'''Authors:''' Daniel Calvelo (xls2sql.pl), Markus Neteler (pg2xls.pl)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://dream.lrrl.arch.tu-muenchen.de/~wqual/perl/dbf2sql.tgz dbf2sql] is a Perl script for translating dbf-tables into a sql-command. dbf-tables are read using dbfdump-command from dbd-xbase-perl module ([http://search.cpan.org/~janpaz/DBD-XBase-0.241/ dbd::xbase] and [http://search.cpan.org/~jv/Getopt-Long-2.35/lib/Getopt/Long.pm getopt::long] have to be installed from CPAN first). There are problems, if the last column of the table contains characters. Suggestions for improvements welcome! &amp;lt;BR&amp;gt;'''Author:'''Wolfgang Qual&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.igc.usp.br/pessoais/guano/downloads/azimuth2.c azimuth2.c] is a small C program to calculate the azimuth and length of vector lines exported by GRASS-GIS as ASCII files (like this: v.out.ascii input=vector output=ascii format=standard). It is useful for create rose diagrams of lineament maps. Improvements on the original code after suggestions by Örs Téglásy, Hungary.&amp;lt;BR&amp;gt;'''Author:''' Carlos Henrique Grohmann&lt;br /&gt;
&lt;br /&gt;
==GRASS 4.x==&lt;br /&gt;
&lt;br /&gt;
===Raster add-ons for GRASS 4===&lt;br /&gt;
&lt;br /&gt;
* MAGICAL Software: The MAGICAL software comprises a suite of three programs that provide a multi-agent simulation extension for the GRASS GIS software. http://www.ucl.ac.uk/~tcrnmar/simulation/magical/magical.html&lt;br /&gt;
&lt;br /&gt;
==GRASS 5.x==&lt;br /&gt;
&lt;br /&gt;
===Vector add-ons for GRASS 5===&lt;br /&gt;
&lt;br /&gt;
* See here: http://grass.osgeo.org/download/addons.php&lt;br /&gt;
&lt;br /&gt;
===Raster add-ons for GRASS 5===&lt;br /&gt;
&lt;br /&gt;
* See here: http://grass.osgeo.org/download/addons.php&lt;br /&gt;
&lt;br /&gt;
* [http://www.valledemexico.ambitiouslemon.com/gwmodelling.html r.gmtg] The groundwater modelling tool for grass. A module to use MODFLOW within GRASS. &amp;lt;BR&amp;gt;'''Author''': Jaime Carrera&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.bowdoin.edu/~ltoma/research.html r.terracost] Scalable approach for computing least-cost-path surfaces on massive grid terrains. For GRASS 5.3.&amp;lt;BR&amp;gt;'''Lead author''': Laura Toma&lt;br /&gt;
:Newer version available via SVN:&lt;br /&gt;
  svn co https://svn.osgeo.org/grass/grass-addons/raster/r.terracost&lt;br /&gt;
&lt;br /&gt;
==GRASS 6.x==&lt;br /&gt;
&lt;br /&gt;
=== Vector add-ons ===&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector&lt;br /&gt;
&lt;br /&gt;
==== v.adehabitat.clusthr, v.adehabitat.kernelUD, v.adehabitat.mcp ====&lt;br /&gt;
&lt;br /&gt;
: Tools to calculate home ranges of animals&lt;br /&gt;
: '''Author:''' Clement Calenge&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/adehabitat&lt;br /&gt;
&lt;br /&gt;
==== v.append ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.public.asu.edu/~cmbarton/files/grass_scripts/v.append v.append] is a shell script combining two vector files AND their associated attribute tables. The vector files should be of the same type and, for best results, should have identically formatted attribute tables.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== v.autokrige ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.autokrige/v.autokrige.py v.autokrige] achieves automatic ordinary kriging from GRASS sites (vector point data), using R with spgrass6 (RGRASS) and automap packages.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== v.breach ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.sieczka.org/programy_en.html v.breach] creates vector maps of lines and points of continously lowering elevation down the input watercourses, based on the input raster DEM.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Maciej Sieczka&lt;br /&gt;
&lt;br /&gt;
==== v.colors ====&lt;br /&gt;
&lt;br /&gt;
: {{cmd|v.colors}} ''moved into main archive''&lt;br /&gt;
&lt;br /&gt;
==== v.count.points.sh ====&lt;br /&gt;
&lt;br /&gt;
: [http://wiki.iosa.it/dokuwiki/spatial_analysis:feature_count v.count.points.sh] counts point features in areas, generates table good as input to d.vect.chart.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Stefano Costa&lt;br /&gt;
&lt;br /&gt;
==== v.digatt ====&lt;br /&gt;
&lt;br /&gt;
: [http://phygeo7.geo.uni-augsburg.de/gis2/scripts/v.digatt v.digatt] (shell script) Interactively assign numeric table attributes to series of vector objects. It is meant to be effective by avoiding to type in the attribute value for all single objects again and again. The user is prompted for typing in an attribute value which is assigned to all objects selected by mouseclick afterwards. Next the display is redrawn after updating the table column. Zooming allows to change the region before the old value can be reused or a new one can be typed in (or copied by mouse from another object) in order to assign it to the next series of objects etc. It is tested not very extensively yet. Therefore better work with a copy of your map and consider using v.digit or d.what.vect -e alternatively. [http://phygeo7.geo.uni-augsburg.de/gis2/scripts/v.digatt.png screenshot].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Andreas Philipp&lt;br /&gt;
&lt;br /&gt;
==== v.dip ====&lt;br /&gt;
&lt;br /&gt;
: [http://marcin.slodkowski.googlepages.com/v.dip.tgz v.dip] creates points of thickness vectors from the vectors of strike and dip angles. The v.dip is the main ANSI C core program. Program so-called v.dip can run without GRASS environment.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Marcin Slodkowski&lt;br /&gt;
&lt;br /&gt;
==== v.flip ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.sieczka.org/programy_en.html v.flip] flips the direction of selected vector lines (redundant since GRASS 6.3 - there is &amp;quot;v.edit tool=flip&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Maciej Sieczka&lt;br /&gt;
&lt;br /&gt;
==== v.group ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.shockfamily.net/cedric/grass/v.group v.group] generates a new vector map with the same geometry as an existing map. The new map has categories and a table based on grouping by the values in certain columns of the existing map's table. The values in these columns are preserved in the table for the new map. It's like a v.reclass that preserves data.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Cedric Shock&lt;br /&gt;
&lt;br /&gt;
==== v.in.gama ====&lt;br /&gt;
&lt;br /&gt;
: Converts [http://www.gnu.org/software/gama/ GNU GaMa] XML output file to a GRASS vector map layer.&lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Martin Landa&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.in.gama&lt;br /&gt;
&lt;br /&gt;
==== v.in.geoplot ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.in.geoplot v.in.geoplot] converts a [http://www.geoscan-research.co.uk/page9.html/ Geoplot] ASCII export file to a GRASS vector map layer.&lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Benjamin Ducke&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.in.geoplot&lt;br /&gt;
&lt;br /&gt;
==== v.in.gshhs ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.in.gshhs v.in.gshhs] imports [http://www.soest.hawaii.edu/wessel/gshhs/gshhs.html GSHHS] shorelines into a GRASS vector map. GSHHS data are automatically reprojected to the current location.&lt;br /&gt;
&lt;br /&gt;
:'''Authors:''' several, updated to GRASS 6 by Markus Metz&lt;br /&gt;
&lt;br /&gt;
==== v.in.ncdc ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.in.ncdc v.in.ncdc] imports an [http://www.ncdc.noaa.gov NCDC] stn file (station data) into a GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho&lt;br /&gt;
&lt;br /&gt;
==== v.in.postgis ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.in.postgis/v.in.postgis.py v.in.postgis] Create a GRASS layer from any sql query on PostGIS data.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== v.in.osm ====&lt;br /&gt;
&lt;br /&gt;
: [http://kripton.kripserver.net/software/v.in.osm/ v.in.osm]: OpenStreetMap import into GRASS. Yet only supports deprecated API 0.4, will be modified to work with API 0.5 some time soon.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jannis Achstetter&lt;br /&gt;
&lt;br /&gt;
: See also [http://hamish.bowman.googlepages.com/gpsdrivefiles#osm osm2grass.sh] by H Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.in.ovl ====&lt;br /&gt;
&lt;br /&gt;
: [http://grasslab.gisix.com/scripts/v.in.ovl/ v.in.ovl] is a shell script that imports an ASCII vector file created with TOP10|25|50 or similar products.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Peter Löwe&lt;br /&gt;
&lt;br /&gt;
==== v.krige ====&lt;br /&gt;
&lt;br /&gt;
: [[V.krige_GSoC_2009 | v.krige]] aims to integrate R functions for kriging (packages automap, gstat, geoR) in a trasparent way. '''Moved into trunk/devbr6 code (r40048)'''&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Anne Ghisla, as Google Summer of Code 2009 project&lt;br /&gt;
&lt;br /&gt;
: See also [[GRASS_AddOns#v.autokrige]] by Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== v.lda ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.public.asu.edu/~cmbarton/files/grass_scripts/v.lda v.lda] is a shell script for calculating Ian Johnson's (U. Sidney) Local Density Analysis values to measure clustering of point data at different neighborhood radii. There is an option to create a simple line graph of the results. There have been reports of problems creating the line graph on Cygwin installations of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.line.center ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.sieczka.org/programy_en.html v.line.center] creates a points vector map with each point located in the middle of the length of the input vector line.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Maciej Sieczka&lt;br /&gt;
&lt;br /&gt;
==== v.lmeasure ====&lt;br /&gt;
&lt;br /&gt;
: [http://ngeo.de/grassstuff/v.lmeasure v.lmeasure] and [http://ngeo.de/grassstuff/v.revlmeasure v.revlmeasure] are two perl scripts that place equidistant vector points along a given arbitrary vector line starting from the beginning or end of the vector line, respectively. Resulting  vector points are labeled with the distance from origin.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Mats Schuh&lt;br /&gt;
&lt;br /&gt;
==== v.out.ascii.db ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.out.ascii.db v.out.ascii.db] is a shell script for exporting vector point data coordinates and selected attribute columns to either a file or to the console.&lt;br /&gt;
: ''Superseded in GRASS 6.4 by the new v.out.ascii columns= option.''&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.out.ascii.mat ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.out.ascii.mat v.out.ascii.mat] is a shell script for exporting vector polygon and polyline data into an ASCII text file suitable for loading into Matlab (or [http://www.gnu.org/software/octave/ Octave]).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.out.gmt ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.out.gmt v.out.gmt] is a shell script that exports a polygon vector file into GMT xy file. psbasemap code was copied from Hamish's r.out.gmt.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho, Hamish Bowman, Dylan Beaudette&lt;br /&gt;
&lt;br /&gt;
==== v.out.kml ====&lt;br /&gt;
&lt;br /&gt;
: [http://grasslab.gisix.com/scripts/v.out.kml/ v.out.kml] is a shell script that exports a vector file into a KML file for Google Earth or Worldwind. see also [[#r.out.kml|r.out.kml]] and [[#r.out.gmap|r.out.gmap]]&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Peter Löwe&lt;br /&gt;
&lt;br /&gt;
==== v.out.svg ====&lt;br /&gt;
&lt;br /&gt;
: [http://svg.cc/grass/index.html v.out.svg] is a module that exports SVG notation along with optional attribute data directly from GRASS 6.x vector layers. Now part of [http://svn.osgeo.org/grass/grass/trunk/vector/v.out.svg/ grass6-svn].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Klaus Förster&lt;br /&gt;
&lt;br /&gt;
==== v.random.cover ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.random.cover v.random.cover] is a shell script for creating random points constrained within an irregularly shaped vector area. (v.random places points only in current region rectangle). Optionally the user can upload raster values at the points. See also '&amp;lt;tt&amp;gt;r.random cover= vector_output=&amp;lt;/tt&amp;gt;'&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.rasterbounds ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/programs v.rasterbounds] is a shell script for creating polygon-vector file of rasterfile boundaries. The best version of GRASS is 6.1+. If you are using GRASS &amp;lt; 6.1, you  have to be in the same mapset as your raster maps are from.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== v.sample.buffer [broken link, please update or delete]====&lt;br /&gt;
&lt;br /&gt;
: [http://www.clubwebcanada.ca/twiens/v.sample.buffer.tgz v.sample.buffer] is a shell script that samples rasters in buffers of a specified size around features in a specified vector file. Sampling results are added as attributes to the vector file. This script was designed for sampling vegetation indices and DEM derived attributes for bird point counts. Sampling results can be one or more basic statistics such as mean, range, max, etc.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Trevor Wiens&lt;br /&gt;
&lt;br /&gt;
==== v.select.region ====&lt;br /&gt;
&lt;br /&gt;
: [ftp://gsca.nrcan.gc.ca/outgoing/Patton/Grass/Scripts/v.select.region.tar.bz2 v.select.region] is a shell script that prints out the names of all vectors matching an input search pattern that has geometry (points, line, areas) that fall within a region bounded by an existing vector map, or within the current Grass region.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Eric Patton&lt;br /&gt;
&lt;br /&gt;
==== v.selmany ====&lt;br /&gt;
&lt;br /&gt;
: [http://svn.osgeo.org/grass/grass-addons/vector/v.selmany/v.selmany v.selmany] is a shell script that allows to interactively select a set of vector objects on a given layer, then assign them attribute values in a connected database table. The script runs on the command line prompt and within a graphic monitor ; it does not work with DBF driver.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Vincent Bain&lt;br /&gt;
&lt;br /&gt;
==== v.surf.icw ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.surf.icw v.surf.icw] is an IDW interpolation method using true distance cost instead of euclidean shortest distance, i.e. ''as the fish swims around an island'' not ''as the bird flies''. This will cleanly travel around hard barriers and a cost surface map may be used to model expensive-cross barriers. Input data points do not need direct line of sight to be considered, but should be kept to less than one hundred as the module becomes very computationally expensive. A number of radial basis function options are available. ([http://grass.osgeo.org/wiki/Image:Inlets_03_SurfSal_icw_big.png screenshot])&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.surf.idwpow ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.geospatial.it/allegri/grass/v.surf.idwpow.zip v.surf.idwpow] integrates the common v.surf.idw algorithm with the exponential parameter for the distance weights&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Giovanni Allegri&lt;br /&gt;
&lt;br /&gt;
==== v.surf.krige [deprecated: use v.autokrige instead] ====&lt;br /&gt;
&lt;br /&gt;
: v.surf.krige is a script that do a surface interpolation from vector point data by Kriging method. The interpolated value of a cell is determined by using an omnidirectional variogram model fitted starting from model parameter given by user shown from the experimental semi variogram produced by v.variogram. The script can perform also the Leave-One-out cross validation to test the variogram model &amp;quot;fitted by eye&amp;quot; and an automatic fitted variogram model. The cross validation helps the user to choose the best variogram model to interpolate own data.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Pierluigi De Rosa.&lt;br /&gt;
&lt;br /&gt;
==== v.strahler ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.pois.org/florian/downloads/grass/v.strahler.tgz v.strahler] is a module that calculates the Strahler Order for all lines of a given dendritic network.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Florian Kindl. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.strahler&lt;br /&gt;
&lt;br /&gt;
==== v.swathwidth ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.swathwidth v.swathwidth] creates a vector map representing the sea bottom coverage of a multibeam (swath) sonar survey.&lt;br /&gt;
: ([http://david.p.finlayson.googlepages.com/swathwidth Screenshots])&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' David Finlayson, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.thickness ====&lt;br /&gt;
&lt;br /&gt;
: [http://marcin.slodkowski.googlepages.com/v.thickness.tgz v.thickness] creates points of thickness vectors from the vectors of strike and dip angles.The v.thickness is GUI GRASS script for v.dip.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Marcin Slodkowski&lt;br /&gt;
&lt;br /&gt;
==== v.trees3d ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/programs/ v.trees3d] is a module for making 3D trees from input vector point file.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== v.trimesh ====&lt;br /&gt;
: [http://www.valledemexico.ambitiouslemon.com/vtrimesh.html v.trimesh] creates a triangular mesh from a vector map using areal constraints for refinement. It uses Jonathan Shewchuk's Triangle library.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jaime Carrera&lt;br /&gt;
&lt;br /&gt;
==== v.what.rast.buffer ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.what.rast.buffer v.what.rast.buffer] is a script that calculates univariate statistics of raster map(s) from buffers around vector points. Results are written to a file. Resolution is taken from each input map.&lt;br /&gt;
: ''see also the [http://starspan.casil.ucdavis.edu StarSpan] software&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.variogram [deprecated: use v.autokrige instead] ====&lt;br /&gt;
&lt;br /&gt;
: v.variogram is a script that create an omnidirectional experimental semi-variogram. This scripts require R-statistics software installed on your machine. Now the script is updated to run on spgrass6 &amp;gt;= 0.3 and sp &amp;gt;= 0.9 [http://grass.osgeo.org/pipermail/statsgrass/2006-October/000455.html reply].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Ivan Marchesini, Pierluigi De Rosa.&lt;br /&gt;
&lt;br /&gt;
==== AniMove ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.faunalia.it/animov/ AniMove] is software for analysis of animal movement and ranging behaviour using QGIS+GRASS+R.&lt;br /&gt;
&lt;br /&gt;
:'''Authors:''' Support by Faunalia.it&lt;br /&gt;
&lt;br /&gt;
==== Utilities ====&lt;br /&gt;
&lt;br /&gt;
===== Shapemerge =====&lt;br /&gt;
&lt;br /&gt;
: [http://perrygeo.googlecode.com/svn/trunk/gis-bin/shpmerge.sh shpmerge] merges all the shapefiles in the current directory into a single output shapefile&lt;br /&gt;
&lt;br /&gt;
:'''Authors:''' Perrygeo&lt;br /&gt;
&lt;br /&gt;
=== Raster add-ons ===&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
 svn co &amp;lt;nowiki&amp;gt;https://svn.osgeo.org/grass/grass-addons/raster&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== r.bilateral ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/grass/r.bilateral.tgz r.bilateral] Bilateral filter is an edge-preserving filter, which combines domain and range filtering. It is written in C language.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.boxcount ====&lt;br /&gt;
&lt;br /&gt;
: r.boxcount and r.boxcount.sh calculate the fractal dimension for a given map. These are versions for grass6 of [http://www.ucl.ac.uk/~tcrnmar/ Mark Lake's modules] for grass43.&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Mark Lake, grass6 port: Florian Kindl.&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.boxcount/&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.boxcount.sh/&lt;br /&gt;
&lt;br /&gt;
==== r.burn.frict ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.burn.frict r.burn.frict] converts vector geometries to raster cells, using a simple anti-aliasing method to close &amp;quot;gaps&amp;quot; between diagonal cells. Useful for &amp;quot;burning&amp;quot; vector geometries into a friction surface, making sure that simulated movement does not &amp;quot;slip&amp;quot; through converted cells that have only diagonal neighbours.&lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Benjamin Ducke&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.burn.frict&lt;br /&gt;
&lt;br /&gt;
==== r.colors.quantiles ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.colors.quantiles/r.colors.quantiles r.colors.quantiles] is a shell script used to create raster colors rules based on nquantiles. It uses R and spgrass6 package (RGRASS).&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== r.colors.stddev ====&lt;br /&gt;
&lt;br /&gt;
: [http://hamish.bowman.googlepages.com/grass_color_maps r.colors.stddev] ''moved into main archive''&lt;br /&gt;
&lt;br /&gt;
==== r.cpt2grass ====&lt;br /&gt;
&lt;br /&gt;
: [http://hamish.bowman.googlepages.com/grass_color_maps r.cpt2grass] is a GRASS script for importing a [http://www.soest.hawaii.edu/gmt/ GMT] .cpt color table into GRASS. It can save to a text file suitable for r.colors or automatically apply the color table to a raster map.&amp;lt;BR&amp;gt;For a large collection of GMT .cpt files see http://sview01.wiredworkplace.net/pub/cpt-city/&lt;br /&gt;
: Other palette ideas from [http://geography.uoregon.edu/datagraphics/color_scales.htm Univ. Oregon] and [http://oceancolor.gsfc.nasa.gov/PRODUCTS/colorbars.html NASA/Goddard's OceanColor] (latter partially translated for use with GRASS on the [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.colors.tools/palettes grass-addons SVN]).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.csr ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.chrisgarstin.com/stuff/r.csr r.csr] integrates several Grass programs to produce colored, shaded-relief rasters in one step. Accepts single or multiple elevation/bathymetry maps as input; optionally will fill data holidays with 3x3 median filter, multiple times, if required; can apply color maps from a) input raster, b) another raster in MAPSET, or c) from a rules file; otherwise, rainbow colorbar is applied. Output colored, shaded-relief rasters can optionally be exported to tiff format if the appropriate flag is given. Shading parameters can be modified, though useful defaults are given.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Eric Patton&lt;br /&gt;
&lt;br /&gt;
==== r.cva ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.ucl.ac.uk/~tcrnmar/GIS/r.cva.html r.cva] is a cumulative viewshed analysis module. It is an advanced version of the {{cmd|r.los}} program.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' [http://www.ucl.ac.uk/~tcrnmar/ Mark Lake]&lt;br /&gt;
&lt;br /&gt;
==== r.denoise ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.denoise r.denoise] denoises (smooths/despeckles) topographic data, particular DEMs derived from radar data (including SRTM), using Xianfang Sun's [http://www.cs.cf.ac.uk/meshfiltering/index_files/Page342.htm denoising algorithm].  It is designed to preserve sharp edges and to denoise with minimal changes to the original data.  See the [http://personalpages.manchester.ac.uk/staff/john.stevenson/mdenoise/r.denoise.html manual pages] for details.  Further information on Sun's denoising algorithm, including an example, is available [http://personalpages.manchester.ac.uk/staff/john.stevenson/mdenoise here].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' John Stevenson&lt;br /&gt;
&lt;br /&gt;
==== r.dominant_dir.m and r.calc_terraflow_dir.m ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.terraflow.tools dominant_dir.m and calc_terraflow_dir.m] are two Matlab scripts for determining the dominant flow direction from a r.terraflow MFD map and converting into a GRASS aspect map for use with d.rast.arrow, etc.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.eucdist ====&lt;br /&gt;
&lt;br /&gt;
: [http://david.p.finlayson.googlepages.com/r.eucdist r.eucdist] creates a raster map estimating the euclidean distance from known cells.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' David Finlayson&lt;br /&gt;
&lt;br /&gt;
==== r.fragment ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.chrisgarstin.com/stuff/r.fragment r.fragment] fragments a raster into a user-defined set of smaller tiles according to an input number of rows and columns. &lt;br /&gt;
: '''Author:''' Eric Patton&lt;br /&gt;
&lt;br /&gt;
==== r.game_of_life ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.game_of_life r.game_of_life] is a shell script which runs Conway's classic Game of Life using GRASS raster modules. It is meant to demonstrate how easy it is to program cellular automata in GRASS as well as various 3D raster volume and time series visualization techniques.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.gauss ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.les-ejk.cz/files/programs/grass/r.gauss.tgz r.gauss] is Gaussian and Laplacian of Gaussian filter for GRASS. It is written in C language.&lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.gradgrid4 ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.uibk.ac.at/geographie/personal/mergili/gradgrid4.zip gradgrid4] is a tool for interpolating values of discrete data points to a raster map, applying a local regression approach with a predictor raster. The model is based on shell and python scripts as well as an R batchfile. It was tested on Fedora Core 6 with GRASS 6.2.1 and R 2.5.1, but should work under most UNIX systems. After unzipping the gradgrid4 folder, store it at any place in your local file system. In the subfolder docs you can find a manual and a publication draft with a detailed description of the concept and the example of an application. The subfolder testloc constitutes a GRASS location with test data.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Martin Mergili&lt;br /&gt;
&lt;br /&gt;
==== r.in.onearth ====&lt;br /&gt;
&lt;br /&gt;
: [http://www-pool.math.tu-berlin.de/~soeren/grass/modules/ r.in.onearth] for download and import satellite images direct from the NASA onearth WMS server into GRASS.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Soeren Gebbert&lt;br /&gt;
&lt;br /&gt;
==== r.in.wms (.py) ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/grass/r.in.wms.tgz r.in.wms] for download and import maps direct from  WMS servers into GRASS. This script is written in Python Programming language. Note GRASS 6.2+ provides a shell script version of r.in.wms, take care of which one is actually being run.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.inund.fluv ====&lt;br /&gt;
&lt;br /&gt;
: [https://svn.osgeo.org/grass/grass-addons/raster/r.inund.fluv/ r.inund.fluv]This command allows to obtain a fluvial potentially inundation map given a high-resolution DTM of the area surrounding the river and a water surface profile calculated through an 1-D hydrodinamic model. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Roberto Marzocchi, Bianca Federici, Domenico Sguerso&lt;br /&gt;
&lt;br /&gt;
==== r.isoregions ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.isoregions/r.isoregions r.isoregions] allows isoregions creation from a GRASS raster map. &lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== r.interp.mask ====&lt;br /&gt;
&lt;br /&gt;
: [http://david.p.finlayson.googlepages.com/r.interp.mask r.interp.mask] Creates a user-specified buffer around interpolation points that can be used as a MASK to prevent or clip excessive extrapolation artifacts. This works much better than a standard convex hull around the points.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' David Finlayson&lt;br /&gt;
&lt;br /&gt;
==== r.li ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.faunalia.it/download/r_li/ r.li] is a more flexible and faster replacement of the old r.le. '''''Moved into 6.3-SVN'''''.&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Claudio Porta, Davide Spano, Serena Pallecchi, [http://www.faunalia.it Faunalia]&lt;br /&gt;
&lt;br /&gt;
==== r.local_max.pl ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/local_max.pl Local maxima] is a Perl script for &amp;lt;code&amp;gt;r.mapcalc&amp;lt;/code&amp;gt;. It detects local maxima of the image.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.mandelbrot ====&lt;br /&gt;
&lt;br /&gt;
: [http://grasslab.gisix.com/scripts/r.mandelbrot r.mandelbrot] is a shell script to calculate the Mandelbrot set.- for GRASS versions 6.X.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Peter Löwe&lt;br /&gt;
&lt;br /&gt;
==== mcda====&lt;br /&gt;
&lt;br /&gt;
: mcda suite is a toolset for geographics multi-criteria decision aiding and data analysis based on ELECTRE (r.mcda.electre), REGIME (r.mcda.regime) and FUZZY (r.mcda.fuzzy) algorithm. The module r.roughset is also included  for geographics rough set analisys and knowledge discovery based on rough set library. It is written in C language for GRASS versions 6.X.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Gianluca Massei (g_massa@libero.it ) - Antonio Boggia&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/mcda/&lt;br /&gt;
&lt;br /&gt;
==== r.mlv ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/grass/r.mlv.tgz r.mlv] is Mean of least variance filter for GRASS. It is an edge-preserving (or even edge-enhacing) filter, which should serve for removing additive noise from images. It is written in C language.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.out.jpeg ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.geospatial.it/allegri/grass/r.out.jpeg_ r.out.jpeg] is a simple GRASS script to export georeferenced JPEG images from rasters, keeping the associated color table. It is a two-step export: first a ppm file is created, then it is converted to jpeg usgin the &amp;quot;convert&amp;quot; command from ImageMagick&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Giovanni Allegri&lt;br /&gt;
&lt;br /&gt;
==== r.out.gmap ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.out.gmap r.out.gmap] outputs GRASS raster map into set of image tiles&lt;br /&gt;
following the tiling scheme of Google Maps and Microsoft Virtual Earth.&amp;lt;BR&amp;gt;Read more in the OSGeo Journal [http://www.osgeo.org/journal Volume 5 (2009, to appear)]&amp;lt;BR&amp;gt;see also [[#r.out.kml|r.out.kml]] and [[#v.out.kml|v.out.kml]]&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Tomas Cebecauer&lt;br /&gt;
&lt;br /&gt;
==== r.out.gmt ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.out.gmt r.out.gmt] is a GRASS script for exporting a GRASS raster map into a [http://www.soest.hawaii.edu/gmt/ GMT] grid file. It also creates a GMT color table from the data and can generate some GMT commands for plotting a postscript file. (code is experimental, but functional)&amp;lt;BR&amp;gt;see  also http://169.237.35.250/~dylan/grass_user_group/#GMT_and_GRASS-overview&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Hamish Bowman, Dylan Beaudette&lt;br /&gt;
&lt;br /&gt;
==== r.out.gmt2 ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.out.gmt2 r.out.gmt2] is a modified version of Hamish's r.out.gmt.  Added options for title, xlabel, ylabel, comment, and map width.  Removed any settings that can be changed by gmtset for more flexibility.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho, Hamish Bowman, Dylan Beaudette&lt;br /&gt;
&lt;br /&gt;
==== r.out.kml ====&lt;br /&gt;
&lt;br /&gt;
: [https://trac.osgeo.org/grass/browser/grass-addons/raster/r.out.kml r.out.kml] is a shell script that exports a raster map into a KML file and image for Google Earth or Worldwind. See also [[#v.out.kml|v.out.kml]] and [[#r.out.gmap|r.out.gmap]].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.pack ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.pack r.pack and r.unpack] are two GRASS scripts for transfering raster maps to another computer as a single file.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.prominence ====&lt;br /&gt;
'''r.prominence''' calculates the average difference between a central cell and its neighbors. It approximated the terrain 'ruggedness' by looking at average differences in elevation within a given neighborhood.&lt;br /&gt;
: '''Author:''' Benjamin Ducke&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.prominence/&lt;br /&gt;
&lt;br /&gt;
==== r.roughness ====&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/raster/r.roughness/r.roughness.sh r.roughness.sh] is a shell script to calculate the surface roughness of a DEM, using r.surf.area and v.surf.rst. (for GRASS versions 6.1 and above)&lt;br /&gt;
&lt;br /&gt;
[http://www.igc.usp.br/pessoais/guano/downloads/r.roughness60 r.roughness60] - for GRASS versions 6.0.X&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/raster/r.roughness/r.roughness.window.area r.roughness.window.area] - calculate surface roughness as the ratio of real (surface) area and planar area, using a moving-window approach.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/raster/r.roughness/r.roughness.window.vector r.roughness.window.vector] - calculate surface roughness as vector dispersion, using a moving-window approach. Resulting maps are: Vector Strength (R) and Inverted Fisher's k parameter. &lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/raster/r.roughness/r.roughness.window.vector.html r.roughness.window.vector.html] - provisional help page for r.roughness.window.vector.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Carlos Henrique Grohmann&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.roughness/&lt;br /&gt;
&lt;br /&gt;
==== r.roughset ====&lt;br /&gt;
&lt;br /&gt;
: r.roughset is a module for geographics rough set analisys and knowledge discovery based on rough set library. It is written in C language for GRASS versions 6.X.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Gianluca Massei (g_massa@libero.it ) - Antonio Boggia&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/mcda/r.roughset/&lt;br /&gt;
&lt;br /&gt;
==== r.smoothpatch ====&lt;br /&gt;
&lt;br /&gt;
: [http://david.p.finlayson.googlepages.com/r.smoothpatch r.smoothpatch] creates a composite of two rasters using a distance-weighted average across the transition to smooth the edges.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' David Finlayson&lt;br /&gt;
&lt;br /&gt;
==== r.soils.texture ====&lt;br /&gt;
&lt;br /&gt;
: r.soils.texture is a module to define soils texture from sand and clay raster file with a schema text file (now FAO,USDA and ISSS are available). It is written in C language. - for GRASS versions 6.x - For bugs and suggest: g_massa@libero.it &lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Gianluca Massei&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.soils.texture/&lt;br /&gt;
&lt;br /&gt;
==== r.stream.basins ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.stream.basins r.stream.basins] delineate basins according users input. It extends r.water.outlet funcionality to extracting more than one basin at one step. Module uses as input direction map produced by r.watershed and stream network produced by r.stream.extract, r.watershed, r.stream order or custom user input. More in tutorial on grass-wiki pages.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jarek Jasiewicz&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.stream.basins&lt;br /&gt;
&lt;br /&gt;
==== r.stream.del ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.stream.del r.stream.del] Calculates downslope length of first order streams and delete them if it length (in pixels) is lower than the treeshold. It also join false segments left by deletion into one with category of upper. It uses r.watershed direction map and r.watershed  stream map as input. The module is added only for r.watershed module, r.stream.extract has deleting short streams build-in. During development of r.stream.* it will be probably abandoned due to duplicate functionality&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jarek Jasiewicz&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.stream.del&lt;br /&gt;
&lt;br /&gt;
==== r.stream.distance ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.stream.distance r.stream.distance] Calculates downslope distance and downslope elevation difference between current cell and stream or outlet cells. It uses r.watershed direction map, r.watershed or r.stream.extract stream map and optionally DEM as input.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jarek Jasiewicz&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.stream.distance&lt;br /&gt;
&lt;br /&gt;
==== r.stream.extract ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.stream.extract r.stream.extract] extracts topologically clean stream networks from input elevation and optionally accumulation maps. Output is available as raster and vector and can be used as input for the other r.stream.* modules by Jarek Jasiewicz. &lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Metz&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.stream.extract&lt;br /&gt;
&lt;br /&gt;
==== r.stream.order ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.stream.order r.stream.order] orders stream network outputed by r.watershed or r.stream.extract according Sthrahler, Shreve, Horton and Hack ordering systems. It require as input stream and direction map and optionally accumulation map. It handle both SFD nad MFD modes but all data must come from the same procedure.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jarek Jasiewicz, Markus Metz&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.stream.order&lt;br /&gt;
&lt;br /&gt;
==== r.stream.stats ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.stream.stats r.stream.stats] calculate Hortonian statistics for Stahler or Horton stream network created by r.stream.order. It uses r.watershed direction map, DEM and r.stream.order's Stahler or Horton stream network as input. It outputs calculated statistics to standard output.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jarek Jasiewicz&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.stream.stats&lt;br /&gt;
&lt;br /&gt;
==== r.surf.nnbathy ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.sieczka.org/programy_en.html r.surf.nnbathy] interpolates a surface from a raster input using Pavel Sakov's [http://code.google.com/p/nn-c/ nn] natural neighbor interpolation library. Provides triangulation, Sibson natural neighbor interpolation and non-Sibsonian interpolation.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Maciej Sieczka&lt;br /&gt;
&lt;br /&gt;
==== r.surf.volcano ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.surf.volcano r.surf.volcano] creates an artificial surface resembling a seamount or cone volcano. The user can alter the size and shape of the mountain and optionally roughen its surface. Available decay functions are  polynomial, Gaussian, Lorentzian, logarithmic, and exponential.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.terracost ====&lt;br /&gt;
&lt;br /&gt;
[http://www.bowdoin.edu/~ltoma/research.html r.terracost] Scalable approach for computing least-cost-path surfaces on massive grid terrains.&amp;lt;BR&amp;gt;'''Lead author''': Laura Toma&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
  svn co https://svn.osgeo.org/grass/grass-addons/raster/r.terracost&lt;br /&gt;
&lt;br /&gt;
==== r.tileset ====&lt;br /&gt;
&lt;br /&gt;
: ''{{cmd|r.tileset}} moved into main archive''&lt;br /&gt;
&lt;br /&gt;
==== r.traveltime ====&lt;br /&gt;
&lt;br /&gt;
: [http://jesbergwetter.twoday.net/stories/4845555/ r.traveltime] computes the travel time of surface runoff to an outlet. The program starts at the basin outlet and calculates the travel time at each raster cell recursively. A drainage area related threhold considers even  surface and also channel runoff. Travel times are derived by assuming kinematic wave approximation. The results can be used to derive a time-area function. This might be usefull for precipitation-runoff calculations (estimation of flood predictions) with a lumped hydrologic model (user-specified unit hydrograph).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Kristian Förster&lt;br /&gt;
&lt;br /&gt;
==== r.univar.zonal ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.univar2.zonal r.univar.zonal] is similar to r.univar, but calculates statistics separately for each category(zone) present in the separate input map used to define zones (zonal statistics). The output can be like the one of r.univar or in easier to read table format and can be written to a file.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Metz&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.univar2.zonal&lt;br /&gt;
&lt;br /&gt;
==== r.viewshed ====&lt;br /&gt;
&lt;br /&gt;
: r.viewshed is a module for extremely fast line of sight analysis (replaces the slow r.los). It is written in C language for GRASS versions 6.X/7.x.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Laura Toma, USA&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.viewshed&lt;br /&gt;
&lt;br /&gt;
Once {{trac|390}} is solved, it will substitute r.los.&lt;br /&gt;
&lt;br /&gt;
==== r.xtent ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.xtent r.xtent] computes a raster map layer representing the Voronoi diagram, weighted Voronoi diagram or a more complex territorial partitioning of space around points (centers) in a vector input map, based on the XTENT formula.&lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Benjamin Ducke&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.xtent&lt;br /&gt;
&lt;br /&gt;
==== r.zc.pl ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/zc.pl Zero crossing] is a simple Perl script, finds the ,,zero crossings`` from the Laplacian of Gaussian filter (see above). It is really &amp;lt;em&amp;gt;very&amp;lt;/em&amp;gt; simple, the edges don't need to be really on that pixel, where they are detected, no interpolation is performed.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== GIPE ====&lt;br /&gt;
&lt;br /&gt;
: The GRASS Image Processing Environment (GIPE) has USLE, Energy-balance and radiance-reflectance correction models.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Yann Chemin (unless specified otherwise).&lt;br /&gt;
   &lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/gipe&lt;br /&gt;
&lt;br /&gt;
Remark: This is progressively moved to main GRASS SVN (aka GRASS 7)&lt;br /&gt;
&lt;br /&gt;
:* r.hydro.CASC2D, ported from GRASS 5.x version, is temporarily here waiting to return to main GRASS.&lt;br /&gt;
&lt;br /&gt;
:* r.soiltex2prop creates porosity, Saturated Hydraulic conductivity (Ksat) and wetting front pressure head (Hf) from percentage of sand and clay after Rawls et al., 1990. This is a must for r.hydro.CASC2D.&lt;br /&gt;
&lt;br /&gt;
:* i.biomass creates biomass growth map from fPAR, lightuse efficiency, water availability (or evap.fraction), Lat, doy and tsw.&lt;br /&gt;
&lt;br /&gt;
:* i.dn2ref.l7, r.dn2ref.ast create top of atmosphere reflectance for Landsat 7ETM+ and ASTER. These modules also have a flag for radiance output. Updated i.dn2ref.l7 to read .met calibration file.  &lt;br /&gt;
&lt;br /&gt;
:* i.dn2full.l[5,7] is an attempt to get all bands of Landsat[5,7] calibrated and corrected to either reflectance or temperature, reads only the .met file.  &lt;br /&gt;
&lt;br /&gt;
:* i.dn2potrad.l[5,7] is an attempt to get ET potential from DN of Landsat 7 (Careful! No Atmospheric correction!).  &lt;br /&gt;
&lt;br /&gt;
:* i.eb.* are a set of 10+ GRASS modules that together perform the main functions of  the SEBAL model (Bastiaanssen, 1995). Those functions include (but are not limited to) Soil heat flux, sensible heat flux, net radiation, evaporative fraction at satellite overpass, diurnal actual evapotranspiration, momentum roughness length, etc. These  modules are also part of any Energy-Balance related processing. &lt;br /&gt;
&lt;br /&gt;
:* i.evapo.potrad creates diurnal Potential evapotranspiration assuming all net radiation becomes ET, according to SEBAL model (Bastiaanssen, 1995). This module also has a flag for diurnal net radiation as required by SEBAL in i.eb.eta. &lt;br /&gt;
&lt;br /&gt;
:* i.evapo.SENAY creates actual evapotranspiration following the regional method of Senay (2007). &lt;br /&gt;
&lt;br /&gt;
:* i.lmf creates a Local Maximum Fitting on the temporal dimension of the multi-date input dataset, working, but more precision still to be added.&lt;br /&gt;
&lt;br /&gt;
:* i.vi.mpi is the mpi version of i.vi for cluster GRASS GIS education (no speed up here!) '''Author:''' Shamim Akhter &lt;br /&gt;
&lt;br /&gt;
:* i.modis.stateqa extracts State Quality Assessment information from Modis 500m (MOD09A) products.&lt;br /&gt;
&lt;br /&gt;
:* i.water creates a Water Mask from NDVI and Albedo, or specifically for Modis: NDVI and Band 7.&lt;br /&gt;
&lt;br /&gt;
:* i.wi creates a given Water Index (only one so far).&lt;br /&gt;
&lt;br /&gt;
==== HydroFOSS ====&lt;br /&gt;
&lt;br /&gt;
: HydroFOSS - a GIS embedded approach for Free &amp;amp; Open Source Hydrological modeling.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Massimiliano Cannata&lt;br /&gt;
 &lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/HydroFOSS/&lt;br /&gt;
&lt;br /&gt;
==== Hikereport ====&lt;br /&gt;
&lt;br /&gt;
: python script that computes length, cumulative uphill and downhill, average slopes on an interactively drawn path. Based on r.profile's output.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Stefano Negri&lt;br /&gt;
&lt;br /&gt;
 http://tracce.wordpress.com/?attachment_id=71&lt;br /&gt;
&lt;br /&gt;
=== Misc add-ons===&lt;br /&gt;
&lt;br /&gt;
==== m.eigensystem ====&lt;br /&gt;
&lt;br /&gt;
m.eigensystem - Computes eigen values and eigen vectors for square matrices.&lt;br /&gt;
&lt;br /&gt;
: http://svn.osgeo.org/grass/grass-addons/misc/m.eigensystem/&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Michael Shapiro&lt;br /&gt;
&lt;br /&gt;
===Database add-ons===&lt;br /&gt;
==== db.join ====&lt;br /&gt;
&lt;br /&gt;
: Table joining: join one table into another through common attributes&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Neteler. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
   svn co https://svn.osgeo.org/grass/grass-addons/database/db.join/&lt;br /&gt;
or&lt;br /&gt;
   g.extension db.join&lt;br /&gt;
&lt;br /&gt;
===General add-ons===&lt;br /&gt;
&lt;br /&gt;
==== g.laptop.sh ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.nature-consult.de/dassau/g.laptop/g.laptop.sh g.laptop.sh] is an interactive shell script to extract raster and vector data from current Location into a new one. Data can be copied or extracted in current or original resolution and region extend. This script was written to extract smaller parts of a GRASS location to be able to present them on a laptop without the necessity to transfer huge data. Maps do not have to be in the same mapset.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Otto Dassau &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Readline completion ====&lt;br /&gt;
&lt;br /&gt;
: '''''Readline completion''''' for GRASS commands under the bash shell: [http://www.sorokine.info/grass-complete/ grass-complete] won't clutter the environment but needs to be installed; [http://dcalvelo.free.fr/grass/grass_rlcompleter.sh grass_rlcompleter.sh] needs almost no installation but will pollute the environment. Grass-Complete currently requires Bash version 2.05 for proper install.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Alexandre Sorokine (grass-complete), Daniel Calvelo (grass_rlcompleter.sh)&lt;br /&gt;
&lt;br /&gt;
==== g.region.point ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/general/g.region.point g.region.point] is a shell script which resets the computational region to a square box around a given coordinate. It is intended for use within GRASS scripts to speed up processing by limiting expensive raster calculations to a small area of interest.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== g.linke_by_day ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.sun.tools/ g.linke_by_day] is a python script for [[r.sun]] which interpolates a Linke turbidity value for a given day of the year based on monthly values edited into the script.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== g.xlist ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/general/g.xlist g.xlist] is a C implementation of g.mlist. g.xlist searches for data files matching a pattern given by wildcards or POSIX Extended Regular Expressions. POSIX regex(3) functions are required.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho&lt;br /&gt;
&lt;br /&gt;
==== g.xremove ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/general/g.xremove g.xremove] is a C implementation of g.mremove. g.xremove removes data files matching a pattern given by wildcards or POSIX Extended Regular Expressions. POSIX regex(3) functions are required.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho&lt;br /&gt;
&lt;br /&gt;
=== Imagery add-ons ===&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/imagery&lt;br /&gt;
&lt;br /&gt;
==== GIPE ====&lt;br /&gt;
&lt;br /&gt;
GIPE (see also above in raster section) provides:&lt;br /&gt;
i.biomass, i.dn2potrad.l5, i.dn2potrad.l7, i.dn2ref.ast, i.eb.deltat, i.eb.disp, i.eb.eta, i.eb.evapfr, i.eb.g0, i.eb.h0, i.eb.h_SEBAL01, i.eb.h_SEBAL95, i.eb.h_iter, i.eb.molength, i.eb.netrad, i.eb.psi, i.eb.rah, i.eb.rohair, i.eb.ublend, i.eb.ustar, i.eb.wetdrypix, i.eb.z0m, i.eb.z0m0, i.evapo.PT, i.evapo.TSA, i.evapo.potrad, i.evapo.senay, i.evapo.time_integration, i.lmf, i.modis.stateqa, i.sattime, i.vi.grid, i.vi.mpi, i.water, i.wi&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/gipe/&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Yann Chemin&lt;br /&gt;
&lt;br /&gt;
==== i.landsat.toar ====&lt;br /&gt;
&lt;br /&gt;
Transform calibrated digital number of Landsat products to top-of-atmosphere radiance or top-of-atmosphere reflectance and temperature (band 6 of the sensors TM and ETM+). Optionally, used to calculate the at-surface radiance or reflectance with atmospheric correction (DOS method).&lt;br /&gt;
&lt;br /&gt;
svn co https://svn.osgeo.org/grass/grass-addons/imagery/i.landsat.toar&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' E. Jorge Tizado&lt;br /&gt;
&lt;br /&gt;
==== i.points.reproj ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/imagery/i.points.reproj i.points.reproj] is a shell script that will use cs2cs to reproject the target coordinates of a group's POINTS file. By running i.rectify directly to the new target projection, a generation of resampling data loss can be avoided (versus i.rectify + r.proj). On the other hand, i.rectify does not calculate cell resolution well if the map is to be rotated ([http://intevation.de/rt/webrt?serial_num=3296 bug #3296]), in those cases i.rectify+r.proj may be the better option.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== i.plr.py ====&lt;br /&gt;
&lt;br /&gt;
: [[I.plr.py|Probabilistic Label Relaxation]], written in Python&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Georg Kaspar&lt;br /&gt;
&lt;br /&gt;
==== i.pr ====&lt;br /&gt;
&lt;br /&gt;
: Image classification: implements k-NN (multiclass), classification trees (multiclass), maximum likelihood (multiclass), Support Vector Machines (binary), bagging versions of all the base classifiers, AdaBoost for binary trees and support vector machines. It allows feature manipulation (normalization, principal components,...). It also implements feature selection techniques (RFE, E-RFE,...), statistical tests on variables, tools for resampling (cross-validation and bootstrap) and cost-sensitive techniques for trees and support vector machines.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Stefano Merler. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
   svn co https://svn.osgeo.org/grass/grass-addons/imagery/i.pr&lt;br /&gt;
&lt;br /&gt;
==== i.spec.sam ====&lt;br /&gt;
&lt;br /&gt;
: Spectral Angle mapping&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Neteler. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
   svn co https://svn.osgeo.org/grass/grass-addons/imagery/i.spec.sam/&lt;br /&gt;
&lt;br /&gt;
==== i.spec.unmix ====&lt;br /&gt;
&lt;br /&gt;
: Spectral unmixing&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Neteler. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
   svn co https://svn.osgeo.org/grass/grass-addons/imagery/i.spec.unmix/&lt;br /&gt;
&lt;br /&gt;
==== i.warp ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/imagery/i.warp i.warp] is a shell script that will use gdalwarp to rectify a raw input image using thin plate splines. The map should be imported into GRASS with r.in.gdal and GCPs set with i.points. Input is the raw image (GeoTIFF, JPEG, etc). Output is a GeoTIFF in the imagery group's target location's map projection. Requires a recent (early 2006) version of GRASS 6.1, or newer.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
=== Display add-ons ===&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/display&lt;br /&gt;
&lt;br /&gt;
==== d.edit.rast ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.edit.rast d.edit.rast] edits cells in an existing raster map displayed on the current monitor.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho&lt;br /&gt;
&lt;br /&gt;
==== d.frame.quarter ====&lt;br /&gt;
&lt;br /&gt;
: ('''obsolete''') [http://trac.osgeo.org/grass/browser/grass-addons/display/d.frame.split d.frame.quarter] is a shell script that will split the display into four quadrants (or sixths) using ''d.frame''. Individual frames are named ''uno, dos, tres, cuatro'', and ''full_screen''.&lt;br /&gt;
: Replaced by {{cmd|d.split.frame}} in main.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== d.frame.split ====&lt;br /&gt;
&lt;br /&gt;
: ''d.frame.split moved into main archive as {{cmd|d.split.frame}}''&lt;br /&gt;
&lt;br /&gt;
==== d.hyperlink ====&lt;br /&gt;
&lt;br /&gt;
: [ftp://gsca.nrcan.gc.ca/outgoing/Patton/Grass/Scripts/d.hyperlink.tar.bz2 d.hyperlink] is an interactive shell script that allows the viewing of hyperlinked images from a vector's attribute table in an external image viewer. Queries can be made via SQL statements or interactive mouse-clicking. The attribute table must be pre-populated with a column containing the image to link the vector to; the user also specifies the image folder in the current MAPSET where the images are located. The script currently supports gimp, Eye of Gnome, gthumb, gpdf, and Inkscape image viewers.&lt;br /&gt;
&lt;br /&gt;
: '''Author: '''Eric Patton&lt;br /&gt;
&lt;br /&gt;
==== d.mark ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.shortcuts d.mark] is a shell script that quickly displays a marker on the display at a given coordinate.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman &lt;br /&gt;
&lt;br /&gt;
==== d.region.box ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.region.box d.region.box] is a shell script that quickly displays a box around the current region.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== d.stations ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.shortcuts   d.stations] is a shell script that quickly displays vector points (or sites for GRASS 5.4 and below).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman &lt;br /&gt;
&lt;br /&gt;
==== d.varea ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.shortcuts d.varea] is a shell script that quickly displays vector areas.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== pd-GRASS ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.ornl.gov/sci/gist/software/grass/ pd-GRASS]: Parallel Display for GRASS GIS&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Alex Sorokine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== [[IconSymbols]] ====&lt;br /&gt;
&lt;br /&gt;
* [[IconSymbols|Symbols]] which can be used with ''d.vect, d.graph'', and ''ps.map''.&lt;br /&gt;
&lt;br /&gt;
=== Postscript add-ons ===&lt;br /&gt;
&lt;br /&gt;
''See also [[ps.map scripts|ps.map samples and templates]]''.&lt;br /&gt;
&lt;br /&gt;
==== ps.atlas ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/programs/grass/ps.atlas ps.atlas] is a shell script that makes more maps on current region according to input *.psmap file. General map can be stored as vector file. The resulting *.eps maps can be automatically converted to *.pdf files.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== [[AreaFillPatterns]] ====&lt;br /&gt;
&lt;br /&gt;
* Hatches for ps.map's vareas&lt;br /&gt;
&lt;br /&gt;
===GRASS and UMN Mapserver===&lt;br /&gt;
&lt;br /&gt;
* [http://www.mail-archive.com/mapserver-users@lists.umn.edu/msg00086.html See interesting posting]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9976</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9976"/>
		<updated>2009-12-18T16:39:16Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: v.krige into trunk!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and [[wxGUI]] addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by [[User:Landa|Martin Landa]] and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''V.krige is now into GRASS trunk and devbr_6 code! (r40048 or higher)'''&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
For GRASS 6.5 &amp;lt;r40048, it is easy to install it via [http://grass.osgeo.org/grass65/manuals/html65_user/g.extension.html g.extension] (for GRASS 6.4 it is an AddOn, from 6.5+/7 onwards included). Simply type in a GRASS shell:&lt;br /&gt;
&lt;br /&gt;
 g.extension v.krige&lt;br /&gt;
&lt;br /&gt;
To install v.krige.py from source, please refer to [[Compile_and_Install#Scripts]]. Source is available on SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** wxGUI: Split widget creation and layout - makes more readable code&lt;br /&gt;
** Solve '''double parsing issue from RunCmd.''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions''' - universal kriging first.&lt;br /&gt;
** Add '''region resolution parameter in interface''', showing the current value and allowing the user to modify it before kriging. High resolution slows down computation and give better results, but the user should have a clear feedback (I have been surprised by long runs more than once, because I was not aware of resolution).&lt;br /&gt;
** wxGUI: GetVector() should check for name validity, if a string is inserted?&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
** As kriging function from gstat requires x,y columns into attribute table, the actual implementation is a hack. Problems can arise if the map comes from another mapset, and it is unfair to modify input data.&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
** The RBookPage::refresh() function has an endless cycle that keeps R graphics window responsive, even when that window has been closed by the user.&lt;br /&gt;
** spgrass6::readVECT6() and mapset name - see [http://lists.osgeo.org/pipermail/grass-stats/2009-August/001126.html this thread].&lt;br /&gt;
&lt;br /&gt;
* '''FUTURE PLANS'''&lt;br /&gt;
** Keep on working on v.krige and solve above problems&lt;br /&gt;
** Backward compatibility of CLI at least&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Notes on v.krige usage, examples and tips are available in the module's help page, available via Help button if the GUI.&lt;br /&gt;
&lt;br /&gt;
Kriging theory is available in Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft and definitive:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
'''Report #1, 29 May'''&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
'''Report #2, 5 June'''&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
'''Report #2.5, 11 June'''&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
'''Report #3, 12 June'''&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email (Report 2.5, see above) and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
'''Report #4, 19 June'''&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
'''Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event])'''&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
'''Report #6, 3 July'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #7, midterm, 10 July'''&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #8, 17 July'''&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
'''Report #9, 24 July'''&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
'''Report #10, 31 July'''&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #11, 7 August'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on error handling by GUI, adding controls on input data and parameters and hiding Run and Plot buttons unless all options are suitable.&lt;br /&gt;
Variogram plotting is on its way - I discarded matplotlib to avoid further dependencies, in favour of wx.lib.plot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #12, 14 August'''&lt;br /&gt;
&lt;br /&gt;
this is last SoC report - bringing variogram plotting into v.krige! After a long time searching for the lightest and cleanest implementation, R plotting raised as the best solution. On user demand, a R graphics window plots variogram and refreshes it, without interfering with wxGUI. &lt;br /&gt;
Documentation includes a full example using Spearfish dataset and all informations about dependencies.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have helped me writing v.krige: GRASS and R developers, OSGeo SoC crew, wise friends, all testers.&lt;br /&gt;
I hope this module will attract people towards GRASS and R, and provide a valid alternative to closed-source kriging tools.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
[[Category:R]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9717</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9717"/>
		<updated>2009-10-20T09:25:29Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Bulletin Board */ update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and [[wxGUI]] addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by [[User:Landa|Martin Landa]] and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''Interactive variogram fit is available! (r38714 or higher)''' In gstat tab, the button labeled &amp;quot;Plot/refresh variogram&amp;quot; calls up a R graphics window with the data variogram and the fitted curve. Play with options to obtain the best fit, refresh plot, and when the model fits the data, run kriging!&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
It is easy to install it via [http://grass.osgeo.org/grass65/manuals/html65_user/g.extension.html g.extension] (for GRASS 6.4 it is an AddOn, from 6.5+/7 onwards included). Simply type in a GRASS shell:&lt;br /&gt;
&lt;br /&gt;
 g.extension v.krige&lt;br /&gt;
&lt;br /&gt;
To install v.krige.py from source, please refer to [[Compile_and_Install#Scripts]]. Source is available on SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** wxGUI: Split widget creation and layout - makes more readable code&lt;br /&gt;
** Solve '''double parsing issue from RunCmd.''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions''' - universal kriging first.&lt;br /&gt;
** Add '''region resolution parameter in interface''', showing the current value and allowing the user to modify it before kriging. High resolution slows down computation and give better results, but the user should have a clear feedback (I have been surprised by long runs more than once, because I was not aware of resolution).&lt;br /&gt;
** wxGUI: GetVector() should check for name validity, if a string is inserted?&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
** As kriging function from gstat requires x,y columns into attribute table, the actual implementation is a hack. Problems can arise if the map comes from another mapset, and it is unfair to modify input data.&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
** The RBookPage::refresh() function has an endless cycle that keeps R graphics window responsive, even when that window has been closed by the user.&lt;br /&gt;
** spgrass6::readVECT6() and mapset name - see [http://lists.osgeo.org/pipermail/grass-stats/2009-August/001126.html this thread].&lt;br /&gt;
&lt;br /&gt;
* '''FUTURE PLANS'''&lt;br /&gt;
** Keep on working on v.krige after SoC, in particular integrate it into GRASS trunk - not before November nor before some more reliability improvements.&lt;br /&gt;
** Backward compatibility of CLI at least&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Notes on v.krige usage, examples and tips are available in the module's help page, available via Help button if the GUI.&lt;br /&gt;
&lt;br /&gt;
Kriging theory is available in Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft and definitive:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
'''Report #1, 29 May'''&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
'''Report #2, 5 June'''&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
'''Report #2.5, 11 June'''&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
'''Report #3, 12 June'''&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email (Report 2.5, see above) and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
'''Report #4, 19 June'''&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
'''Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event])'''&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
'''Report #6, 3 July'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #7, midterm, 10 July'''&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #8, 17 July'''&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
'''Report #9, 24 July'''&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
'''Report #10, 31 July'''&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #11, 7 August'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on error handling by GUI, adding controls on input data and parameters and hiding Run and Plot buttons unless all options are suitable.&lt;br /&gt;
Variogram plotting is on its way - I discarded matplotlib to avoid further dependencies, in favour of wx.lib.plot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #12, 14 August'''&lt;br /&gt;
&lt;br /&gt;
this is last SoC report - bringing variogram plotting into v.krige! After a long time searching for the lightest and cleanest implementation, R plotting raised as the best solution. On user demand, a R graphics window plots variogram and refreshes it, without interfering with wxGUI. &lt;br /&gt;
Documentation includes a full example using Spearfish dataset and all informations about dependencies.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have helped me writing v.krige: GRASS and R developers, OSGeo SoC crew, wise friends, all testers.&lt;br /&gt;
I hope this module will attract people towards GRASS and R, and provide a valid alternative to closed-source kriging tools.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
[[Category:R]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9492</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9492"/>
		<updated>2009-08-28T12:54:45Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Installation */ restored svn link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and [[wxGUI]] addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by [[User:Landa|Martin Landa]] and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''Interactive variogram fit is available! (r38714 or higher)''' In gstat tab, the button labeled &amp;quot;Plot/refresh variogram&amp;quot; calls up a R graphics window with the data variogram and the fitted curve. Play with options to obtain the best fit, refresh plot, and when the model fits the data, run kriging!&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
It is easy to install it via [http://grass.osgeo.org/grass65/manuals/html65_user/g.extension.html g.extension] (for GRASS 6.4 it is an AddOn, from 6.5+/7 onwards included). Simply type in a GRASS shell:&lt;br /&gt;
&lt;br /&gt;
 g.extension v.krige&lt;br /&gt;
&lt;br /&gt;
To install v.krige.py from source, please refer to [[Compile_and_Install#Scripts]]. Source is available on SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** wxGUI: Split widget creation and layout - makes more readable code&lt;br /&gt;
** Solve '''double parsing issue from RunCmd.''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions''' - universal kriging first.&lt;br /&gt;
** Add '''region resolution parameter in interface''', showing the current value and allowing the user to modify it before kriging. High resolution slows down computation and give better results, but the user should have a clear feedback (I have been surprised by long runs more than once, because I was not aware of resolution).&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** No more!!&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
** The RBookPage::refresh() function has an endless cycle that keeps R graphics window responsive, even when that window has been closed by the user.&lt;br /&gt;
** spgrass6::readVECT6() and mapset name - see [http://lists.osgeo.org/pipermail/grass-stats/2009-August/001126.html this thread].&lt;br /&gt;
&lt;br /&gt;
* '''FUTURE PLANS'''&lt;br /&gt;
** Keep on working on v.krige after SoC, in particular integrate it into GRASS trunk - not before November nor before some more reliability improvements.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Notes on v.krige usage, examples and tips are available in the module's help page, available via Help button if the GUI.&lt;br /&gt;
&lt;br /&gt;
Kriging theory is available in Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft and definitive:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
'''Report #1, 29 May'''&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
'''Report #2, 5 June'''&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
'''Report #2.5, 11 June'''&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
'''Report #3, 12 June'''&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email (Report 2.5, see above) and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
'''Report #4, 19 June'''&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
'''Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event])'''&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
'''Report #6, 3 July'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #7, midterm, 10 July'''&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #8, 17 July'''&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
'''Report #9, 24 July'''&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
'''Report #10, 31 July'''&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #11, 7 August'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on error handling by GUI, adding controls on input data and parameters and hiding Run and Plot buttons unless all options are suitable.&lt;br /&gt;
Variogram plotting is on its way - I discarded matplotlib to avoid further dependencies, in favour of wx.lib.plot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #12, 14 August'''&lt;br /&gt;
&lt;br /&gt;
this is last SoC report - bringing variogram plotting into v.krige! After a long time searching for the lightest and cleanest implementation, R plotting raised as the best solution. On user demand, a R graphics window plots variogram and refreshes it, without interfering with wxGUI. &lt;br /&gt;
Documentation includes a full example using Spearfish dataset and all informations about dependencies.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have helped me writing v.krige: GRASS and R developers, OSGeo SoC crew, wise friends, all testers.&lt;br /&gt;
I hope this module will attract people towards GRASS and R, and provide a valid alternative to closed-source kriging tools.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;br /&gt;
[[Category:R]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=AddOns&amp;diff=9422</id>
		<title>AddOns</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=AddOns&amp;diff=9422"/>
		<updated>2009-08-25T18:20:39Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* v.krige */  updated link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains references to user contributions and add-ons (the original GRASS GIS software can be downloaded [http://grass.osgeo.org/download/index.php here]).&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== AddOns source code repository ==&lt;br /&gt;
&lt;br /&gt;
The AddOns source code is hosted in [http://svn.osgeo.org/grass/grass-addons/ GRASS-AddOns SVN repository].&lt;br /&gt;
&lt;br /&gt;
To checkout:&lt;br /&gt;
&lt;br /&gt;
 svn checkout &amp;lt;nowiki&amp;gt;https://svn.osgeo.org/grass/grass-addons/&amp;lt;/nowiki&amp;gt; grass-addons&lt;br /&gt;
&lt;br /&gt;
Please read [http://trac.osgeo.org/grass/wiki/HowToContribute#WriteaccesstotheGRASS-Addons-SVNrepository How to get write access to the GRASS-Addons-SVN repository] and contact the [http://lists.osgeo.org/mailman/listinfo/grass-dev grass-dev] mailing list if you would like to host your module there.&lt;br /&gt;
&lt;br /&gt;
== Building and installing Addons ==&lt;br /&gt;
&lt;br /&gt;
* see the [[Compile and Install#Addons]] wiki page&lt;br /&gt;
&lt;br /&gt;
== Adding something new ==&lt;br /&gt;
&lt;br /&gt;
Please announce your add-on to the GRASS users' mailing list so that others may be aware of your work. Also please consider adding your module to one of the [[Applications]] pages.&lt;br /&gt;
&lt;br /&gt;
=== Copyright and licensing information ===&lt;br /&gt;
&lt;br /&gt;
''Please be sure to include copyright and licensing information in the header comments of your code so that others may know how they can use, extend, modify, and redistribute your work.''&lt;br /&gt;
&lt;br /&gt;
e.g. at the top of a shell script:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
############################################################################&lt;br /&gt;
#&lt;br /&gt;
# MODULE:       v.in.e00&lt;br /&gt;
#&lt;br /&gt;
# AUTHOR(S):    Markus Neteler, Otto Dassau&lt;br /&gt;
#&lt;br /&gt;
# PURPOSE:      Import E00 data into a GRASS vector map&lt;br /&gt;
#               Imports single and split E00 files (.e00, .e01, .e02 ...)&lt;br /&gt;
#&lt;br /&gt;
# COPYRIGHT:    (c) 2004, 2005 GDF Hannover bR, http://www.gdf-hannover.de&lt;br /&gt;
#&lt;br /&gt;
#               This program is free software under the GNU General Public&lt;br /&gt;
#               License (&amp;gt;=v2). Read the file COPYING that comes with GRASS&lt;br /&gt;
#               for details.&lt;br /&gt;
#&lt;br /&gt;
#############################################################################&lt;br /&gt;
#&lt;br /&gt;
# REQUIREMENTS:&lt;br /&gt;
#      -  avcimport: http://avce00.maptools.org&lt;br /&gt;
&lt;br /&gt;
[script follows]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Coding standards ===&lt;br /&gt;
&lt;br /&gt;
Please have a look at our [http://grass.osgeo.org/grass63/source/SUBMITTING_SCRIPTS Shell script coding standards] before submitting here.&lt;br /&gt;
&lt;br /&gt;
There are other coding standards given for modules written in C, Tcl/Tk, and Python''(?)'' located in the GRASS source code.&lt;br /&gt;
&lt;br /&gt;
=== Documenting your code ===&lt;br /&gt;
&lt;br /&gt;
You can have an help page template auto-generated by using the GRASS [[module command line parser | command line parser]] with the &amp;lt;tt&amp;gt;--html-description&amp;lt;/tt&amp;gt; command line option. Please, see also the [http://grass.ibiblio.org/grass63/manuals/html63_user/g.parser.html g.parser help page]&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Add-ons ==&lt;br /&gt;
&lt;br /&gt;
* [http://trac.osgeo.org/grass/browser/grass-addons/misc/utm_which_zone utm_which_zone.sh] is a shell script to determine UTM zone from Lat/Lon input. Requires [http://www.octave.org Octave] or Matlab to be installed. A shell-only version is [http://dcalvelo.free.fr/grass/utm_which_zone_sh.sh available] which only requires awk.&amp;lt;BR&amp;gt;'''Authors''': Hamish Bowman (Octave part), Markus Neteler (shell script wrapper), Daniel Calvelo (sh+awk version)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Perl scripts for converting data forth and back between Excel files and PostgreSQL: [http://dcalvelo.free.fr/grass/pg2xls.pl pg2xls.pl] reads data from PostgreSQL and produces an excel workbook; [http://dcalvelo.free.fr/grass/xls2sql.pl xls2sql.pl] reads excel files and outputs SQL statements to be fed into an RDBMS. Both scripts need modules from [http://www.cpan.org CPAN], especially [http://search.cpan.org/dist/Spreadsheet-ParseExcel/  Spreadsheet::ParseExcel] for xls2sql.pl and [http://search.cpan.org/~tmtm/Spreadsheet-WriteExcel-FromDB Spreadsheet::WriteExcel::FromDB] and its dependencies for pg2sql.pl. Check the source headers for more info.&amp;lt;BR&amp;gt;'''Authors:''' Daniel Calvelo (xls2sql.pl), Markus Neteler (pg2xls.pl)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://dream.lrrl.arch.tu-muenchen.de/~wqual/perl/dbf2sql.tgz dbf2sql] is a Perl script for translating dbf-tables into a sql-command. dbf-tables are read using dbfdump-command from dbd-xbase-perl module ([http://search.cpan.org/~janpaz/DBD-XBase-0.241/ dbd::xbase] and [http://search.cpan.org/~jv/Getopt-Long-2.35/lib/Getopt/Long.pm getopt::long] have to be installed from CPAN first). There are problems, if the last column of the table contains characters. Suggestions for improvements welcome! &amp;lt;BR&amp;gt;'''Author:'''Wolfgang Qual&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.igc.usp.br/pessoais/guano/downloads/azimuth2.c azimuth2.c] is a small C program to calculate the azimuth and length of vector lines exported by GRASS-GIS as ASCII files (like this: v.out.ascii input=vector output=ascii format=standard). It is useful for create rose diagrams of lineament maps. Improvements on the original code after suggestions by Örs Téglásy, Hungary.&amp;lt;BR&amp;gt;'''Author:''' Carlos Henrique Grohmann&lt;br /&gt;
&lt;br /&gt;
==GRASS 4.x==&lt;br /&gt;
&lt;br /&gt;
===Raster add-ons for GRASS 4===&lt;br /&gt;
&lt;br /&gt;
* MAGICAL Software: The MAGICAL software comprises a suite of three programs that provide a multi-agent simulation extension for the GRASS GIS software. http://www.ucl.ac.uk/~tcrnmar/simulation/magical/magical.html&lt;br /&gt;
&lt;br /&gt;
==GRASS 5.x==&lt;br /&gt;
&lt;br /&gt;
===Vector add-ons for GRASS 5===&lt;br /&gt;
&lt;br /&gt;
* See here: http://grass.osgeo.org/download/addons.php&lt;br /&gt;
&lt;br /&gt;
===Raster add-ons for GRASS 5===&lt;br /&gt;
&lt;br /&gt;
* See here: http://grass.osgeo.org/download/addons.php&lt;br /&gt;
&lt;br /&gt;
* [http://www.valledemexico.ambitiouslemon.com/gwmodelling.html r.gmtg] The groundwater modelling tool for grass. A module to use MODFLOW within GRASS. &amp;lt;BR&amp;gt;'''Author''': Jaime Carrera&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* [http://www.bowdoin.edu/~ltoma/research.html r.terracost] Scalable approach for computing least-cost-path surfaces on massive grid terrains. For GRASS 5.3.&amp;lt;BR&amp;gt;'''Lead author''': Laura Toma&lt;br /&gt;
:Newer version available via SVN:&lt;br /&gt;
  svn co https://svn.osgeo.org/grass/grass-addons/raster/r.terracost&lt;br /&gt;
&lt;br /&gt;
==GRASS 6.x==&lt;br /&gt;
&lt;br /&gt;
=== Vector add-ons ===&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector&lt;br /&gt;
&lt;br /&gt;
==== v.adehabitat.clusthr, v.adehabitat.kernelUD, v.adehabitat.mcp ====&lt;br /&gt;
&lt;br /&gt;
: Tools to calculate home ranges of animals&lt;br /&gt;
: '''Author:''' Clement Calenge&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/adehabitat&lt;br /&gt;
&lt;br /&gt;
==== v.append ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.public.asu.edu/~cmbarton/files/grass_scripts/v.append v.append] is a shell script combining two vector files AND their associated attribute tables. The vector files should be of the same type and, for best results, should have identically formatted attribute tables.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Michael Barton&lt;br /&gt;
&lt;br /&gt;
==== v.autokrige ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.autokrige/v.autokrige.py v.autokrige] achieves automatic ordinary kriging from GRASS sites (vector point data), using R with spgrass6 (RGRASS) and automap packages.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== v.breach ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.sieczka.org/programy_en.html v.breach] creates vector maps of lines and points of continously lowering elevation down the input watercourses, based on the input raster DEM.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Maciej Sieczka&lt;br /&gt;
&lt;br /&gt;
==== v.colors ====&lt;br /&gt;
&lt;br /&gt;
: {{cmd|v.colors}} ''moved into main archive''&lt;br /&gt;
&lt;br /&gt;
==== v.count.points.sh ====&lt;br /&gt;
&lt;br /&gt;
: [http://wiki.iosa.it/dokuwiki/spatial_analysis:feature_count v.count.points.sh] counts point features in areas, generates table good as input to d.vect.chart.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Stefano Costa&lt;br /&gt;
&lt;br /&gt;
==== v.digatt ====&lt;br /&gt;
&lt;br /&gt;
: [http://phygeo7.geo.uni-augsburg.de/gis2/scripts/v.digatt v.digatt] (shell script) Interactively assign numeric table attributes to series of vector objects. It is meant to be effective by avoiding to type in the attribute value for all single objects again and again. The user is prompted for typing in an attribute value which is assigned to all objects selected by mouseclick afterwards. Next the display is redrawn after updating the table column. Zooming allows to change the region before the old value can be reused or a new one can be typed in (or copied by mouse from another object) in order to assign it to the next series of objects etc. It is tested not very extensively yet. Therefore better work with a copy of your map and consider using v.digit or d.what.vect -e alternatively. [http://phygeo7.geo.uni-augsburg.de/gis2/scripts/v.digatt.png screenshot].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Andreas Philipp&lt;br /&gt;
&lt;br /&gt;
==== v.dip ====&lt;br /&gt;
&lt;br /&gt;
: [http://marcin.slodkowski.googlepages.com/v.dip.tgz v.dip] creates points of thickness vectors from the vectors of strike and dip angles. The v.dip is the main ANSI C core program. Program so-called v.dip can run without GRASS environment.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Marcin Slodkowski&lt;br /&gt;
&lt;br /&gt;
==== v.flip ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.sieczka.org/programy_en.html v.flip] flips the direction of selected vector lines (redundant since GRASS 6.3 - there is &amp;quot;v.edit tool=flip&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Maciej Sieczka&lt;br /&gt;
&lt;br /&gt;
==== v.group ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.shockfamily.net/cedric/grass/v.group v.group] generates a new vector map with the same geometry as an existing map. The new map has categories and a table based on grouping by the values in certain columns of the existing map's table. The values in these columns are preserved in the table for the new map. It's like a v.reclass that preserves data.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Cedric Shock&lt;br /&gt;
&lt;br /&gt;
==== v.in.gama ====&lt;br /&gt;
&lt;br /&gt;
: Converts [http://www.gnu.org/software/gama/ GNU GaMa] XML output file to a GRASS vector map layer.&lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Martin Landa&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.in.gama&lt;br /&gt;
&lt;br /&gt;
==== v.in.gshhs ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.in.gshhs v.in.gshhs] imports [http://www.soest.hawaii.edu/wessel/gshhs/gshhs.html GSHHS] shorelines into a GRASS vector map. GSHHS data are automatically reprojected to the current location.&lt;br /&gt;
&lt;br /&gt;
:'''Authors:''' several, updated to GRASS 6 by Markus Metz&lt;br /&gt;
&lt;br /&gt;
==== v.in.ncdc ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.in.ncdc v.in.ncdc] imports an [http://www.ncdc.noaa.gov NCDC] stn file (station data) into a GRASS vector map.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho&lt;br /&gt;
&lt;br /&gt;
==== v.in.postgis ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.in.postgis/v.in.postgis.py v.in.postgis] Create a GRASS layer from any sql query on PostGIS data.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== v.in.osm ====&lt;br /&gt;
&lt;br /&gt;
: [http://kripton.kripserver.net/software/v.in.osm/ v.in.osm]: OpenStreetMap import into GRASS. Yet only supports deprecated API 0.4, will be modified to work with API 0.5 some time soon.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jannis Achstetter&lt;br /&gt;
&lt;br /&gt;
: See also [http://hamish.bowman.googlepages.com/gpsdrivefiles#osm osm2grass.sh] by H Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.in.ovl ====&lt;br /&gt;
&lt;br /&gt;
: [http://grasslab.gisix.com/scripts/v.in.ovl/ v.in.ovl] is a shell script that imports an ASCII vector file created with TOP10|25|50 or similar products.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Peter Löwe&lt;br /&gt;
&lt;br /&gt;
==== v.krige ====&lt;br /&gt;
&lt;br /&gt;
: [[V.krige_GSoC_2009 | v.krige]] aims to integrate R functions for kriging (packages automap, gstat, geoR) in a trasparent way. '''Still beta''': testing welcome.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Anne Ghisla, as Google Summer of Code 2009 project&lt;br /&gt;
&lt;br /&gt;
: See also [[GRASS_AddOns#v.autokrige]] by Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== v.lda ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.public.asu.edu/~cmbarton/files/grass_scripts/v.lda v.lda] is a shell script for calculating Ian Johnson's (U. Sidney) Local Density Analysis values to measure clustering of point data at different neighborhood radii. There is an option to create a simple line graph of the results. There have been reports of problems creating the line graph on Cygwin installations of GRASS.&lt;br /&gt;
&lt;br /&gt;
==== v.line.center ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.sieczka.org/programy_en.html v.line.center] creates a points vector map with each point located in the middle of the length of the input vector line.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Maciej Sieczka&lt;br /&gt;
&lt;br /&gt;
==== v.lmeasure ====&lt;br /&gt;
&lt;br /&gt;
: [http://ngeo.de/grassstuff/v.lmeasure v.lmeasure] and [http://ngeo.de/grassstuff/v.revlmeasure v.revlmeasure] are two perl scripts that place equidistant vector points along a given arbitrary vector line starting from the beginning or end of the vector line, respectively. Resulting  vector points are labeled with the distance from origin.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Mats Schuh&lt;br /&gt;
&lt;br /&gt;
==== v.out.ascii.db ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.out.ascii.db v.out.ascii.db] is a shell script for exporting vector point data coordinates and selected attribute columns to either a file or to the console.&lt;br /&gt;
: ''Superseded in GRASS 6.4 by the new v.out.ascii columns= option.''&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.out.ascii.mat ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.out.ascii.mat v.out.ascii.mat] is a shell script for exporting vector polygon and polyline data into an ASCII text file suitable for loading into Matlab (or [http://www.gnu.org/software/octave/ Octave]).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.out.gmt ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.out.gmt v.out.gmt] is a shell script that exports a polygon vector file into GMT xy file. psbasemap code was copied from Hamish's r.out.gmt.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho, Hamish Bowman, Dylan Beaudette&lt;br /&gt;
&lt;br /&gt;
==== v.out.kml ====&lt;br /&gt;
&lt;br /&gt;
: [http://grasslab.gisix.com/scripts/v.out.kml/ v.out.kml] is a shell script that exports a vector file into a KML file for Google Earth or Worldwind.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Peter Löwe&lt;br /&gt;
&lt;br /&gt;
==== v.out.svg ====&lt;br /&gt;
&lt;br /&gt;
: [http://svg.cc/grass/index.html v.out.svg] is a module that exports SVG notation along with optional attribute data directly from GRASS 6.x vector layers. Now part of [http://svn.osgeo.org/grass/grass/trunk/vector/v.out.svg/ grass6-svn].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Klaus Förster&lt;br /&gt;
&lt;br /&gt;
==== v.random.cover ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.random.cover v.random.cover] is a shell script for creating random points constrained within an irregularly shaped vector area. (v.random places points only in current region rectangle). Optionally the user can upload raster values at the points. See also '&amp;lt;tt&amp;gt;r.random cover= vector_output=&amp;lt;/tt&amp;gt;'&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.rasterbounds ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/programs v.rasterbounds] is a shell script for creating polygon-vector file of rasterfile boundaries. The best version of GRASS is 6.1+. If you are using GRASS &amp;lt; 6.1, you  have to be in the same mapset as your raster maps are from.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== v.sample.buffer [broken link, please update or delete]====&lt;br /&gt;
&lt;br /&gt;
: [http://www.clubwebcanada.ca/twiens/v.sample.buffer.tgz v.sample.buffer] is a shell script that samples rasters in buffers of a specified size around features in a specified vector file. Sampling results are added as attributes to the vector file. This script was designed for sampling vegetation indices and DEM derived attributes for bird point counts. Sampling results can be one or more basic statistics such as mean, range, max, etc.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Trevor Wiens&lt;br /&gt;
&lt;br /&gt;
==== v.select.region ====&lt;br /&gt;
&lt;br /&gt;
: [ftp://gsca.nrcan.gc.ca/outgoing/Patton/Grass/Scripts/v.select.region.tar.bz2 v.select.region] is a shell script that prints out the names of all vectors matching an input search pattern that has geometry (points, line, areas) that fall within a region bounded by an existing vector map, or within the current Grass region.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Eric Patton&lt;br /&gt;
&lt;br /&gt;
==== v.selmany ====&lt;br /&gt;
&lt;br /&gt;
: [http://svn.osgeo.org/grass/grass-addons/vector/v.selmany/v.selmany v.selmany] is a shell script that allows to interactively select a set of vector objects on a given layer, then assign them attribute values in a connected database table. The script runs on the command line prompt and within a graphic monitor ; it does not work with DBF driver.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Vincent Bain&lt;br /&gt;
&lt;br /&gt;
==== v.surf.icw ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.surf.icw v.surf.icw] is an IDW interpolation method using true distance cost instead of euclidean shortest distance, i.e. ''as the fish swims around an island'' not ''as the bird flies''. This will cleanly travel around hard barriers and a cost surface map may be used to model expensive-cross barriers. Input data points do not need direct line of sight to be considered, but should be kept to less than one hundred as the module becomes very computationally expensive. A number of radial basis function options are available. ([http://grass.osgeo.org/wiki/Image:Inlets_03_SurfSal_icw_big.png screenshot])&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.surf.idwpow ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.geospatial.it/allegri/grass/v.surf.idwpow.zip v.surf.idwpow] integrates the common v.surf.idw algorithm with the exponential parameter for the distance weights&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Giovanni Allegri&lt;br /&gt;
&lt;br /&gt;
==== v.surf.krige [deprecated: use v.autokrige instead] ====&lt;br /&gt;
&lt;br /&gt;
: v.surf.krige is a script that do a surface interpolation from vector point data by Kriging method. The interpolated value of a cell is determined by using an omnidirectional variogram model fitted starting from model parameter given by user shown from the experimental semi variogram produced by v.variogram. The script can perform also the Leave-One-out cross validation to test the variogram model &amp;quot;fitted by eye&amp;quot; and an automatic fitted variogram model. The cross validation helps the user to choose the best variogram model to interpolate own data.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Pierluigi De Rosa.&lt;br /&gt;
&lt;br /&gt;
==== v.strahler ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.pois.org/florian/downloads/grass/v.strahler.tgz v.strahler] is a module that calculates the Strahler Order for all lines of a given dendritic network.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Florian Kindl. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.strahler&lt;br /&gt;
&lt;br /&gt;
==== v.swathwidth ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.swathwidth v.swathwidth] creates a vector map representing the sea bottom coverage of a multibeam (swath) sonar survey.&lt;br /&gt;
: ([http://david.p.finlayson.googlepages.com/swathwidth Screenshots])&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' David Finlayson, Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.thickness ====&lt;br /&gt;
&lt;br /&gt;
: [http://marcin.slodkowski.googlepages.com/v.thickness.tgz v.thickness] creates points of thickness vectors from the vectors of strike and dip angles.The v.thickness is GUI GRASS script for v.dip.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Marcin Slodkowski&lt;br /&gt;
&lt;br /&gt;
==== v.trees3d ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/programs/ v.trees3d] is a module for making 3D trees from input vector point file.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== v.trimesh ====&lt;br /&gt;
: [http://www.valledemexico.ambitiouslemon.com/vtrimesh.html v.trimesh] creates a triangular mesh from a vector map using areal constraints for refinement. It uses Jonathan Shewchuk's Triangle library.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jaime Carrera&lt;br /&gt;
&lt;br /&gt;
==== v.what.rast.buffer ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/vector/v.what.rast.buffer v.what.rast.buffer] is a script that calculates univariate statistics of raster map(s) from buffers around vector points. Results are written to a file. Resolution is taken from each input map.&lt;br /&gt;
: ''see also the [http://starspan.casil.ucdavis.edu StarSpan] software&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== v.variogram [deprecated: use v.autokrige instead] ====&lt;br /&gt;
&lt;br /&gt;
: v.variogram is a script that create an omnidirectional experimental semi-variogram. This scripts require R-statistics software installed on your machine. Now the script is updated to run on spgrass6 &amp;gt;= 0.3 and sp &amp;gt;= 0.9 [http://grass.osgeo.org/pipermail/statsgrass/2006-October/000455.html reply].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Ivan Marchesini, Pierluigi De Rosa.&lt;br /&gt;
&lt;br /&gt;
==== AniMove ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.faunalia.it/animov/ AniMove] is software for analysis of animal movement and ranging behaviour using QGIS+GRASS+R.&lt;br /&gt;
&lt;br /&gt;
:'''Authors:''' Support by Faunalia.it&lt;br /&gt;
&lt;br /&gt;
==== Utilities ====&lt;br /&gt;
&lt;br /&gt;
===== Shapemerge =====&lt;br /&gt;
&lt;br /&gt;
: [http://perrygeo.googlecode.com/svn/trunk/gis-bin/shpmerge.sh shpmerge] merges all the shapefiles in the current directory into a single output shapefile&lt;br /&gt;
&lt;br /&gt;
:'''Authors:''' Perrygeo&lt;br /&gt;
&lt;br /&gt;
=== Raster add-ons ===&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
 svn co &amp;lt;nowiki&amp;gt;https://svn.osgeo.org/grass/grass-addons/raster&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== r.bilateral ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/grass/r.bilateral.tgz r.bilateral] Bilateral filter is an edge-preserving filter, which combines domain and range filtering. It is written in C language.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.boxcount ====&lt;br /&gt;
&lt;br /&gt;
: r.boxcount and r.boxcount.sh calculate the fractal dimension for a given map. These are versions for grass6 of [http://www.ucl.ac.uk/~tcrnmar/ Mark Lake's modules] for grass43.&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Mark Lake, grass6 port: Florian Kindl.&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.boxcount/&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.boxcount.sh/&lt;br /&gt;
&lt;br /&gt;
==== r.colors.quantiles ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.colors.quantiles/r.colors.quantiles r.colors.quantiles] is a shell script used to create raster colors rules based on nquantiles. It uses R and spgrass6 package (RGRASS).&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== r.colors.stddev ====&lt;br /&gt;
&lt;br /&gt;
: [http://hamish.bowman.googlepages.com/grass_color_maps r.colors.stddev] ''moved into main archive''&lt;br /&gt;
&lt;br /&gt;
==== r.cpt2grass ====&lt;br /&gt;
&lt;br /&gt;
: [http://hamish.bowman.googlepages.com/grass_color_maps r.cpt2grass] is a GRASS script for importing a [http://www.soest.hawaii.edu/gmt/ GMT] .cpt color table into GRASS. It can save to a text file suitable for r.colors or automatically apply the color table to a raster map.&amp;lt;BR&amp;gt;For a large collection of GMT .cpt files see http://sview01.wiredworkplace.net/pub/cpt-city/&lt;br /&gt;
: Other palette ideas from [http://geography.uoregon.edu/datagraphics/color_scales.htm Univ. Oregon] and [http://oceancolor.gsfc.nasa.gov/PRODUCTS/colorbars.html NASA/Goddard's OceanColor] (latter partially translated for use with GRASS on the [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.colors.tools/palettes grass-addons SVN]).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.csr ====&lt;br /&gt;
&lt;br /&gt;
: [ftp://gsca.nrcan.gc.ca/outgoing/Patton/Grass/Scripts/r.csr.tar.bz2 r.csr] integrates several Grass programs to produce colored, shaded-relief rasters in one step. Accepts single or multiple elevation/bathymetry maps as input; optionally will fill data holidays with 3x3 median filter, multiple times, if required; can apply color maps from a) input raster, b) another raster in MAPSET, or c) from a rules file; otherwise, rainbow colorbar is applied. Output colored, shaded-relief rasters can optionally be exported to tiff format if the appropriate flag is given. Shading parameters can be modified, though useful defaults are given.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Eric Patton&lt;br /&gt;
&lt;br /&gt;
==== r.cva ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.ucl.ac.uk/~tcrnmar/GIS/r.cva.html r.cva] is a cumulative viewshed analysis module. It is an advanced version of the {{cmd|r.los}} program.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' [http://www.ucl.ac.uk/~tcrnmar/ Mark Lake]&lt;br /&gt;
&lt;br /&gt;
==== r.denoise ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.denoise r.denoise] denoises (smooths/despeckles) topographic data, particular DEMs derived from radar data (including SRTM), using Xianfang Sun's [http://www.cs.cf.ac.uk/meshfiltering/index_files/Page342.htm denoising algorithm].  It is designed to preserve sharp edges and to denoise with minimal changes to the original data.  See the [http://personalpages.manchester.ac.uk/staff/john.stevenson/mdenoise/r.denoise.html manual pages] for details.  Further information on Sun's denoising algorithm, including an example, is available [http://personalpages.manchester.ac.uk/staff/john.stevenson/mdenoise here].&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' John Stevenson&lt;br /&gt;
&lt;br /&gt;
==== r.dominant_dir.m and r.calc_terraflow_dir.m ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.terraflow.tools dominant_dir.m and calc_terraflow_dir.m] are two Matlab scripts for determining the dominant flow direction from a r.terraflow MFD map and converting into a GRASS aspect map for use with d.rast.arrow, etc.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.eucdist ====&lt;br /&gt;
&lt;br /&gt;
: [http://david.p.finlayson.googlepages.com/r.eucdist r.eucdist] creates a raster map estimating the euclidean distance from known cells.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' David Finlayson&lt;br /&gt;
&lt;br /&gt;
==== r.fragment ====&lt;br /&gt;
&lt;br /&gt;
: [ftp://gsca.nrcan.gc.ca/outgoing/Patton/Grass/Scripts/r.fragment.tar.bz2 r.fragment] fragments a raster into a user-defined set of smaller tiles according to an input number of rows and columns. &lt;br /&gt;
: '''Author:''' Eric Patton&lt;br /&gt;
&lt;br /&gt;
==== r.game_of_life ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.game_of_life r.game_of_life] is a shell script which runs Conway's classic Game of Life using GRASS raster modules. It is meant to demonstrate how easy it is to program cellular automata in GRASS as well as various 3D raster volume and time series visualization techniques.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.gauss ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.les-ejk.cz/files/programs/grass/r.gauss.tgz r.gauss] is Gaussian and Laplacian of Gaussian filter for GRASS. It is written in C language.&lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.gradgrid4 ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.uibk.ac.at/geographie/personal/mergili/gradgrid4.zip gradgrid4] is a tool for interpolating values of discrete data points to a raster map, applying a local regression approach with a predictor raster. The model is based on shell and python scripts as well as an R batchfile. It was tested on Fedora Core 6 with GRASS 6.2.1 and R 2.5.1, but should work under most UNIX systems. After unzipping the gradgrid4 folder, store it at any place in your local file system. In the subfolder docs you can find a manual and a publication draft with a detailed description of the concept and the example of an application. The subfolder testloc constitutes a GRASS location with test data.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Martin Mergili&lt;br /&gt;
&lt;br /&gt;
==== r.in.onearth ====&lt;br /&gt;
&lt;br /&gt;
: [http://www-pool.math.tu-berlin.de/~soeren/grass/modules/ r.in.onearth] for download and import satellite images direct from the NASA onearth WMS server into GRASS.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Soeren Gebbert&lt;br /&gt;
&lt;br /&gt;
==== r.in.wms (.py) ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/grass/r.in.wms.tgz r.in.wms] for download and import maps direct from  WMS servers into GRASS. This script is written in Python Programming language. Note GRASS 6.2+ provides a shell script version of r.in.wms, take care of which one is actually being run.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.inund.fluv ====&lt;br /&gt;
&lt;br /&gt;
: [https://svn.osgeo.org/grass/grass-addons/raster/r.inund.fluv/ r.inund.fluv]This command allows to obtain a fluvial potentially inundation map given a high-resolution DTM of the area surrounding the river and a water surface profile calculated through an 1-D hydrodinamic model. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Roberto Marzocchi, Bianca Federici, Domenico Sguerso&lt;br /&gt;
&lt;br /&gt;
==== r.isoregions ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.isoregions/r.isoregions r.isoregions] allows isoregions creation from a GRASS raster map. &lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Mathieu Grelier&lt;br /&gt;
&lt;br /&gt;
==== r.interp.mask ====&lt;br /&gt;
&lt;br /&gt;
: [http://david.p.finlayson.googlepages.com/r.interp.mask r.interp.mask] Creates a user-specified buffer around interpolation points that can be used as a MASK to prevent or clip excessive extrapolation artifacts. This works much better than a standard convex hull around the points.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' David Finlayson&lt;br /&gt;
&lt;br /&gt;
==== r.li ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.faunalia.it/download/r_li/ r.li] is a more flexible and faster replacement of the old r.le. '''''Moved into 6.3-SVN'''''.&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Claudio Porta, Davide Spano, Serena Pallecchi, [http://www.faunalia.it Faunalia]&lt;br /&gt;
&lt;br /&gt;
==== r.local_max.pl ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/local_max.pl Local maxima] is a Perl script for &amp;lt;code&amp;gt;r.mapcalc&amp;lt;/code&amp;gt;. It detects local maxima of the image.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.mandelbrot ====&lt;br /&gt;
&lt;br /&gt;
: [http://grasslab.gisix.com/scripts/r.mandelbrot r.mandelbrot] is a shell script to calculate the Mandelbrot set.- for GRASS versions 6.X.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Peter Löwe&lt;br /&gt;
&lt;br /&gt;
==== mcda====&lt;br /&gt;
&lt;br /&gt;
: mcda suite is a toolset for geographics multi-criteria decision aiding and data analysis based on ELECTRE (r.mcda.electre), REGIME (r.mcda.regime) and FUZZY (r.mcda.fuzzy) algorithm. The module r.roughset is also included  for geographics rough set analisys and knowledge discovery based on rough set library. It is written in C language for GRASS versions 6.X.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Gianluca Massei (g_massa@libero.it ) - Antonio Boggia&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/mcda/&lt;br /&gt;
&lt;br /&gt;
==== r.mlv ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/grass/r.mlv.tgz r.mlv] is Mean of least variance filter for GRASS. It is an edge-preserving (or even edge-enhacing) filter, which should serve for removing additive noise from images. It is written in C language.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== r.out.jpeg ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.geospatial.it/allegri/grass/r.out.jpeg_ r.out.jpeg] is a simple GRASS script to export georeferenced JPEG images from rasters, keeping the associated color table. It is a two-step export: first a ppm file is created, then it is converted to jpeg usgin the &amp;quot;convert&amp;quot; command from ImageMagick&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Giovanni Allegri&lt;br /&gt;
&lt;br /&gt;
==== r.out.gmap ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.out.gmap r.out.gmap] outputs GRASS raster map into set of image tiles&lt;br /&gt;
following the tiling scheme of Google Maps and Microsoft Virtual Earth.&lt;br /&gt;
&amp;lt;BR&amp;gt;Read more in the OSGeo Journal [http://www.osgeo.org/journal Volume 5 (2009, to appear)]&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Tomas Cebecauer&lt;br /&gt;
&lt;br /&gt;
==== r.out.gmt ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.out.gmt r.out.gmt] is a GRASS script for exporting a GRASS raster map into a [http://www.soest.hawaii.edu/gmt/ GMT] grid file. It also creates a GMT color table from the data and can generate some GMT commands for plotting a postscript file. (code is experimental, but functional)&amp;lt;BR&amp;gt;see  also http://169.237.35.250/~dylan/grass_user_group/#GMT_and_GRASS-overview&lt;br /&gt;
&lt;br /&gt;
: '''Authors:''' Hamish Bowman, Dylan Beaudette&lt;br /&gt;
&lt;br /&gt;
==== r.out.gmt2 ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.out.gmt2 r.out.gmt2] is a modified version of Hamish's r.out.gmt.  Added options for title, xlabel, ylabel, comment, and map width.  Removed any settings that can be changed by gmtset for more flexibility.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho, Hamish Bowman, Dylan Beaudette&lt;br /&gt;
&lt;br /&gt;
==== r.pack ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.pack r.pack and r.unpack] are two GRASS scripts for transfering raster maps to another computer as a single file.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.roughness ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.roughness/r.roughness.sh r.roughness.sh] is a shell script to calculate the surface roughness of a DEM, using r.surf.area and v.surf.rst. (for GRASS versions 6.1 and above)&lt;br /&gt;
&lt;br /&gt;
[http://www.igc.usp.br/pessoais/guano/downloads/r.roughness60 r.roughness60] - for GRASS versions 6.0.X&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/raster/r.roughness/r.roughness.window.area r.roughness.window.area] - calculate surface roughness as the ratio of real (surface) area and planar area, using a moving-window approach.&lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/raster/r.roughness/r.roughness.window.vector r.roughness.window.vector] - calculate surface roughness as vector dispersion, using a moving-window approach. Resulting maps are: Vector Strength (R) and Inverted Fisher's k parameter. &lt;br /&gt;
&lt;br /&gt;
[http://trac.osgeo.org/grass/browser/grass-addons/raster/r.roughness/r.roughness.window.vector.html r.roughness.window.vector.html] - provisional help page for r.roughness.window.vector.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Carlos Henrique Grohmann&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.roughness/&lt;br /&gt;
&lt;br /&gt;
==== r.roughset ====&lt;br /&gt;
&lt;br /&gt;
: r.roughset is a module for geographics rough set analisys and knowledge discovery based on rough set library. It is written in C language for GRASS versions 6.X.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Gianluca Massei (g_massa@libero.it ) - Antonio Boggia&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/mcda/r.roughset/&lt;br /&gt;
&lt;br /&gt;
==== r.smoothpatch ====&lt;br /&gt;
&lt;br /&gt;
: [http://david.p.finlayson.googlepages.com/r.smoothpatch r.smoothpatch] creates a composite of two rasters using a distance-weighted average across the transition to smooth the edges.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' David Finlayson&lt;br /&gt;
&lt;br /&gt;
==== r.soils.texture ====&lt;br /&gt;
&lt;br /&gt;
: r.soils.texture is a module to define soils texture from sand and clay raster file with a schema text file (now FAO,USDA and ISSS are available). It is written in C language. - for GRASS versions 6.x - For bugs and suggest: g_massa@libero.it &lt;br /&gt;
&lt;br /&gt;
:'''Author:''' Gianluca Massei&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.soils.texture/&lt;br /&gt;
&lt;br /&gt;
==== r.surf.nnbathy ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.sieczka.org/programy_en.html r.surf.nnbathy] interpolates a surface from a raster input using Pavel Sakov's [http://www.sieczka.org/prog/grass/nn-v.1.80.tar.gz nn] natural neighbor interpolation library. Provides triangulation, Sibson natural neighbor interpolation and non-Sibsonian interpolation.&lt;br /&gt;
: See the [http://code.google.com/p/nn-c/ NN project page] at Google Code.&lt;br /&gt;
&amp;lt;!-- original nn site is gone: http://web.archive.org/web/20071009145622/http://www.marine.csiro.au/~sakov/&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Maciej Sieczka&lt;br /&gt;
&lt;br /&gt;
==== r.surf.volcano ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.surf.volcano r.surf.volcano] creates an artificial surface resembling a seamount or cone volcano. The user can alter the size and shape of the mountain and optionally roughen its surface. Available decay functions are  polynomial, Gaussian, Lorentzian, logarithmic, and exponential.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== r.terracost ====&lt;br /&gt;
&lt;br /&gt;
[http://www.bowdoin.edu/~ltoma/research.html r.terracost] Scalable approach for computing least-cost-path surfaces on massive grid terrains.&amp;lt;BR&amp;gt;'''Lead author''': Laura Toma&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
  svn co https://svn.osgeo.org/grass/grass-addons/raster/r.terracost&lt;br /&gt;
&lt;br /&gt;
==== r.tileset ====&lt;br /&gt;
&lt;br /&gt;
: ''{{cmd|r.tileset}} moved into main archive''&lt;br /&gt;
&lt;br /&gt;
==== r.traveltime ====&lt;br /&gt;
&lt;br /&gt;
: [http://jesbergwetter.twoday.net/stories/4845555/ r.traveltime] computes the travel time of surface runoff to an outlet. The program starts at the basin outlet and calculates the travel time at each raster cell recursively. A drainage area related threhold considers even  surface and also channel runoff. Travel times are derived by assuming kinematic wave approximation. The results can be used to derive a time-area function. This might be usefull for precipitation-runoff calculations (estimation of flood predictions) with a lumped hydrologic model (user-specified unit hydrograph).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Kristian Förster&lt;br /&gt;
&lt;br /&gt;
==== r.univar.zonal ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.univar2.zonal r.univar.zonal] is similar to r.univar, but calculates statistics separately for each category(zone) present in the separate input map used to define zones (zonal statistics). The output can be like the one of r.univar or in easier to read table format and can be written to a file.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Metz&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.univar2.zonal&lt;br /&gt;
&lt;br /&gt;
==== r.viewshed ====&lt;br /&gt;
&lt;br /&gt;
: r.viewshed is a module for extremely fast line of sight analysis (replaces the slow r.los). It is written in C language for GRASS versions 6.X/7.x.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Laura Toma, USA&lt;br /&gt;
&lt;br /&gt;
Available via SVN:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/raster/r.viewshed&lt;br /&gt;
&lt;br /&gt;
Once {{trac|390}} is solved, it will substitute r.los.&lt;br /&gt;
&lt;br /&gt;
==== r.zc.pl ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/files/programs/zc.pl Zero crossing] is a simple Perl script, finds the ,,zero crossings`` from the Laplacian of Gaussian filter (see above). It is really &amp;lt;em&amp;gt;very&amp;lt;/em&amp;gt; simple, the edges don't need to be really on that pixel, where they are detected, no interpolation is performed.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== GIPE ====&lt;br /&gt;
&lt;br /&gt;
: The GRASS Image Processing Environment (GIPE) has USLE, Energy-balance and radiance-reflectance correction models.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Yann Chemin (unless specified otherwise).&lt;br /&gt;
   &lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/gipe&lt;br /&gt;
&lt;br /&gt;
Remark: This is progressively moved to main GRASS SVN (aka GRASS 7)&lt;br /&gt;
&lt;br /&gt;
:* r.hydro.CASC2D, ported from GRASS 5.x version, is temporarily here waiting to return to main GRASS.&lt;br /&gt;
&lt;br /&gt;
:* r.soiltex2prop creates porosity, Saturated Hydraulic conductivity (Ksat) and wetting front pressure head (Hf) from percentage of sand and clay after Rawls et al., 1990. This is a must for r.hydro.CASC2D.&lt;br /&gt;
&lt;br /&gt;
:* i.biomass creates biomass growth map from fPAR, lightuse efficiency, water availability (or evap.fraction), Lat, doy and tsw.&lt;br /&gt;
&lt;br /&gt;
:* i.dn2ref.l7, r.dn2ref.ast create top of atmosphere reflectance for Landsat 7ETM+ and ASTER. These modules also have a flag for radiance output. Updated i.dn2ref.l7 to read .met calibration file.  &lt;br /&gt;
&lt;br /&gt;
:* i.dn2full.l[5,7] is an attempt to get all bands of Landsat[5,7] calibrated and corrected to either reflectance or temperature, reads only the .met file.  &lt;br /&gt;
&lt;br /&gt;
:* i.dn2potrad.l[5,7] is an attempt to get ET potential from DN of Landsat 7 (Careful! No Atmospheric correction!).  &lt;br /&gt;
&lt;br /&gt;
:* i.eb.* are a set of 10+ GRASS modules that together perform the main functions of  the SEBAL model (Bastiaanssen, 1995). Those functions include (but are not limited to) Soil heat flux, sensible heat flux, net radiation, evaporative fraction at satellite overpass, diurnal actual evapotranspiration, momentum roughness length, etc. These  modules are also part of any Energy-Balance related processing. &lt;br /&gt;
&lt;br /&gt;
:* i.evapo.potrad creates diurnal Potential evapotranspiration assuming all net radiation becomes ET, according to SEBAL model (Bastiaanssen, 1995). This module also has a flag for diurnal net radiation as required by SEBAL in i.eb.eta. &lt;br /&gt;
&lt;br /&gt;
:* i.evapo.SENAY creates actual evapotranspiration following the regional method of Senay (2007). &lt;br /&gt;
&lt;br /&gt;
:* i.lmf creates a Local Maximum Fitting on the temporal dimension of the multi-date input dataset, working, but more precision still to be added.&lt;br /&gt;
&lt;br /&gt;
:* i.vi.mpi is the mpi version of i.vi for cluster GRASS GIS education (no speed up here!) '''Author:''' Shamim Akhter &lt;br /&gt;
&lt;br /&gt;
:* i.modis.stateqa extracts State Quality Assessment information from Modis 500m (MOD09A) products.&lt;br /&gt;
&lt;br /&gt;
:* i.water creates a Water Mask from NDVI and Albedo, or specifically for Modis: NDVI and Band 7.&lt;br /&gt;
&lt;br /&gt;
:* i.wi creates a given Water Index (only one so far).&lt;br /&gt;
&lt;br /&gt;
==== HydroFOSS ====&lt;br /&gt;
&lt;br /&gt;
: HydroFOSS - a GIS embedded approach for Free &amp;amp; Open Source Hydrological modeling.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Massimiliano Cannata&lt;br /&gt;
 &lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/HydroFOSS/&lt;br /&gt;
&lt;br /&gt;
==== Hikereport ====&lt;br /&gt;
&lt;br /&gt;
: python script that computes length, cumulative uphill and downhill, average slopes on an interactively drawn path. Based on r.profile's output.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Stefano Negri&lt;br /&gt;
&lt;br /&gt;
 http://tracce.wordpress.com/?attachment_id=71&lt;br /&gt;
&lt;br /&gt;
=== Misc add-ons===&lt;br /&gt;
&lt;br /&gt;
==== m.eigensystem ====&lt;br /&gt;
&lt;br /&gt;
m.eigensystem - Computes eigen values and eigen vectors for square matrices.&lt;br /&gt;
&lt;br /&gt;
: http://svn.osgeo.org/grass/grass-addons/misc/m.eigensystem/&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Michael Shapiro&lt;br /&gt;
&lt;br /&gt;
===Database add-ons===&lt;br /&gt;
==== db.join ====&lt;br /&gt;
&lt;br /&gt;
: Table joining: join one table into another through common attributes&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Neteler. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
   svn co https://svn.osgeo.org/grass/grass-addons/database/db.join/&lt;br /&gt;
or&lt;br /&gt;
   g.extension db.join&lt;br /&gt;
&lt;br /&gt;
===General add-ons===&lt;br /&gt;
&lt;br /&gt;
==== g.laptop.sh ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.nature-consult.de/dassau/g.laptop/g.laptop.sh g.laptop.sh] is an interactive shell script to extract raster and vector data from current Location into a new one. Data can be copied or extracted in current or original resolution and region extend. This script was written to extract smaller parts of a GRASS location to be able to present them on a laptop without the necessity to transfer huge data. Maps do not have to be in the same mapset.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Otto Dassau &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Readline completion ====&lt;br /&gt;
&lt;br /&gt;
: '''''Readline completion''''' for GRASS commands under the bash shell: [http://www.sorokine.info/grass-complete/ grass-complete] won't clutter the environment but needs to be installed; [http://dcalvelo.free.fr/grass/grass_rlcompleter.sh grass_rlcompleter.sh] needs almost no installation but will pollute the environment. Grass-Complete currently requires Bash version 2.05 for proper install.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Alexandre Sorokine (grass-complete), Daniel Calvelo (grass_rlcompleter.sh)&lt;br /&gt;
&lt;br /&gt;
==== g.region.point ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/general/g.region.point g.region.point] is a shell script which resets the computational region to a square box around a given coordinate. It is intended for use within GRASS scripts to speed up processing by limiting expensive raster calculations to a small area of interest.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== g.linke_by_day ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/raster/r.sun.tools/ g.linke_by_day] is a python script for [[r.sun]] which interpolates a Linke turbidity value for a given day of the year based on monthly values edited into the script.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== g.xlist ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/general/g.xlist g.xlist] is a C implementation of g.mlist. g.xlist searches for data files matching a pattern given by wildcards or POSIX Extended Regular Expressions. POSIX regex(3) functions are required.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho&lt;br /&gt;
&lt;br /&gt;
==== g.xremove ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/general/g.xremove g.xremove] is a C implementation of g.mremove. g.xremove removes data files matching a pattern given by wildcards or POSIX Extended Regular Expressions. POSIX regex(3) functions are required.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho&lt;br /&gt;
&lt;br /&gt;
=== Imagery add-ons ===&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/imagery&lt;br /&gt;
&lt;br /&gt;
==== GIPE ====&lt;br /&gt;
&lt;br /&gt;
GIPE (see also above in raster section) provides:&lt;br /&gt;
i.biomass, i.dn2potrad.l5, i.dn2potrad.l7, i.dn2ref.ast, i.eb.deltat, i.eb.disp, i.eb.eta, i.eb.evapfr, i.eb.g0, i.eb.h0, i.eb.h_SEBAL01, i.eb.h_SEBAL95, i.eb.h_iter, i.eb.molength, i.eb.netrad, i.eb.psi, i.eb.rah, i.eb.rohair, i.eb.ublend, i.eb.ustar, i.eb.wetdrypix, i.eb.z0m, i.eb.z0m0, i.evapo.PT, i.evapo.TSA, i.evapo.potrad, i.evapo.senay, i.evapo.time_integration, i.lmf, i.modis.stateqa, i.sattime, i.vi.grid, i.vi.mpi, i.water, i.wi&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/gipe/&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Yann Chemin&lt;br /&gt;
&lt;br /&gt;
==== i.landsat.toar ====&lt;br /&gt;
&lt;br /&gt;
Transform calibrated digital number of Landsat products to top-of-atmosphere radiance or top-of-atmosphere reflectance and temperature (band 6 of the sensors TM and ETM+). Optionally, used to calculate the at-surface radiance or reflectance with atmospheric correction (DOS method).&lt;br /&gt;
&lt;br /&gt;
svn co https://svn.osgeo.org/grass/grass-addons/imagery/i.landsat.toar&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' E. Jorge Tizado&lt;br /&gt;
&lt;br /&gt;
==== i.points.reproj ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/imagery/i.points.reproj i.points.reproj] is a shell script that will use cs2cs to reproject the target coordinates of a group's POINTS file. By running i.rectify directly to the new target projection, a generation of resampling data loss can be avoided (versus i.rectify + r.proj). On the other hand, i.rectify does not calculate cell resolution well if the map is to be rotated ([http://intevation.de/rt/webrt?serial_num=3296 bug #3296]), in those cases i.rectify+r.proj may be the better option.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== i.pr ====&lt;br /&gt;
&lt;br /&gt;
: Image classification: implements k-NN (multiclass), classification trees (multiclass), maximum likelihood (multiclass), Support Vector Machines (binary), bagging versions of all the base classifiers, AdaBoost for binary trees and support vector machines. It allows feature manipulation (normalization, principal components,...). It also implements feature selection techniques (RFE, E-RFE,...), statistical tests on variables, tools for resampling (cross-validation and bootstrap) and cost-sensitive techniques for trees and support vector machines.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Stefano Merler. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
   svn co https://svn.osgeo.org/grass/grass-addons/imagery/i.pr&lt;br /&gt;
&lt;br /&gt;
==== i.spec.sam ====&lt;br /&gt;
&lt;br /&gt;
: Spectral Angle mapping&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Neteler. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
   svn co https://svn.osgeo.org/grass/grass-addons/imagery/i.spec.sam/&lt;br /&gt;
&lt;br /&gt;
==== i.spec.unmix ====&lt;br /&gt;
&lt;br /&gt;
: Spectral unmixing&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Markus Neteler. Available via SVN:&lt;br /&gt;
&lt;br /&gt;
   svn co https://svn.osgeo.org/grass/grass-addons/imagery/i.spec.unmix/&lt;br /&gt;
&lt;br /&gt;
==== i.warp ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/imagery/i.warp i.warp] is a shell script that will use gdalwarp to rectify a raw input image using thin plate splines. The map should be imported into GRASS with r.in.gdal and GCPs set with i.points. Input is the raw image (GeoTIFF, JPEG, etc). Output is a GeoTIFF in the imagery group's target location's map projection. Requires a recent (early 2006) version of GRASS 6.1, or newer.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
=== Display add-ons ===&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/display&lt;br /&gt;
&lt;br /&gt;
==== d.edit.rast ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.edit.rast d.edit.rast] edits cells in an existing raster map displayed on the current monitor.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Huidae Cho&lt;br /&gt;
&lt;br /&gt;
==== d.frame.quarter ====&lt;br /&gt;
&lt;br /&gt;
: ('''obsolete''') [http://trac.osgeo.org/grass/browser/grass-addons/display/d.frame.split d.frame.quarter] is a shell script that will split the display into four quadrants (or sixths) using ''d.frame''. Individual frames are named ''uno, dos, tres, cuatro'', and ''full_screen''.&lt;br /&gt;
: Replaced by {{cmd|d.split.frame}} in main.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== d.frame.split ====&lt;br /&gt;
&lt;br /&gt;
: ''d.frame.split moved into main archive as {{cmd|d.split.frame}}''&lt;br /&gt;
&lt;br /&gt;
==== d.hyperlink ====&lt;br /&gt;
&lt;br /&gt;
: [ftp://gsca.nrcan.gc.ca/outgoing/Patton/Grass/Scripts/d.hyperlink.tar.bz2 d.hyperlink] is an interactive shell script that allows the viewing of hyperlinked images from a vector's attribute table in an external image viewer. Queries can be made via SQL statements or interactive mouse-clicking. The attribute table must be pre-populated with a column containing the image to link the vector to; the user also specifies the image folder in the current MAPSET where the images are located. The script currently supports gimp, Eye of Gnome, gthumb, gpdf, and Inkscape image viewers.&lt;br /&gt;
&lt;br /&gt;
: '''Author: '''Eric Patton&lt;br /&gt;
&lt;br /&gt;
==== d.mark ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.shortcuts d.mark] is a shell script that quickly displays a marker on the display at a given coordinate.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman &lt;br /&gt;
&lt;br /&gt;
==== d.region.box ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.region.box d.region.box] is a shell script that quickly displays a box around the current region.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== d.stations ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.shortcuts   d.stations] is a shell script that quickly displays vector points (or sites for GRASS 5.4 and below).&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman &lt;br /&gt;
&lt;br /&gt;
==== d.varea ====&lt;br /&gt;
&lt;br /&gt;
: [http://trac.osgeo.org/grass/browser/grass-addons/display/d.shortcuts d.varea] is a shell script that quickly displays vector areas.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Hamish Bowman&lt;br /&gt;
&lt;br /&gt;
==== pd-GRASS ====&lt;br /&gt;
&lt;br /&gt;
: [http://www.ornl.gov/sci/gist/software/grass/ pd-GRASS]: Parallel Display for GRASS GIS&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Alex Sorokine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== [[IconSymbols]] ====&lt;br /&gt;
&lt;br /&gt;
* [[IconSymbols|Symbols]] which can be used with ''d.vect, d.graph'', and ''ps.map''.&lt;br /&gt;
&lt;br /&gt;
=== Postscript add-ons ===&lt;br /&gt;
&lt;br /&gt;
''See also [[ps.map scripts|ps.map samples and templates]]''.&lt;br /&gt;
&lt;br /&gt;
==== ps.atlas ====&lt;br /&gt;
&lt;br /&gt;
: [http://les-ejk.cz/programs/grass/ps.atlas ps.atlas] is a shell script that makes more maps on current region according to input *.psmap file. General map can be stored as vector file. The resulting *.eps maps can be automatically converted to *.pdf files.&lt;br /&gt;
&lt;br /&gt;
: '''Author:''' Jachym Cepicky&lt;br /&gt;
&lt;br /&gt;
==== [[AreaFillPatterns]] ====&lt;br /&gt;
&lt;br /&gt;
* Hatches for ps.map's vareas&lt;br /&gt;
&lt;br /&gt;
===GRASS and UMN Mapserver===&lt;br /&gt;
&lt;br /&gt;
* [http://www.mail-archive.com/mapserver-users@lists.umn.edu/msg00086.html See interesting posting]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Documentation]]&lt;br /&gt;
[[Category:Installation]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=How_to_interpolate_point_value_using_kriging_method_with_R_and_GRASS_6&amp;diff=9421</id>
		<title>How to interpolate point value using kriging method with R and GRASS 6</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=How_to_interpolate_point_value_using_kriging_method_with_R_and_GRASS_6&amp;diff=9421"/>
		<updated>2009-08-25T18:19:50Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: typo, will upgrade the section below asap&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== ORDINARY KRIGING IN R WITH GRASS6 DATA ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 -- New development mid-2009:&lt;br /&gt;
* GRASS's [[Kriging]] wiki page&lt;br /&gt;
* [[v.krige_GSoC_2009]] wxGUI Kriging project by Anne Ghisla&lt;br /&gt;
** Anne's {{addonCmd|v.krige}} module&lt;br /&gt;
* {{addonCmd|v.autokrige}} module by Mathieu Grelier&lt;br /&gt;
 --&lt;br /&gt;
&lt;br /&gt;
('''WARNING!!''' Most of the code quoted here is very out of date, and simply does not work for current R/sp/gstat/spgrass6. Untried suggestions have been edited in, but without a test location, there is no guarantee that they will work! Roger Bivand, 5 April 2007)&lt;br /&gt;
&lt;br /&gt;
Of all the methods we tried this is the most easy and (I suppose) exact too:&lt;br /&gt;
&lt;br /&gt;
You have to have in your library the packages &amp;quot;gstat&amp;quot; and &amp;quot;spgrass6&amp;quot;, you can download this last one directly from R using the command &amp;quot;install.packages&amp;quot;.&lt;br /&gt;
In GRASS we have a vector file named &amp;quot;giaciture_cat_clean3&amp;quot; and we want to do a prediction on this data...&lt;br /&gt;
these are the commmands:&lt;br /&gt;
&lt;br /&gt;
enter R from the GRASS prompt, and type:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
library(spgrass6) &lt;br /&gt;
&lt;br /&gt;
#get vector points as SpatialPointsDataFrame &lt;br /&gt;
#giaciture &amp;lt;- getSites6sp(&amp;quot;giaciture_cat_clean3&amp;quot;) RSB 070405&lt;br /&gt;
&lt;br /&gt;
giaciture &amp;lt;- readVECT6(&amp;quot;giaciture_cat_clean3&amp;quot;) # RSB 070405&lt;br /&gt;
&lt;br /&gt;
class(giaciture) #shows the class of &amp;quot;giaciture&amp;quot; (SpatialPointsDataFrame)&lt;br /&gt;
 &lt;br /&gt;
# G &amp;lt;- gmeta6() #get region from GRASS to R  RSB 070405&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
now if you want you can continue to work in R from GRASS or not...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#create a grid from the region settings of GRASS, it is very important&lt;br /&gt;
# to have square cells, so you can set the region settings of GRASS or&lt;br /&gt;
# you can give directly square dimensions using the values:  &lt;br /&gt;
# e.g.&amp;quot;cells.dim=c(50,50)&amp;quot;&lt;br /&gt;
#grd &amp;lt;- GridTopology(cellcentre.offset=c(G$west+(G$ewres/2)&lt;br /&gt;
#                    ,G$south+(G$nsres/2))&lt;br /&gt;
#                    ,cellsize=c(G$ewres, G$nsres)&lt;br /&gt;
#                    ,cells.dim=c(G$cols, G$rows)) RSB 070405&lt;br /&gt;
&lt;br /&gt;
grd &amp;lt;- gmeta2grd() # RSB 070405&lt;br /&gt;
&lt;br /&gt;
#create a SpatialGridDataFrame&lt;br /&gt;
mask_SG &amp;lt;- SpatialGridDataFrame(grd,&lt;br /&gt;
#                                ,data=list(k=rep(1, G$cols*G$rows)) RSB 070405&lt;br /&gt;
     data=data.frame(k=rep(1, prod(slot(grd, &amp;quot;cells.dim&amp;quot;)))), # RSB 070405&lt;br /&gt;
     proj4string=CRS(proj4string(giaciture))) # RSB 070405&lt;br /&gt;
# proj4string(giaciture) and proj4string(mask_SG) must agree&lt;br /&gt;
class(mask_SG)&lt;br /&gt;
&lt;br /&gt;
library(gstat)&lt;br /&gt;
&lt;br /&gt;
cvgm &amp;lt;- variogram(IMMERSIONE~1, data=giaciture, width=400, cutoff=4000) # RSB 070405&lt;br /&gt;
#create variogram, and &amp;quot;IMMERSIONE&amp;quot; &lt;br /&gt;
#here is the our variable, the variable on wich we have to do the prediction,&lt;br /&gt;
# ~ 1 select the type of kriging, this is the ordinary one&lt;br /&gt;
&lt;br /&gt;
efitted &amp;lt;- fit.variogram(cvgm, vgm(psill=5000, model=&amp;quot;Exp&amp;quot;, range=1500, nugget=8000))&lt;br /&gt;
# choose the model to fit variogram (here is exponential) and give the&lt;br /&gt;
# estimated parameters of the variogram (partial sill, range and nugget)&lt;br /&gt;
&lt;br /&gt;
OK_pred &amp;lt;- krige(IMMERSIONE~1, data=giaciture, newdata=mask_SG, model=efitted) # RSB 070405&lt;br /&gt;
# make the kriging prediction&lt;br /&gt;
&lt;br /&gt;
names(OK_pred) #show the name of variable kriged&lt;br /&gt;
&lt;br /&gt;
writeRAST6(OK_pred, &amp;quot;OK_pred&amp;quot;, zcol=&amp;quot;var1.pred&amp;quot;) # RSB 070405&lt;br /&gt;
#write a raster file and save it in GRASS, now you can open it from there.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
that's all! &lt;br /&gt;
&lt;br /&gt;
special thanks to Roger Bivand, ever ready to lend a hand!&lt;br /&gt;
&lt;br /&gt;
=== More Help ===&lt;br /&gt;
&lt;br /&gt;
* A [http://casoilresource.lawr.ucdavis.edu/drupal/node/438 nice working example] for recent versions of R/sp/gstat/spgrass6.&lt;br /&gt;
* [[Kriging]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Schermata-Kriging_Module.png&amp;diff=9412</id>
		<title>File:Schermata-Kriging Module.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Schermata-Kriging_Module.png&amp;diff=9412"/>
		<updated>2009-08-25T07:18:44Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: uploaded a new version of &amp;quot;File:Schermata-Kriging Module.png&amp;quot;:&amp;amp;#32;with variogram plot - wOOt!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;draft interface for v.autokrige2.py addon&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=Kriging&amp;diff=9350</id>
		<title>Kriging</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=Kriging&amp;diff=9350"/>
		<updated>2009-08-15T19:24:35Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Kriging collection */  updated link, even if redirection pointed to the right page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;GRASS and kriging&lt;br /&gt;
&lt;br /&gt;
== Kriging collection ==&lt;br /&gt;
&lt;br /&gt;
* [[How to interpolate point value using kriging method with R and GRASS 6]]&lt;br /&gt;
* [[V.krige GSoC 2009]]&lt;br /&gt;
* [http://www.gstat.org gstat] - gstat is a powerful tool for geostatistical analysis including various kriging techniques (and offers direct support for GRASS vector points)&lt;br /&gt;
* [http://cran.at.r-project.org/web/views/Spatial.html Analysis of Spatial Data in R] - The R Project for Statistical Computing is a rich statistical framework with numerous geospatial extentions including kriging and a gstat extention (and offers direct support for GRASS data via the &amp;quot;[http://grass.osgeo.org/statsgrass/grass6_r_install.html spgrass6]&amp;quot; class)&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Bezzi M. &amp;amp; Vitti A., 2005: A comparison of some kriging interpolation methods for the production of solar radiation maps. [http://geomatica.como.polimi.it/workbooks/n5/list.php Geomatics workbooks 5] ([http://geomatica.como.polimi.it/workbooks/n5/full.php PDF], requires free registration)&lt;br /&gt;
* Bivand, R. 2007. Using the R-GRASS interface. OSGeo Journal 1, 36-38 ([http://www.osgeo.org/files/journal/final_pdfs/OSGeo_vol1_GRASS-R.pdf PDF])&lt;br /&gt;
&lt;br /&gt;
[[Category:Documentation]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9349</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9349"/>
		<updated>2009-08-15T19:22:24Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: removed reports from TOC - added a todo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''Interactive variogram fit is available! (r38714 or higher)''' In gstat tab, the button labeled &amp;quot;Plot/refresh variogram&amp;quot; calls up a R graphics window with the data variogram and the fitted curve. Play with options to obtain the best fit, refresh plot, and when the model fits the data, run kriging!&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]]. It is easier to install it via [http://grass.osgeo.org/grass65/manuals/html65_user/g.extension.html g.extension] (for GRASS 6.4 it is an AddOn, from 6.5+/7 onwards included). Simply type in a GRASS shell:&lt;br /&gt;
&lt;br /&gt;
 g.extension v.krige&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** wxGUI: Split widget creation and layout - makes more readable code&lt;br /&gt;
** Solve '''double parsing issue from RunCmd.''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions''' - universal kriging first.&lt;br /&gt;
** Add '''region resolution parameter in interface''', showing the current value and allowing the user to modify it before kriging. High resolution slows down computation and give better results, but the user should have a clear feedback (I have been surprised by long runs more than once, because I was not aware of resolution).&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** No more!!&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
** The RBookPage::refresh() function has an endless cycle that keeps R graphics window responsive, even when that window has been closed by the user.&lt;br /&gt;
** spgrass6::readVECT6() and mapset name - see [http://lists.osgeo.org/pipermail/grass-stats/2009-August/001126.html this thread].&lt;br /&gt;
&lt;br /&gt;
* '''FUTURE PLANS'''&lt;br /&gt;
** Keep on working on v.krige after SoC, in particular integrate it into GRASS trunk - not before November nor before some more reliability improvements.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Notes on v.krige usage, examples and tips are available in the module's help page, available via Help button if the GUI.&lt;br /&gt;
&lt;br /&gt;
Kriging theory is available in Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft and definitive:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
'''Report #1, 29 May'''&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
'''Report #2, 5 June'''&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
'''Report #2.5, 11 June'''&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
'''Report #3, 12 June'''&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email (Report 2.5, see above) and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
'''Report #4, 19 June'''&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
'''Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event])'''&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
'''Report #6, 3 July'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #7, midterm, 10 July'''&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
'''Report #8, 17 July'''&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
'''Report #9, 24 July'''&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
'''Report #10, 31 July'''&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #11, 7 August'''&lt;br /&gt;
&lt;br /&gt;
this week I worked on error handling by GUI, adding controls on input data and parameters and hiding Run and Plot buttons unless all options are suitable.&lt;br /&gt;
Variogram plotting is on its way - I discarded matplotlib to avoid further dependencies, in favour of wx.lib.plot.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Report #12, 14 August'''&lt;br /&gt;
&lt;br /&gt;
this is last SoC report - bringing variogram plotting into v.krige! After a long time searching for the lightest and cleanest implementation, R plotting raised as the best solution. On user demand, a R graphics window plots variogram and refreshes it, without interfering with wxGUI. &lt;br /&gt;
Documentation includes a full example using Spearfish dataset and all informations about dependencies.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have helped me writing v.krige: GRASS and R developers, OSGeo SoC crew, wise friends, all testers.&lt;br /&gt;
I hope this module will attract people towards GRASS and R, and provide a valid alternative to closed-source kriging tools.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9347</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9347"/>
		<updated>2009-08-15T10:13:22Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: final update - plans for future develpment&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''Interactive variogram fit is available! (r38714 or higher)''' In gstat tab, the button labeled &amp;quot;Plot/refresh variogram&amp;quot; calls up a R graphics window with the data variogram and the fitted curve. Play with options to obtain the best fit, refresh plot, and when the model fits the data, run kriging!&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]]. It is easier to install it via [http://grass.osgeo.org/grass65/manuals/html65_user/g.extension.html g.extension] (for GRASS 6.4 it is an AddOn, from 6.5+/7 onwards included). Simply type in a GRASS shell:&lt;br /&gt;
&lt;br /&gt;
 g.extension v.krige&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** Split widget creation and layout - makes more readable code&lt;br /&gt;
** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Solve '''double parsing issue!!''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions''' - universal kriging first.&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** No more!!&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
** The RBookPage::refresh() function has an endless cycle that keeps R graphics window responsive, even when that window has been closed by the user.&lt;br /&gt;
** spgrass6::readVECT6() and mapset name - see [http://lists.osgeo.org/pipermail/grass-stats/2009-August/001126.html this thread].&lt;br /&gt;
&lt;br /&gt;
* '''FUTURE PLANS'''&lt;br /&gt;
** Keep on working on v.krige after SoC, in particular integrate it into trunk - not before November nor before some more reliability improvements.&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft and definitive:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #8, 17 July ===&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
=== Report #9, 24 July ===&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
=== Report #10, 31 July ===&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
=== Report #11, 7 August ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on error handling by GUI, adding controls on input data and parameters and hiding Run and Plot buttons unless all options are suitable.&lt;br /&gt;
Variogram plotting is on its way - I discarded matplotlib to avoid further dependencies, in favour of wx.lib.plot.&lt;br /&gt;
&lt;br /&gt;
=== Report #12, 14 August ===&lt;br /&gt;
&lt;br /&gt;
this is last SoC report - bringing variogram plotting into v.krige! After a long time searching for the lightest and cleanest implementation, R plotting raised as the best solution. On user demand, a R graphics window plots variogram and refreshes it, without interfering with wxGUI. &lt;br /&gt;
Documentation includes a full example using Spearfish dataset and all informations about dependencies.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have helped me writing v.krige: GRASS and R developers, OSGeo SoC crew, wise friends, all testers.&lt;br /&gt;
I hope this module will attract people towards GRASS and R, and provide a valid alternative to closed-source kriging tools.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9344</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9344"/>
		<updated>2009-08-14T13:32:22Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: endo of summer of code!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''Interactive variogram fit is available! (r38714 or higher)''' In gstat tab, a button labeled &amp;quot;Plot/refresh variogram&amp;quot; calls up a R graphics window with the data variogram and the fitted curve. Play with options to obtain the best fit, and then run kriging!&lt;br /&gt;
&lt;br /&gt;
Pick v.krige with g.extension, just writing in a grass shell:&lt;br /&gt;
&lt;br /&gt;
 g.extension v.krige&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]]. It is easier to install it via g.extension, available too as an AddOn.&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Solve '''double parsing issue!!''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** No more!!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft and definitive:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #8, 17 July ===&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
=== Report #9, 24 July ===&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
=== Report #10, 31 July ===&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
=== Report #11, 7 August ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on error handling by GUI, adding controls on input data and parameters and hiding Run and Plot buttons unless all options are suitable.&lt;br /&gt;
Variogram plotting is on its way - I discarded matplotlib to avoid further dependencies, in favour of wx.lib.plot.&lt;br /&gt;
&lt;br /&gt;
=== Report #12, 14 August ===&lt;br /&gt;
&lt;br /&gt;
this is last SoC report - bringing variogram plotting into v.krige! After a long time searching for the lightest and cleanest implementation, R plotting raised as the best solution. On user demand, a R graphics window plots variogram and refreshes it, without interfering with wxGUI. &lt;br /&gt;
Documentation includes a full example using Spearfish dataset and all informations about dependencies.&lt;br /&gt;
&lt;br /&gt;
Many thanks to all who have helped me writing v.krige: GRASS and R developers, OSGeo SoC crew, wise friends, all testers.&lt;br /&gt;
I hope this module will attract people towards GRASS and R, and provide a valid alternative to closed-source kriging tools.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Schermata-Kriging_Module.png&amp;diff=9326</id>
		<title>File:Schermata-Kriging Module.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Schermata-Kriging_Module.png&amp;diff=9326"/>
		<updated>2009-08-11T13:36:35Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: uploaded a new version of &amp;quot;File:Schermata-Kriging Module.png&amp;quot;:&amp;amp;#32;added help button, variance raster output, handling of gui&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;draft interface for v.autokrige2.py addon&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9325</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9325"/>
		<updated>2009-08-11T13:25:49Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: updates - see svn log!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
'''Ordinary and block kriging are available both from GUI and CLI!'''&lt;br /&gt;
&lt;br /&gt;
Part of the options are available for gstat, anyway is it a great goal to see that the whole process ends in writing a GRASS raster map with the result. Note also that the module suggests a filename based on the input data map name. One step further towards the One-Click Interface.&lt;br /&gt;
&lt;br /&gt;
Have a look at it from svn:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige v.krige&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]]. It is easier to install it via g.extension, available too as an AddOn.&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Solve '''double parsing issue!!''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
** '''Variogram fit''': in a separated window, with allowed interactive model fit, using Python plot libraries zB mapplotlib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' will be implemented, but activated only if maps are more than a threshold number [Markus Neteler's suggestion]&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** Plotting is taking more time than I imagined.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #8, 17 July ===&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
=== Report #9, 24 July ===&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
=== Report #10, 31 July ===&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9293</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9293"/>
		<updated>2009-07-31T15:43:54Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: added report #10&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
''' Breaking news: Ordinary and block kriging are available both from GUI and CLI!'''&lt;br /&gt;
&lt;br /&gt;
Part of the options are available for gstat, anyway is it a great goal to see that the whole process ends in writing a GRASS raster map with the result. Note also that the module suggests a filename based on the input data map name. One step further towards the One-Click Interface.&lt;br /&gt;
&lt;br /&gt;
Have a look at it from svn:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige v.krige&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]].&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Solve '''double parsing issue!!''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
** '''Variogram fit''': in a separated window, with allowed interactive model fit, using Python plot libraries zB mapplotlib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' - does not seem necessary. Time to load is not huge.&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** None ATM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #8, 17 July ===&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
=== Report #9, 24 July ===&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
=== Report #10, 31 July ===&lt;br /&gt;
&lt;br /&gt;
good news from v.krige:&lt;br /&gt;
* fixed optional parameters also in interface - activated by a checkbox, otherwise R's NA value is correctly set&lt;br /&gt;
* interactive variogram fit is on its way - stay tuned!&lt;br /&gt;
&lt;br /&gt;
Next week I plan to set up interactive variogram using matplotlib functions and get the stabler code possible for feature freeze.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9290</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9290"/>
		<updated>2009-07-31T09:42:10Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
''' Breaking news: Ordinary and block kriging are available both from GUI and CLI!'''&lt;br /&gt;
&lt;br /&gt;
Part of the options are available for gstat, anyway is it a great goal to see that the whole process ends in writing a GRASS raster map with the result. Note also that the module suggests a filename based on the input data map name. One step further towards the One-Click Interface.&lt;br /&gt;
&lt;br /&gt;
Have a look at it from svn:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige v.krige&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]].&lt;br /&gt;
&lt;br /&gt;
'''The module requires GRASS &amp;gt;= 6.4 RC5''' - it uses the new version of grass-python library. At the moment, no backward compatibility with previous versions is provided.&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [6], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** [permanent todo] Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Solve '''double parsing issue!!''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
** '''Variogram fit''': in a separated window, with allowed interactive model fit, using Python plot libraries zB mapplotlib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' - does not seem necessary. Time to load is not huge.&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** None ATM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BROKEN WINDOWS (from Martin Fowler's great book [0]) '''&lt;br /&gt;
** Imperfect logging - relies on RunCmd...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [1]. Another great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [2] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [3].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [4] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [1], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [5]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished..&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #8, 17 July ===&lt;br /&gt;
&lt;br /&gt;
this week I added Command output tab and the option for block kriging, and updated documentation with more precise information on dependencies.&lt;br /&gt;
I'll add splashscreen only as dependency check and command output will be fixed: next week I plan to work on these latter issues.&lt;br /&gt;
&lt;br /&gt;
Nothing in particular is blocking progress, just some hardest stone sometimes.&lt;br /&gt;
&lt;br /&gt;
=== Report #9, 24 July ===&lt;br /&gt;
&lt;br /&gt;
this week I didn't work on the project because I attended last university course (botanical survey at Stelvio pass) and came back yesterday night.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to solve g.parser issue about double dependency check and the issue about sill, nugget and value parameters, that are optional&lt;br /&gt;
for R. A general cleanup of the code is also welcome...&lt;br /&gt;
&lt;br /&gt;
No blocking issues atm.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Fowler, Beck, Brant, Opdyke, Roberts, 1999. &amp;quot;Refactoring. Improving the design of existing code&amp;quot; (ISBN-10: 0201485672; ISBN-13: 978-0201485677)&lt;br /&gt;
* [1] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;  (ISBN 0-19-505013-4)&lt;br /&gt;
* [2] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [3] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [4] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [5] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [6] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9289</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9289"/>
		<updated>2009-07-28T16:56:05Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Bulletin Board */  update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
''' Breaking news: Ordinary and block kriging are available both from GUI and CLI!'''&lt;br /&gt;
&lt;br /&gt;
Part of the options are available for gstat, anyway is it a great goal to see that the whole process ends in writing a GRASS raster map with the result. Note also that the module suggests a filename based on the input data map name. One step further towards the One-Click Interface.&lt;br /&gt;
&lt;br /&gt;
Have a look at it from svn:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige v.krige&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]].&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [5], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, v.krige is developed against grass 6.5 (6_develbranch) and no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Solve '''double parsing issue!!''' This leads to unnecessary double dependency check.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
** '''Variogram fit''': in a separated window, with allowed interactive model fit, using Python plot libraries zB mapplotlib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** '''Splash screen at module load''' - does not seem necessary. Time to load is not huge.&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** None&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [0]. Great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [1] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [2].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [3] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [0], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [4]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished. See a screenshot on the wiki page [0].&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample [1] works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email&lt;br /&gt;
[0] and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK&lt;br /&gt;
because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data, see this tutorial [0]. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;,  (ISBN 0-19-505013-4)&lt;br /&gt;
* [1] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [2] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [3] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [4] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [5] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=File:Schermata-Kriging_Module.png&amp;diff=9251</id>
		<title>File:Schermata-Kriging Module.png</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=File:Schermata-Kriging_Module.png&amp;diff=9251"/>
		<updated>2009-07-17T13:20:33Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: uploaded a new version of &amp;quot;File:Schermata-Kriging Module.png&amp;quot;:&amp;amp;#32;block kriging widgets functional&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;draft interface for v.autokrige2.py addon&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9250</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9250"/>
		<updated>2009-07-17T13:19:05Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: block kriging available&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
''' Breaking news: Ordinary and block kriging are available both from GUI and CLI!'''&lt;br /&gt;
&lt;br /&gt;
Part of the options are available for gstat, anyway is it a great goal to see that the whole process ends in writing a GRASS raster map with the result. Note also that the module suggests a filename based on the input data map name. One step further towards the One-Click Interface.&lt;br /&gt;
&lt;br /&gt;
Have a look at it from svn:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige v.krige&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]].&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [5], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, v.krige is developed against grass 6.5 (6_develbranch) and no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** '''Document dependencies''' - continue fill up html template page&lt;br /&gt;
** Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** '''Splash screen at module load'''.&lt;br /&gt;
*** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** Create a '''package''' to delegate dependencies check? (Stefan Krüger's suggestion)&lt;br /&gt;
** '''Variogram fit''': in a separated window, with allowed interactive model fit, using Python plot libraries.&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** NULL&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [0]. Great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [1] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [2].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [3] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [0], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [4]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished. See a screenshot on the wiki page [0].&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample [1] works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email&lt;br /&gt;
[0] and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK&lt;br /&gt;
because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data, see this tutorial [0]. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;,  (ISBN 0-19-505013-4)&lt;br /&gt;
* [1] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [2] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [3] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [4] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [5] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9246</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9246"/>
		<updated>2009-07-16T13:02:27Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Installation */ explicit dependency list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
''' Breaking news: Ordinary kriging is up and running both from GUI and CLI!''' not all the options are available for gstat, anyway is it a great goal to see that the whole process ends in writing a GRASS raster map with the result. Note also that the module suggests a filename based on the input data map name. One step further towards the One-Click Interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Have a look at it from svn:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige v.krige&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
To install v.krige.py, please refer to [[Compile_and_Install#Scripts]].&lt;br /&gt;
&lt;br /&gt;
The module has dependencies:&lt;br /&gt;
* R 2.x - no exhaustive tests on compatible versions. An up-to-date R package will do the job in 99% cases.&lt;br /&gt;
* R packages spgrass6 and gstat&lt;br /&gt;
* Python module rpy2&lt;br /&gt;
&lt;br /&gt;
Be sure that ALL these dependencies are installed and operative. See below for platform-specific details.&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [5], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, v.krige is developed against grass 6.5 (6_develbranch) and no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** '''Document dependencies''' - continue fill up html template page&lt;br /&gt;
** Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** '''Splash screen at module load'''.&lt;br /&gt;
*** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** Create a '''package''' to delegate dependencies check!&lt;br /&gt;
** '''Variogram fit''': in a separated window, with allowed interactive model fit, using Python plot libraries.&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** NULL&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [0]. Great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [1] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [2].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [3] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [0], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [4]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished. See a screenshot on the wiki page [0].&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample [1] works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email&lt;br /&gt;
[0] and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK&lt;br /&gt;
because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data, see this tutorial [0]. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;,  (ISBN 0-19-505013-4)&lt;br /&gt;
* [1] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [2] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [3] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [4] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [5] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9245</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9245"/>
		<updated>2009-07-15T09:16:51Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: /* Notes for Windows */  no compatibility with packages GRASS in OSGeo4W nor WinGRASS - suggestions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
''' Breaking news: Ordinary kriging is up and running both from GUI and CLI!''' not all the options are available for gstat, anyway is it a great goal to see that the whole process ends in writing a GRASS raster map with the result. Note also that the module suggests a filename based on the input data map name. One step further towards the One-Click Interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Have a look at it from svn:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige v.krige&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
Please refer to [[Compile_and_Install#Scripts]].&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [5], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
At this very moment, v.krige is developed against grass 6.5 (6_develbranch) and no backward compatibility with OSGeo4W's packaged GRASS 6.4svn2 is provided, nor with WinGRASS. &lt;br /&gt;
&lt;br /&gt;
If you really need to run v.krige right now on Windows, I suggest to compile GRASS following [http://trac.osgeo.org/grass/wiki/CompileOnWindows this guide]. &lt;br /&gt;
You could also use Linux in a virtual machine. Or install Linux in a separate partition of the HD. This is not as painful as it appears, there are lots of guides over the Internet to help you.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** '''Document dependencies''' - continue fill up html template page&lt;br /&gt;
** Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** '''Splash screen at module load'''.&lt;br /&gt;
*** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** Create a '''package''' to delegate dependencies check!&lt;br /&gt;
** '''Variogram fit''': in a separated window, with allowed interactive model fit, using Python plot libraries.&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** NULL&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [0]. Great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [1] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [2].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [3] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [0], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [4]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished. See a screenshot on the wiki page [0].&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample [1] works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email&lt;br /&gt;
[0] and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK&lt;br /&gt;
because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data, see this tutorial [0]. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;,  (ISBN 0-19-505013-4)&lt;br /&gt;
* [1] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [2] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [3] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [4] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [5] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
	<entry>
		<id>https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9238</id>
		<title>V.krige GSoC 2009</title>
		<link rel="alternate" type="text/html" href="https://grasswiki.osgeo.org/w/index.php?title=V.krige_GSoC_2009&amp;diff=9238"/>
		<updated>2009-07-14T12:55:34Z</updated>

		<summary type="html">&lt;p&gt;⚠️AnneGhisla: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== v.krige: Python porting and wxPython GUI addition  ===&lt;br /&gt;
Anne Ghisla's [http://socghop.appspot.com/student_project/show/google/gsoc2009/osgeo/t124023165994 Google Summer of Code 2009 project], mentored by Martin Landa and Michael Barton&lt;br /&gt;
&lt;br /&gt;
== Aim of the project ==&lt;br /&gt;
&lt;br /&gt;
As GRASS presently lacks [[kriging]] capability, it is performed via an add-on, v.autokrige, that delegates analysis to R (package automap). This module is written in ksh and has the classical autogenerated GUI. The project aims to rewrite the module in Python, creating a new GUI in wxPython that allows the user to refine parameters.&lt;br /&gt;
I therefore plan to examinate present v.autokrige code and port it into Python, possibly improving it at the same time, and add a wxPython GUI. All time left will be dedicated to addition of further functionality, in respect of the most needed.&lt;br /&gt;
&lt;br /&gt;
== State of the art ==&lt;br /&gt;
&lt;br /&gt;
''' Breaking news: Ordinary kriging is up and running both from GUI and CLI!''' not all the options are available for gstat, anyway is it a great goal to see that the whole process ends in writing a GRASS raster map with the result. Note also that the module suggests a filename based on the input data map name. One step further towards the One-Click Interface.&lt;br /&gt;
&lt;br /&gt;
[[File:Schermata-Kriging Module.png|450px|left]]&lt;br /&gt;
&lt;br /&gt;
Have a look at it from svn:&lt;br /&gt;
&lt;br /&gt;
 svn co https://svn.osgeo.org/grass/grass-addons/vector/v.krige v.krige&lt;br /&gt;
&lt;br /&gt;
Dependency check is performed on grass-python module, R, rpy2 and R packages gstat and spgrass6. If something is missing, the module won't start. Some graceful popup window will be set up in the near future. At the moment it aborts with a message in the shell.&lt;br /&gt;
&lt;br /&gt;
Kriging relies on R package gstat, the most widespread. geoR tab is now hidden as it doesn't provide any functionality, but if anyone is interested in using it instead of gstat I'll put this todo higher in the list.&lt;br /&gt;
&lt;br /&gt;
The list of point layers is provided by VectorSelect class (gselect module) to provide uniformity of layout with wxGUI. The filtering is done once at the start of the module, then if the user adds a suitable point layer she/he will press the Refresh button to force addition to the list. Automatic refresh on popup has been tested as too time and resource consuming.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
Please refer to [[Compile_and_Install#Scripts]].&lt;br /&gt;
&lt;br /&gt;
=== Notes for Debian GNU/Linux ===&lt;br /&gt;
&lt;br /&gt;
Install the dependiencies: &lt;br /&gt;
&lt;br /&gt;
 aptitude install R python-rpy2&lt;br /&gt;
&lt;br /&gt;
'''Attention! python-rpy IS NOT SUITABLE.'''&lt;br /&gt;
&lt;br /&gt;
To install R packages, use either R's function (as root):&lt;br /&gt;
&lt;br /&gt;
 install.packages(&amp;quot;gstat&amp;quot;, dep=T)&lt;br /&gt;
 install.packages(&amp;quot;spgrass6&amp;quot;, dep=T)&lt;br /&gt;
&lt;br /&gt;
either the brand new Debian packages [5], add to repositories' list for 32bit:&lt;br /&gt;
 &lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-i386 testing/&lt;br /&gt;
&lt;br /&gt;
or, for 64bit:&lt;br /&gt;
&lt;br /&gt;
 deb http://debian.cran.r-project.org/cran2deb/debian-amd64 testing/&lt;br /&gt;
&lt;br /&gt;
and get the packages via &lt;br /&gt;
&lt;br /&gt;
 aptitude install r-cran-gstat r-cran-spgrass6&lt;br /&gt;
&lt;br /&gt;
=== Notes for Windows ===&lt;br /&gt;
&lt;br /&gt;
Please use OSGeo4W Installer to get all dependencies, except R and its packages. More to come.&lt;br /&gt;
&lt;br /&gt;
== Bulletin Board == &lt;br /&gt;
&lt;br /&gt;
* '''TODOs'''&lt;br /&gt;
** '''Document dependencies''' - continue fill up html template page&lt;br /&gt;
** Cleanup code! Refactoring brings refactoring.&lt;br /&gt;
** '''Splash screen at module load'''.&lt;br /&gt;
*** Check '''dependencies''' all before interface load. If something is missing, a popup window will give a clear message.&lt;br /&gt;
** Continue integrating '''gstat functions'''&lt;br /&gt;
&lt;br /&gt;
* '''IDEAS TO DISCUSS'''&lt;br /&gt;
** Create a '''package''' to delegate dependencies check!&lt;br /&gt;
** '''Variogram fit''': in a separated window, with allowed interactive model fit, using Python plot libraries.&lt;br /&gt;
&lt;br /&gt;
* '''BLOCKING ISSUE(S)'''&lt;br /&gt;
** NULL&lt;br /&gt;
&lt;br /&gt;
== Documentation ==&lt;br /&gt;
&lt;br /&gt;
Kriging theory from Isaaks and Srivastava's &amp;quot;An Introduction to Applied Geostatistics&amp;quot; [0]. Great book.&lt;br /&gt;
&lt;br /&gt;
== Users feedback and other kriging software ==&lt;br /&gt;
&lt;br /&gt;
* Call for users has been done on gfoss.it, grass-it and grass-users, r-sig-geo and r-sig-ecology mailing lists. Thanks to Giovanni Manghi and João Tiago from GFOSS.pt and Giovanni Allegri for user advices, and to Edzer Pebesma, Paul Hiemstra, Ebrahim Jahanshiri, Dylan Beaudette for support on R side.&lt;br /&gt;
&lt;br /&gt;
* There are (have been) some GRASS modules that perform kriging, like:&lt;br /&gt;
** v.surf.krige, v.variogram: no longer developed by authors, difficult to port.&lt;br /&gt;
** s.surf.krig: deprecated since GRASS 6 series.&lt;br /&gt;
** scripts including R and spgrass6: are the concrete basis upon which build the module.&lt;br /&gt;
&lt;br /&gt;
* Obtained ArcGIS availability for comparison of interface and functionality, because it is AFAIK the widespread tool used for kriging. Also Isats [1] is a valuable source of ispiration for interface design. &lt;br /&gt;
&lt;br /&gt;
== Planned Timeline ==&lt;br /&gt;
&lt;br /&gt;
Draft:&lt;br /&gt;
* create a wxPython interface for ordinary kriging. Will follow Humane Interface rules [2].&lt;br /&gt;
* integrate R package ''automap''&lt;br /&gt;
* '''midterm deadline''': have a working module that performs ordinary kriging.&lt;br /&gt;
* integrate more R functions from ''gstat'' and ''geoR'', giving the user the choice between gstat and geoR (kriging results vary in respect of implementation)&lt;br /&gt;
&lt;br /&gt;
== Weekly Reports, from SoC mailing list [3] ==&lt;br /&gt;
&lt;br /&gt;
=== Report #1, 29 May ===&lt;br /&gt;
&lt;br /&gt;
* Done: I dedicated this week to documentation and discussion with users and developers.&lt;br /&gt;
** Documentation: I'm reading &amp;quot;An introduction to Applied Geostatistics&amp;quot; [0], as I need to understand the theory behind kriging functions provided by R. On wxPython side, wxPython wiki is the main source of information, together with the code of GRASS wxPython interface.&lt;br /&gt;
** Community discussion: Feedback on interface design and R has been collected on various mailing lists. Also, a group of Portuguese ArcGIS users is interested in giving advice and test the new module.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
I plan to define which functions (and consequently which R packages) are to be included into the module. I plan to first include package automap (a wrapper for gstat), then gstat advanced functions, then geoR (an &amp;quot;ecological vicariant&amp;quot; of gstat), all alvailable on CRAN [4]. This will allow R users to keep using their preferred functions, as kriging results are implementation-dependent.&lt;br /&gt;
Then I'll work on wxPython interface and get a draft as soon as possible. The interfaces that I use as model are ArcGIS' kriging module and Isatis. I won't replicate their structure, rather see what are the provided features and create v.autokrige interface following Humane Interface guidelines.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
I'm experiencing some difficulties, mainly with wxPython, as I never used it before, and also with kriging, for the same reason :) but I'm not worried nor blocked. Last year GSoC project was a bet and I succeeded, this year it's even harder but I can rely on some more experience and, as always, on mentor and community support.&lt;br /&gt;
&lt;br /&gt;
=== Report #2, 5 June ===&lt;br /&gt;
&lt;br /&gt;
* Done&lt;br /&gt;
** Ended &amp;quot;An Introduction to Applied Geostatistics&amp;quot;, great source of information of what the module is supposed to do. Now I can be both developer and user, not discarding any of the hints of other users.&lt;br /&gt;
** Some progress on the interface: I'm getting used of wxWidgets, even if the lack of a graphical designer slows down my work. wxDesigner seems good, but I think it is also good for me to learn the meaning of each line of code. The interface is quite ready for automap and GRASS integration.&lt;br /&gt;
&lt;br /&gt;
* Planned for next week&lt;br /&gt;
End of interface essential features and integration of automap most automated functions - ideally, the user will pick up the point layer containing data and press OK.&lt;br /&gt;
&lt;br /&gt;
* Bottleneck(s)&lt;br /&gt;
The only bottleneck is wxWidgets handling, but not so much as one week ago.&lt;br /&gt;
&lt;br /&gt;
=== Report #2.5, 11 June ===&lt;br /&gt;
&lt;br /&gt;
First of all, the interface is almost finished. See a screenshot on the wiki page [0].&lt;br /&gt;
The layout includes a notebook with a page for each R package (automap, gstat and geoR), with the available options. Another layout could be a chiocebox wht the three packages on the top of Kriging section, that redraws the section accourding to the user's choice.&lt;br /&gt;
Let me know which one do you prefer, feel free also to suggest something new.&lt;br /&gt;
&lt;br /&gt;
The R-GRASS integration is on its way: autofitting the variogram on a map obtained from a DEM sample [1] works in the proof of concept.  rpy2 is extremely helpful and does not require much more code than the original R code. More to come in the next days.&lt;br /&gt;
&lt;br /&gt;
The idea for variogram fitting is to plot the variogram in a new frame and add some controls like sliders and/or text boxes to fill up with&lt;br /&gt;
nugget, sill and range values. This will involve Python graphics, not R, as the former is more flexible.&lt;br /&gt;
&lt;br /&gt;
=== Report #3, 12 June ===&lt;br /&gt;
&lt;br /&gt;
this weekly report will be very short, as yesterday I sent this email&lt;br /&gt;
[0] and made little progress.&lt;br /&gt;
&lt;br /&gt;
I'm having some problems in using autoKrige() function work, AFAIK&lt;br /&gt;
because of projection information handling.&lt;br /&gt;
&lt;br /&gt;
=== Report #4, 19 June ===&lt;br /&gt;
&lt;br /&gt;
this week I made steady progress on the module.&lt;br /&gt;
What I've done:&lt;br /&gt;
* renamed the module v.krige, as its features will go beyond automatic kriging.&lt;br /&gt;
* addition of choicebox with only numerical columns, as interpolation will be based on such variables&lt;br /&gt;
* refactoring on interface population - more to come&lt;br /&gt;
* started documentation page&lt;br /&gt;
&lt;br /&gt;
Next week I plan to create the splashscreen during dependencies check&lt;br /&gt;
and data load, and examine how to integrate gstat functions.&lt;br /&gt;
&lt;br /&gt;
=== Report #5, 26 June (at [http://wiki.osgeo.org/wiki/OSGeo_Hacking_Event_2009 OSGeo Bolsena Hacking Event]) ===&lt;br /&gt;
&lt;br /&gt;
just few minutes ago I succeded in completing the kriging procedure with gstat functions. It runs with a proof-of-concept dataset based on&lt;br /&gt;
spearfish data, see this tutorial [0]. Martin helped me a lot in getting the standard wxGUI comboboxes to run properly with filters.&lt;br /&gt;
&lt;br /&gt;
Next week I plan to adapt the interface to each R package's available options and consider how to solve lag issues in populating interface.&lt;br /&gt;
&lt;br /&gt;
The blocking issue about autoKrige() and projections is no more valid as I create the grid myself based on GRASS region.&lt;br /&gt;
&lt;br /&gt;
=== Report #6, 3 July ===&lt;br /&gt;
&lt;br /&gt;
this week I worked on removing parameters hardwired in the code, binding them to the interface instead.&lt;br /&gt;
Therefore, now it is possible use all widgets in gstat and automap pages, i.e. pick up the model from a list, set sill, nugget and range;&lt;br /&gt;
set the output raster map name and eventually overwrite it.&lt;br /&gt;
I'm going to implement CLI in these next days, it will very likely need to reorganise the code and clearly split interface from model.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
=== Report #7, midterm, 10 July ===&lt;br /&gt;
&lt;br /&gt;
this week has been full of improvements:&lt;br /&gt;
* CLI with optional arguments is up and running&lt;br /&gt;
* interface creation is no more delayed by vector map filtering&lt;br /&gt;
* dependencies are checked all at the beginning - no risk of mid-process crashes if something is missing&lt;br /&gt;
* automap page merged with gstat: they share the same algorithms&lt;br /&gt;
* geoR page hidden, no implementation yet&lt;br /&gt;
* deep refactoring of the rpy code, moved into a separate controller class&lt;br /&gt;
* interface fills up all options except input data map - minimum interaction required (2 clicks)&lt;br /&gt;
&lt;br /&gt;
next week I plan to implement the splashscreen and add further functionalities, hopefully different kriging techniques.&lt;br /&gt;
&lt;br /&gt;
Blocking issues - none.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* [0] Isaaks and Srivastava, 1989: &amp;quot;An Introduction to Applied Geostatistics&amp;quot;,  (ISBN 0-19-505013-4)&lt;br /&gt;
* [1] http://www.geovariances.com/software/video-data-investigation-with-isatis-exploratory-data-analysis-ar0353.html&lt;br /&gt;
* [2] Jef Raskin, 2000: &amp;quot;The Humane Interface: New Directions for Designing Interactive Systems&amp;quot; (ISBN 0-201-37937-6) &lt;br /&gt;
* [3] OSGeo SoC mailing list http://lists.osgeo.org/pipermail/soc/&lt;br /&gt;
* [4] CRAN: Spatial view http://cran.r-project.org/web/views/Spatial.html&lt;br /&gt;
* [5] cran2deb repository https://stat.ethz.ch/pipermail/r-sig-debian/2009-July/000805.html&lt;br /&gt;
&lt;br /&gt;
[[Category:GSoC]]&lt;/div&gt;</summary>
		<author><name>⚠️AnneGhisla</name></author>
	</entry>
</feed>