[GRASS-SVN] r35723 - in grass-addons/raster/mcda: r.mcda.electre r.mcda.fuzzy r.mcda.regime r.roughset

svn_grass at osgeo.org svn_grass at osgeo.org
Sun Feb 1 16:48:30 EST 2009


Author: gianluca
Date: 2009-02-01 16:48:30 -0500 (Sun, 01 Feb 2009)
New Revision: 35723

Added:
   grass-addons/raster/mcda/r.mcda.electre/description.html
   grass-addons/raster/mcda/r.mcda.fuzzy/description.html
   grass-addons/raster/mcda/r.mcda.regime/description.html
Removed:
   grass-addons/raster/mcda/r.mcda.electre/r.mcda.electre.html
   grass-addons/raster/mcda/r.mcda.fuzzy/r.mcda.fuzzy.html
Modified:
   grass-addons/raster/mcda/r.roughset/description.html
   grass-addons/raster/mcda/r.roughset/localproto.h
   grass-addons/raster/mcda/r.roughset/main.c
   grass-addons/raster/mcda/r.roughset/raccess.c
   grass-addons/raster/mcda/r.roughset/rbasic.c
   grass-addons/raster/mcda/r.roughset/rclass.c
   grass-addons/raster/mcda/r.roughset/rcore.c
   grass-addons/raster/mcda/r.roughset/reduct1.c
   grass-addons/raster/mcda/r.roughset/reduct2.c
   grass-addons/raster/mcda/r.roughset/rset.c
   grass-addons/raster/mcda/r.roughset/rsystem.c
   grass-addons/raster/mcda/r.roughset/rule1.c
   grass-addons/raster/mcda/r.roughset/rule2.c
   grass-addons/raster/mcda/r.roughset/rules_extr.c
Log:


Added: grass-addons/raster/mcda/r.mcda.electre/description.html
===================================================================
--- grass-addons/raster/mcda/r.mcda.electre/description.html	                        (rev 0)
+++ grass-addons/raster/mcda/r.mcda.electre/description.html	2009-02-01 21:48:30 UTC (rev 35723)
@@ -0,0 +1,34 @@
+<H2>DESCRIPTION</H2>
+<P><em>r.mcda.electre</em> 
+is the implementation of the ELECTRE multicriteria algorithm in GRASS GIS environment. It
+is one of the available tools in the r.mcda suite. It requires as an
+input the list of rasters representing the criteria to be assessed in
+the multicriteria evaluation and the vector of weights to be
+assigned. Every single cell of the GRASS region is considered as one
+of the possible alternatives to evaluate and it is described with the
+value assumed for the same cell by the rasters used as criteria.
+There are two output files. One represents the spatial distribution
+of the concordance index, the other one of the discordance index. The
+optimal solution is the one presenting the maximum concordance value
+and the minimum discordance value at the same time.</P>
+<BR>
+<H2>NOTES</H2>
+<P>The module does not standardize the raster-criteria. Therefore, they must be prepared before by
+using, for example, r.mapcalc. The weights vector is always normalized so that the sum of the weights is 1.</P>
+<BR>
+<H2>REFERENCE</H2>
+<P>Roy, B. (1971) Problem and
+methods with multiple objective functions Mathematical programming 1,
+239-266.</P>
+<P>Roy, B. (1990): The outranking approach and the foundations of Electre methods , Document du LAMSADE, Paris.</P>
+<P>Janssen R. (1994) - Multiobjective decision support for environmental management, Kluwer Academic Publishers.</P>
+<P>GRASS Development Team (2008)</P>
+<BR>
+<H2>SEE ALSO</H2>
+<P><EM>r.mcda.fuzzy, r.mcda.electre, r.roughet, r.mapcalc</EM></P>
+<BR>
+<H2>AUTHORS</H2>
+<P>Antonio Boggia - Gianluca Massei
+<BR>Department of Economics and Appraisal - University of Perugia - Italy 
+</P>
+

Deleted: grass-addons/raster/mcda/r.mcda.electre/r.mcda.electre.html
===================================================================
--- grass-addons/raster/mcda/r.mcda.electre/r.mcda.electre.html	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.mcda.electre/r.mcda.electre.html	2009-02-01 21:48:30 UTC (rev 35723)
@@ -1,53 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
-	<TITLE>r.mcda.electre</TITLE>
-	<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0  (Win32)">
-	<META NAME="CREATED" CONTENT="0;0">
-	<META NAME="CHANGEDBY" CONTENT="gianluca">
-	<META NAME="CHANGED" CONTENT="20090201;51600">
-	<META NAME="CHANGEDBY" CONTENT="gianluca">
-</HEAD>
-<BODY LANG="it-IT" DIR="LTR">
-<H2>DESCRIPTION</H2>
-<P ALIGN=JUSTIFY><B>r.mcda.electre </B>is the implementation of the
-ELECTRE multicriteria algorithm in GRASS GIS environment. <SPAN LANG="en-US">It
-is one of the available tools in the r.mcda suite. It requires as an
-input the list of rasters representing the criteria to be assessed in
-the multicriteria evaluation and the vector of weights to be
-assigned. Every single cell of the GRASS region is considered as one
-of the possible alternatives to evaluate and it is described with the
-value assumed for the same cell by the rasters used as criteria.
-There are two output files. One represents the spatial distribution
-of the concordance index, the other one of the discordance index. The
-optimal solution is the one presenting the maximum concordance value
-and the minimum discordance value at the same time.</SPAN></P>
-<H2>NOTES</H2>
-<P ALIGN=JUSTIFY><SPAN LANG="en-US">The module does not standardize
-the raster-criteria. Therefore, they must be prepared before by
-using, for example, r.mapcalc. The weights vector is always
-normalized so that the sum of the weights is 1.</SPAN> 
-</P>
-<H2>REFERENCE</H2>
-<P ALIGN=JUSTIFY><SPAN LANG="en-US">Roy, B. (1971) Problem and
-methods with multiple objective functions Mathematical programming 1,
-239-266.</SPAN></P>
-<P LANG="en-US" ALIGN=JUSTIFY>Roy, B. (1990): The outranking approach
-and the foundations of Electre methods , Document du LAMSADE, Paris.</P>
-<P LANG="en-US" ALIGN=JUSTIFY>Janssen R. (1994) - Multiobjective
-decision support for environmental management, Kluwer Academic
-Publishers.</P>
-<P ALIGN=JUSTIFY>GRASS Development Team (2008)</P>
-<H2>SEE ALSO</H2>
-<P ALIGN=JUSTIFY><EM>r.mcda.fuzzy, r.mcda.electre, r.roughet,
-r.mapcalc</EM></P>
-<H2>AUTHORS</H2>
-<P LANG="en-US" ALIGN=JUSTIFY>Antonio Boggia - Gianluca Massei
-<BR>Department of Economics and Appraisal &ndash; University of
-Perugia - Italy 
-</P>
-<P ALIGN=JUSTIFY><BR><BR>
-</P>
-</BODY>
-</HTML>
\ No newline at end of file

Added: grass-addons/raster/mcda/r.mcda.fuzzy/description.html
===================================================================
--- grass-addons/raster/mcda/r.mcda.fuzzy/description.html	                        (rev 0)
+++ grass-addons/raster/mcda/r.mcda.fuzzy/description.html	2009-02-01 21:48:30 UTC (rev 35723)
@@ -0,0 +1,34 @@
+<H2>DESCRIPTION</H2>
+<P><em>r.mcda.fuzzy </em> 
+is the implementation of the FUZZY multicriteria algorithm proposed by
+Yager R., in GRASS GIS environment. It is one of the available tools
+in the r.mcda suite. It requires as an input the list of rasters
+representing the criteria to be assessed in the multicriteria
+evaluation and the vector of linguistic modifiers to be assigned.
+Every single cell of the GRASS region is considered as one of the
+possible alternatives to evaluate and it is described with the value
+assumed for the same cell by the rasters used as criteria. It is
+possible to get three different output files as the result of the
+intersection operator, the union operator and the &ldquo;ordered
+weighted averaging&rdquo; (OWA) operator.</P>
+<BR>
+<H2>NOTES</H2>
+<P>The module does not standardize the raster-criteria.Therefore, they must
+be prepared before by using, for example, r.mapcalc. The linguistic
+modifiers vector is always normalized so that the sum of the weights
+is 1.</P>
+<BR>
+<H2>REFERENCE</H2>
+<P>Yager R. (1977) - Multiple objective
+decision making using fuzzy set, International Journal of Man-Machine
+Studies, 12, 299-322;</P>
+<P>GRASS Development Team (2008)</P>
+<BR>
+<H2>SEE ALSO</H2>
+<P><EM>r.mcda.regime, r.mcda.electre, r.roughet, r.mapcalc</EM></P>
+<BR>
+<H2>AUTHORS</H2>
+<P>Antonio Boggia - Gianluca Massei
+<BR>Department of Economics and Appraisal - University of Perugia - Italy 
+</P>
+

Deleted: grass-addons/raster/mcda/r.mcda.fuzzy/r.mcda.fuzzy.html
===================================================================
--- grass-addons/raster/mcda/r.mcda.fuzzy/r.mcda.fuzzy.html	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.mcda.fuzzy/r.mcda.fuzzy.html	2009-02-01 21:48:30 UTC (rev 35723)
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=windows-1252">
-	<TITLE>r.mcda.fuzzy</TITLE>
-	<META NAME="GENERATOR" CONTENT="OpenOffice.org 3.0  (Win32)">
-	<META NAME="CREATED" CONTENT="0;0">
-	<META NAME="CHANGEDBY" CONTENT="gianluca">
-	<META NAME="CHANGED" CONTENT="20090201;90900">
-</HEAD>
-<BODY LANG="it-IT" DIR="LTR">
-<H2 ALIGN=JUSTIFY>DESCRIPTION</H2>
-<P ALIGN=JUSTIFY><SPAN LANG="en-US"><B>r.mcda.fuzzy </B></SPAN><SPAN LANG="en-US">is
-the implementation of the FUZZY multicriteria algorithm proposed by
-Yager R., in GRASS GIS environment. It is one of the available tools
-in the r.mcda suite. It requires as an input the list of rasters
-representing the criteria to be assessed in the multicriteria
-evaluation and the vector of linguistic modifiers to be assigned.
-Every single cell of the GRASS region is considered as one of the
-possible alternatives to evaluate and it is described with the value
-assumed for the same cell by the rasters used as criteria. It is
-possible to get three different output files as the result of the
-intersection operator, the union operator and the &ldquo;ordered
-weighted averaging&rdquo; (OWA) operator.</SPAN></P>
-<H2 ALIGN=JUSTIFY>NOTES</H2>
-<P ALIGN=JUSTIFY><SPAN LANG="en-US">The module does not standardize
-the raster-criteria. </SPAN><SPAN LANG="en-US">Therefore, they must
-be prepared before by using, for example, r.mapcalc. The linguistic
-modifiers vector is always normalized so that the sum of the weights
-is 1.</SPAN></P>
-<H2 ALIGN=JUSTIFY>REFERENCE</H2>
-<P LANG="en-US" ALIGN=JUSTIFY>Yager R. (1977) - Multiple objective
-decision making using fuzzy set, International Journal of Man-Machine
-Studies, 12, 299-322;</P>
-<P ALIGN=JUSTIFY>GRASS Development Team (2008)</P>
-<H2 ALIGN=JUSTIFY>SEE ALSO</H2>
-<P ALIGN=JUSTIFY><EM>r.mcda.regime, r.mcda.electre, r.roughet,
-r.mapcalc</EM></P>
-<H2 ALIGN=JUSTIFY>AUTHORS</H2>
-<P ALIGN=JUSTIFY>Antonio Boggia - Gianluca Massei&nbsp;<BR>Dipartimento
-di Scienze Economico Estimative e degli Alimenti - Universit&agrave;
-di Perugia - Italy 
-</P>
-<P><BR><BR>
-</P>
-</BODY>
-</HTML>
\ No newline at end of file

Added: grass-addons/raster/mcda/r.mcda.regime/description.html
===================================================================
--- grass-addons/raster/mcda/r.mcda.regime/description.html	                        (rev 0)
+++ grass-addons/raster/mcda/r.mcda.regime/description.html	2009-02-01 21:48:30 UTC (rev 35723)
@@ -0,0 +1,28 @@
+<H2>DESCRIPTION</H2>
+<em>r.mcda.regime </em> is
+the implementation of the REGIME multicriteria algorithm in GRASS GIS
+environment. It is one of the available tools in the r.mcda suite. It
+requires as an input the list of rasters representing the criteria to
+be assessed in the multicriteria evaluation and the vector of weights
+to be assigned. Every single cell of the GRASS region is considered
+as one of the possible alternatives to evaluate and it is described
+with the value assumed for the same cell by the rasters used as
+criteria.</P>
+<BR>
+<H2>NOTES</H2>
+<P>The module does not standardize the raster-criteria. Therefore, they must
+be prepared before by using, for example, r.mapcalc. The weights
+vector is always normalized so that the sum of the weights is 1.</P>
+<BR>
+<H2>REFERENCE</H2>
+<P>Janssen R. (1994) - Multiobjective decision support for environmental management, Kluwer Academic Publishers;</P>
+<P>GRASS Development Team (2008);</P>
+<BR>
+<H2>SEE ALSO</H2>
+<P><EM>r.mcda.fuzzy, r.mcda.electre, r.roughet, r.mapcalc</EM></P>
+<BR>
+<H2>AUTHORS</H2>
+<P>Antonio Boggia - Gianluca Massei
+<BR>Department of Economics and Appraisal - University of Perugia - Italy 
+</P>
+

Modified: grass-addons/raster/mcda/r.roughset/description.html
===================================================================
--- grass-addons/raster/mcda/r.roughset/description.html	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/description.html	2009-02-01 21:48:30 UTC (rev 35723)
@@ -1,143 +1,119 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<HTML>
-<HEAD>
-	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
-	<TITLE>r.roughset</TITLE>
-	<META NAME="GENERATOR" CONTENT="OpenOffice.org 2.4  (Linux)">
-	<META NAME="CREATED" CONTENT="0;0">
-	<META NAME="CHANGEDBY" CONTENT="root">
-	<META NAME="CHANGED" CONTENT="20081213;19151100">
-	<META NAME="CHANGEDBY" CONTENT="root">
-	<META NAME="CHANGEDBY" CONTENT="root">
-	<STYLE TYPE="text/css">
-	<!--
-		@page { size: 21cm 29.7cm }
-		H2.western { font-family: "Albany", sans-serif; font-size: 14pt; font-style: italic }
-		H2.cjk { font-family: "HG Mincho Light J"; font-size: 14pt; font-style: italic }
-		H2.ctl { font-family: "Arial Unicode MS"; font-size: 14pt; font-style: italic }
-	-->
-	</STYLE>
-</HEAD>
-<BODY LANG="it-IT" DIR="LTR">
-<H2 CLASS="western" ALIGN=JUSTIFY>r.roughset</H2>
-<P ALIGN=JUSTIFY><B>r.roughset&nbsp;</B>è un modulo che
-consente&nbsp;l'applicazione della rough set theory [1,2] a database
-geografici in ambiente GRASS GIS. L'input è costituito da due gruppi
-di dati: <BR>1. gli attributi geografici che costituiscono il sistema
-informativo della rough set analisys e che si ritiene siano
-sufficienti a descrivere&nbsp;un determinato fenomeno naturale,
-sociale od economico (<B>attributes</B>=<EM>string[,string,...]</EM>);<BR>2.
-il tematismo nel quale sono identificate le aree per cui il fenomeno
-da studaire si è presentato con una certa modalità
-(<B>decision</B>=<EM>string</EM>). Il valore non nullo di ogni cella
-di questo raster va a riempire l'ultima colonna del sistema
-informativo mentre le corrispondenti celle dei raster nel campo
-<B>attributes </B><SPAN STYLE="font-weight: medium">completano le
-altre colonne. </SPAN>
-</P>
-<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Il sistema informativo
-così generato viene trattato con le funzioni esposte dalla versione
-2 delle rough set library (RSL, ver. 2.0)&nbsp; [3] secondo una delle
-strategie decisionali disponibili con l'opzione <B>strgy</B>=<EM>string.</EM></P>
-<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><EM><SPAN STYLE="font-style: normal">La
-scelta della strategia di classificazione, </SPAN></EM><EM><SPAN STYLE="font-style: normal"><B>clssfy</B></SPAN></EM><EM>=string
-</EM><EM><SPAN STYLE="font-style: normal">è indispensabile per
-generare una mappa sulla base dei criteri descritti con gli attributi
-(attributes) e le regole decisionali generate. Le opzioni sono 3:
-</SPAN></EM><EM><I>Classify1,Classify2,Classify3</I></EM><EM> </EM><EM><SPAN STYLE="font-style: normal">e
-ognuna corrisponde a tre differenti algoritmi [3]. </SPAN></EM><BR><BR>L'output
-è costituito da tre differenti files di cui due di tipo testo<EM> </EM>ed
-uno raster:</P>
-<P ALIGN=JUSTIFY>a. <I>file testo</I> strutturato secondo lo standard
-suggerito dalla rough set library, contraddistinto dallo stesso nome
-indicato nel campo <B>outTXT</B><I><SPAN STYLE="font-weight: medium">=string</SPAN></I>
-senza ulteriori suffissi; è necessario nel caso in cui le regole
-decisionali generate per un contesto geografico debbao essere
-applicate in un'altra location, sulla base di raster di attributi e
-decisionali con lo stesso significato e lo stesso range di valori. In
-questo caso il campo sample=string dovrà contenere il nome completo
-di un file outTXT precedentemente generato e il campo <EM><SPAN STYLE="font-style: normal"><B>decision=</B></SPAN></EM><EM><I><SPAN STYLE="font-weight: medium">string</SPAN></I></EM><EM>
-</EM><EM><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: medium">può
-essere tralasciato</SPAN></SPAN></EM> Il file può anche essere
-utilizzato con implementazioni delle le RSL al di fuori dall'ambiente
-GIS;</P>
-<P STYLE="margin-bottom: 0cm"><I>NAME: nome del sistema informativo</I></P>
-<P STYLE="margin-bottom: 0cm"><I>ATTRIBUTES: 4 (numero degli
-attributi)</I></P>
-<P STYLE="margin-bottom: 0cm"><I>OBJECTS: 8 (numero degli oggetti)</I></P>
-<P STYLE="margin-bottom: 0cm"><I>0 0 0 0 </I>
-</P>
-<P STYLE="margin-bottom: 0cm"><I>1 0 1 1</I></P>
-<P STYLE="margin-bottom: 0cm"><I>1 1 0 0 </I>
-</P>
-<P STYLE="margin-bottom: 0cm"><I>0 2 0 1 </I>
-</P>
-<P STYLE="margin-bottom: 0cm"><I>1 2 0 1 </I>
-</P>
-<P STYLE="margin-bottom: 0cm"><I>1 0 0 0 </I>
-</P>
-<P STYLE="margin-bottom: 0cm"><I>1 2 0 1 </I>
-</P>
-<P STYLE="margin-bottom: 0cm"><I>0 0 1 1 </I>
-</P>
-<P><I>Box 1</I></P>
-<P ALIGN=JUSTIFY><BR><BR>
-</P>
-<P ALIGN=JUSTIFY>Il numero degli attributi è pari a quello dei
-raster dati come input al parametro <B>attributes</B>=<EM>string[,string,...]
-</EM><EM><SPAN STYLE="font-style: normal">più il raster decisionale
-</SPAN></EM><EM>(</EM><EM><SPAN STYLE="font-style: normal"><B>decision</B></SPAN></EM><EM>=string)
-</EM><EM><SPAN STYLE="font-style: normal">che per convenzione occupa
-l'ultima colonna del sistema informativo.</SPAN></EM></P>
-<P ALIGN=JUSTIFY>b. <I>file testo</I>, contraddistinto dal prefisso
-definito in <B>outTXT</B><I><SPAN STYLE="font-weight: medium">=string</SPAN></I>
-e dal suffisso .<I>out</I>, contenente le regole decisionali estratte
-dal sistema informativo geografico, oltre che il core e&nbsp;&nbsp;i
-ridotti; le regole decisionali sono nella forma: &nbsp;<I>if ... then
-</I>e sono facilmente leggibili ed interpretabili dall'analista per
-finalità descritive del fenomeno oggetto di studio;<BR>c. <I>raster,
-</I><SPAN STYLE="font-style: normal">contraddistinto dal nome
-indicato nel campo</SPAN> <SPAN STYLE="font-style: normal"><B>outMAP</B></SPAN><I>=string,
-</I><SPAN STYLE="font-style: normal">ottenuto dall'applicazione delle
-regole decisionali generate dal sistema informativo geografico
-secondo una delle strategie di classificazione in </SPAN><EM><SPAN STYLE="font-style: normal"><B>clssfy</B></SPAN></EM><EM>=string.
-</EM><EM><SPAN STYLE="font-style: normal">Le regole da applicare
-possono derivare da un sistema informativo generato dai valori
-inseriti in </SPAN></EM><EM><SPAN STYLE="font-style: normal"><B>attributes</B></SPAN></EM><EM><SPAN STYLE="font-style: normal">=</SPAN></EM><EM>string
-</EM><EM><SPAN STYLE="font-style: normal">e</SPAN></EM><EM>
-</EM><EM><SPAN STYLE="font-style: normal"><B>decision</B></SPAN></EM><EM>=string
-</EM><EM><SPAN STYLE="font-style: normal">oppure da un file testuale
-generato da un precedente elaborazione. In questo caso la struttura
-del file deve essere rigidamente quella indicata in box 1.</SPAN></EM></P>
-<H2 CLASS="western" ALIGN=JUSTIFY>NOTES</H2>
-<P ALIGN=JUSTIFY>Il modulo è in grado di trattare raster di
-qualsiasi tipo (CELL,FCELL,DCELL) ma le elaborazioni vengono eseguite
-tutte su variabili di tipo intero (int) perchè questo è imposto
-dalle rough set library. Le regole decisionali, conseguentemente,
-restituiscono informazioni esclusivamente di tipo intero.</P>
-<H2 CLASS="western" ALIGN=JUSTIFY>REFERENCE</H2>
-<OL>
-	<LI><P ALIGN=JUSTIFY>Pawlak Z. Rough Sets, International Journal of
-	Information&nbsp;and Computer Science Vol. 11, No. 5, 1982, pp.
-	344-356.</P>
-	<LI><P ALIGN=JUSTIFY>Pawlak Z. Rough Sets, Theoretical Aspects of
-	Reasoning&nbsp;about Data, Kluwer Academic Publishers, 1991.</P>
-	<LI><P ALIGN=JUSTIFY>Gawrys M.,&nbsp;Sienkiewicz J. Rough Set
-	Library - User's manual&nbsp;(ver. 2.0), September 1993</P>
-	<LI><P ALIGN=JUSTIFY><A HREF="http://en.wikipedia.org/wiki/Rough_set">http://en.wikipedia.org/wiki/Rough_set</A>
-	- “rough set”</P>
-	<P ALIGN=JUSTIFY><BR><BR><BR>
-	</P>
-</OL>
-<H2 CLASS="western" ALIGN=JUSTIFY>SEE ALSO</H2>
-<P ALIGN=JUSTIFY><EM>r.mcda.fuzzy, r.mcda.electre, r.mcda.regime</EM></P>
-<H2 CLASS="western" ALIGN=JUSTIFY>AUTHORS</H2>
-<P ALIGN=JUSTIFY>Antonio Boggia - Gianluca Massei&nbsp;<BR>Dipartimento
-di Scienze Economico Estimative e degli Alimenti - Università di
-Perugia - Italy</P>
-<P ALIGN=JUSTIFY><BR><BR>
-</P>
-<P><BR><BR>
-</P>
-</BODY>
-</HTML>
\ No newline at end of file
+<H2>DESCRIPTION</H2>
+<em>r.roughset</em> è un modulo che consente l'applicazione della 
+rough set theory [1,2] a database geografici in ambiente GRASS GIS. 
+L'input è costituito da due gruppi di dati: <BR>1. gli attributi geografici che costituiscono il
+sistema informativo della rough set analisys e che si ritiene siano
+sufficienti a descrivere un determinato fenomeno naturale,
+sociale od economico (<B>attributes</B>=<EM>string[,string,...]</EM>);<BR> 2.
+il tematismo nel quale sono identificate le aree per cui il fenomeno
+da studaire si è presentato con una certa modalità
+(<B>decision</B>=<EM>string</EM>). Il valore non nullo di ogni cella
+di questo raster va a riempire l'ultima colonna del sistema
+informativo mentre le corrispondenti celle dei raster nel campo
+<B>attributes </B><SPAN STYLE="font-weight: normal">completano le
+altre colonne. </SPAN>
+</P>
+<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm">Il sistema informativo
+cos&igrave; generato viene trattato con le funzioni esposte dalla
+versione 2 delle rough set library (RSL, ver. 2.0) [3] secondo
+una delle strategie decisionali disponibili con l'opzione
+<B>strgy</B>=<EM>string.</EM></P>
+<P ALIGN=JUSTIFY STYLE="margin-bottom: 0cm"><EM><SPAN STYLE="font-style: normal">La
+scelta della strategia di classificazione, </SPAN></EM><EM><SPAN STYLE="font-style: normal"><B>clssfy</B></SPAN></EM><EM>=string
+</EM><EM><SPAN STYLE="font-style: normal"> è indispensabile per
+generare una mappa sulla base dei criteri descritti con gli attributi
+(attributes) e le regole decisionali generate. Le opzioni sono 3:
+</SPAN></EM><EM><I>Classify1,Classify2,Classify3</I></EM><EM> </EM><EM><SPAN STYLE="font-style: normal">e
+ognuna corrisponde a tre differenti algoritmi [3]. </SPAN></EM><BR><BR>L'output
+è costituito da tre differenti files di cui due di tipo testo<EM>
+</EM>ed uno raster:</P>
+<P ALIGN=JUSTIFY>a. <I>file testo</I> strutturato secondo lo standard
+suggerito dalla rough set library, contraddistinto dallo stesso nome
+indicato nel campo <B>outTXT</B><I><SPAN STYLE="font-weight: normal">=string</SPAN></I>
+senza ulteriori suffissi; è necessario nel caso in cui le
+regole decisionali generate per un contesto geografico debbano essere
+applicate in un'altra location, sulla base di raster di attributi e
+decisionali con lo stesso significato e lo stesso range di valori. In
+questo caso il campo sample=string dovrà contenere il nome
+completo di un file outTXT precedentemente generato e il campo
+<EM><SPAN STYLE="font-style: normal"><B>decision=</B></SPAN></EM><EM><I><SPAN STYLE="font-weight: normal">string</SPAN></I></EM><EM>
+</EM><EM><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">può
+essere tralasciato</SPAN></SPAN></EM> Il file può anche essere
+utilizzato con implementazioni delle le RSL al di fuori dall'ambiente
+GIS;</P>
+<P STYLE="margin-bottom: 0cm"><I>NAME: nome del sistema informativo</I></P>
+<P STYLE="margin-bottom: 0cm"><I>ATTRIBUTES: 4 (numero degli
+attributi)</I></P>
+<P STYLE="margin-bottom: 0cm"><I>OBJECTS: 8 (numero degli oggetti)</I></P>
+<P STYLE="margin-bottom: 0cm"><I>0 0 0 0 </I>
+</P>
+<P STYLE="margin-bottom: 0cm"><I>1 0 1 1</I></P>
+<P STYLE="margin-bottom: 0cm"><I>1 1 0 0 </I>
+</P>
+<P STYLE="margin-bottom: 0cm"><I>0 2 0 1 </I>
+</P>
+<P STYLE="margin-bottom: 0cm"><I>1 2 0 1 </I>
+</P>
+<P STYLE="margin-bottom: 0cm"><I>1 0 0 0 </I>
+</P>
+<P STYLE="margin-bottom: 0cm"><I>1 2 0 1 </I>
+</P>
+<P STYLE="margin-bottom: 0cm"><I>0 0 1 1 </I>
+</P>
+
+<P ALIGN=JUSTIFY>Il numero degli attributi è pari a quello dei
+raster dati come input al parametro <B>attributes</B>=<EM>string[,string,...]
+</EM><EM><SPAN STYLE="font-style: normal">pi&ugrave; il raster
+decisionale </SPAN></EM><EM>(</EM><EM><SPAN STYLE="font-style: normal"><B>decision</B></SPAN></EM><EM>=string)
+</EM><EM><SPAN STYLE="font-style: normal">che per convenzione occupa
+l'ultima colonna del sistema informativo.</SPAN></EM></P>
+<P ALIGN=JUSTIFY>b. <I>file testo</I>, contraddistinto dal prefisso
+definito in <B>outTXT</B><I><SPAN STYLE="font-weight: normal">=string</SPAN></I>
+e dal suffisso .<I>out</I>, contenente le regole decisionali estratte
+dal sistema informativo geografico, oltre che il core e&nbsp;&nbsp;i
+ridotti; le regole decisionali sono nella forma: &nbsp;<I>if ... then
+</I>e sono facilmente leggibili ed interpretabili dall'analista per
+finalit&agrave; descritive del fenomeno oggetto di studio;<BR>c.
+<I>raster, </I><SPAN STYLE="font-style: normal">contraddistinto dal
+nome indicato nel campo</SPAN> <SPAN STYLE="font-style: normal"><B>outMAP</B></SPAN><I>=string,
+</I><SPAN STYLE="font-style: normal">ottenuto dall'applicazione delle
+regole decisionali generate dal sistema informativo geografico
+secondo una delle strategie di classificazione in </SPAN><EM><SPAN STYLE="font-style: normal"><B>clssfy</B></SPAN></EM><EM>=string.
+</EM><EM><SPAN STYLE="font-style: normal">Le regole da applicare
+possono derivare da un sistema informativo generato dai valori
+inseriti in </SPAN></EM><EM><SPAN STYLE="font-style: normal"><B>attributes</B></SPAN></EM><EM><SPAN STYLE="font-style: normal">=</SPAN></EM><EM>string
+</EM><EM><SPAN STYLE="font-style: normal">e</SPAN></EM><EM>
+</EM><EM><SPAN STYLE="font-style: normal"><B>decision</B></SPAN></EM><EM>=string
+</EM><EM><SPAN STYLE="font-style: normal">oppure da un file testuale
+generato da un precedente elaborazione. In questo caso la struttura
+del file deve essere rigidamente quella indicata in box 1.</SPAN></EM></P>
+<H2>NOTES</H2>
+<P ALIGN=JUSTIFY>Il modulo è in grado di trattare raster di
+tipo CELL e le elaborazioni vengono eseguite
+tutte su variabili di tipo intero (int). Questo è un vincolo 
+imposto dalle rough set library. Le regole decisionali,
+conseguentemente, restituiscono informazioni esclusivamente di tipo
+intero.</P>
+<H2>REFERENCE</H2>
+<OL>
+	<LI><P ALIGN=JUSTIFY>Pawlak Z. Rough Sets, International Journal of
+	Information&nbsp;and Computer Science Vol. 11, No. 5, 1982, pp.
+	344-356.</P>
+	<LI><P ALIGN=JUSTIFY>Pawlak Z. Rough Sets, Theoretical Aspects of
+	Reasoning&nbsp;about Data, Kluwer Academic Publishers, 1991.</P>
+	<LI><P ALIGN=JUSTIFY>Gawrys M.,&nbsp;Sienkiewicz J. Rough Set
+	Library - User's manual&nbsp;(ver. 2.0), September 1993</P>
+	<LI><P ALIGN=JUSTIFY><A HREF="http://en.wikipedia.org/wiki/Rough_set">http://en.wikipedia.org/wiki/Rough_set</A>
+	- &ldquo;rough set&rdquo;</P>
+	<P ALIGN=JUSTIFY>
+	</P>
+</OL>
+
+<H2>SEE ALSO</H2>
+<P><EM>r.mcda.fuzzy, r.mcda.electre, r.mcda.regime</EM></P>
+
+<H2>AUTHORS</H2>
+Antonio Boggia - Gianluca Massei&nbsp;<BR>Dipartimento
+di Scienze Economico Estimative e degli Alimenti - Universit&agrave;
+di Perugia - Italy</P>
+

Modified: grass-addons/raster/mcda/r.roughset/localproto.h
===================================================================
--- grass-addons/raster/mcda/r.roughset/localproto.h	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/localproto.h	2009-02-01 21:48:30 UTC (rev 35723)
@@ -11,7 +11,7 @@
 {
 	char *name, *mapset;
 	int fd;
-	DCELL *buf;
+	CELL *buf;
 };
 
 

Modified: grass-addons/raster/mcda/r.roughset/main.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/main.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/main.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS
@@ -60,14 +60,14 @@
     attr_map->required   = YES;
     attr_map->multiple   = YES;
     attr_map->gisprompt  = "old,cell,raster" ;
-    attr_map->description = "Input geographics ATTRIBUTES in information system";
+    attr_map->description = _("Input geographics ATTRIBUTES in information system");
 	
     dec_map = G_define_option() ;
     dec_map->key        = "decision";
     dec_map->type       = TYPE_STRING;
     dec_map->required   = NO;
     dec_map->gisprompt  = "old,cell,raster" ;
-    dec_map->description = "Input geographics DECISION in information system";
+    dec_map->description = _("Input geographics DECISION in information system");
 
     genrules = G_define_option() ;
     genrules->key        = "strgy";
@@ -75,14 +75,14 @@
     genrules->required   = YES;
     genrules->options	 = "Very fast,Fast,Medium,Best,All,Low,Upp,Normal";
     genrules->answer	 = "Very fast";
-    genrules->description = "Strategies for generating rules";
+    genrules->description = _("Strategies for generating rules");
     
 	dec_txt = G_define_option();
     dec_txt->key 		= "sample";
     dec_txt->type 		= TYPE_STRING;
     dec_txt->required 	= NO;
     dec_txt->gisprompt 	= "old_file,file,input";
-    dec_txt->description = "Input text file  with  data and decision sample";
+    dec_txt->description = _("Input text file  with  data and decision sample");
 	
     clssfy = G_define_option() ;
     clssfy->key        	= "clssfy";
@@ -90,23 +90,22 @@
     clssfy->required  	= YES;
     clssfy->options	   	= "Classify1,Classify2,Classify3";
     clssfy->answer 		="Classify1";
-    clssfy->description = "Strategies for classified map (conflict resolution)";
+    clssfy->description = _("Strategies for classified map (conflict resolution)");
     
     output_txt = G_define_option();
     output_txt->key = "outTXT";
     output_txt->type = TYPE_STRING;
     output_txt->required = YES;
-    output_txt->gisprompt = "new_file,file,output";
+   // output_txt->gisprompt = "new_file,file,output";
     output_txt->answer ="InfoSys";
-    output_txt->description = "Output information system file";
+    output_txt->description = _("Output information system file");
 
   	output_map = G_define_option(); 
 	output_map->key = "outMAP";
     output_map->type = TYPE_STRING;
     output_map->required = YES;
-    output_map->gisprompt = "new,cell,raster";
     output_map->answer ="classify";
-    output_map->description = "classified output map";
+    output_map->description = _("Output classified map");
 	
 
     /* options and flags parser */
@@ -170,16 +169,25 @@
 		struct input *p = &attributes[i];
 		p->name = attr_map->answers[i];
 		p->mapset = G_find_cell(p->name,""); /* G_find_cell: Looks for the raster map "name" in the database. */
+		
+		p->fd = G_open_cell_old(p->name, p->mapset);
+		
 		if (!p->mapset)
 			G_fatal_error(_("Raster file <%s> not found"), p->name);
-		p->fd = G_open_cell_old(p->name, p->mapset);
+		
 		if (p->fd < 0)
 			G_fatal_error(_("Unable to open input map <%s> in mapset <%s>"),p->name, p->mapset);
-		p->buf = G_allocate_d_raster_buf(); /* Allocate an array of DCELL based on the number of columns in the current region. Return DCELL *  */
+		
+		if (CELL_TYPE!=G_raster_map_type(p->name, p->mapset))
+			G_fatal_error(_("Input map <%s> in mapset <%s> isn't CELL type"),p->name, p->mapset);
+		
+		p->buf = G_allocate_c_raster_buf(); /* Allocate an array of CELL based on the number of columns in the current region. Return DCELL *  */
+
 	}
 	
-	/* determine the inputmap DECISION type (CELL/FCELL/DCELL) */
-    data_type = CELL_TYPE; //G_raster_map_type(dec_map->answer, mapset);
+	
+	/* define the inputmap DECISION type (CELL) */
+    data_type = CELL_TYPE; //
    /* Allocate output buffer, use input map data_type */
 	nrows = G_window_rows();
 	ncols = G_window_cols();

Modified: grass-addons/raster/mcda/r.roughset/raccess.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/raccess.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/raccess.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/rbasic.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/rbasic.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/rbasic.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/rclass.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/rclass.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/rclass.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/rcore.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/rcore.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/rcore.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/reduct1.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/reduct1.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/reduct1.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/reduct2.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/reduct2.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/reduct2.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/rset.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/rset.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/rset.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/rsystem.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/rsystem.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/rsystem.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/rule1.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/rule1.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/rule1.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/rule2.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/rule2.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/rule2.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS

Modified: grass-addons/raster/mcda/r.roughset/rules_extr.c
===================================================================
--- grass-addons/raster/mcda/r.roughset/rules_extr.c	2009-02-01 20:45:16 UTC (rev 35722)
+++ grass-addons/raster/mcda/r.roughset/rules_extr.c	2009-02-01 21:48:30 UTC (rev 35723)
@@ -8,7 +8,7 @@
  *
  * PURPOSE:      Geographics rough set analisys and knowledge discovery 
  *
- * COPYRIGHT:    (C) GRASS Development Team (2008)
+ * COPYRIGHT:    (C) A.Boggia - G.Massei (2008)
  *
  *               This program is free software under the GNU General Public
  *   	    	 License (>=v2). Read the file COPYING that comes with GRASS
@@ -177,9 +177,9 @@
 			{
 			G_percent(row, nrows, 1);
 			/* Reads appropriate information into the buffer buf associated with the requested row*/
-			G_get_d_raster_row (attributes[i].fd, attributes[i].buf, row);
+			G_get_c_raster_row (attributes[i].fd, attributes[i].buf, row);
 			for (col=0;col<ncols;col++)
-					{	  					
+					{  					
 					value = (attributes[i].buf[col]); /*make a cast on the DCELL output value*/
 					PutA(_mainsys,object,i,value);    /* filling MATRIX A */
 			      	object++;
@@ -257,20 +257,19 @@
         if(NULL == (fp = fopen(file_out_sys, "w")))
         	G_fatal_error("Not able to open file [%s]",file_out_sys);
 
-       	fprintf(fp,"NAME: %s\nATTRIBUTES: %d\-nOBJECTS: %s\n",file_out_sys,nattribute+1,"      ");
+       	fprintf(fp,"NAME: %s\nATTRIBUTES: %d\nOBJECTS: %s\n",file_out_sys,nattribute+1,"      ");
 
 	/************** process the data *************/
 	
-	G_message("Build information system for rules extraction");
+	G_message("Build information system for rules extraction in %s", file_out_sys);
 	
 	nobject=0;
-
+	
 	for (row = 0; row < nrows; row++)
 		{
-			//G_percent(row, nrows, 1);
 			for(i=0;i<=nattribute;i++)
 				{
-				G_get_d_raster_row (attributes[i].fd, attributes[i].buf, row);/* Reads appropriate information into the buffer buf associated with the requested row*/
+				G_get_c_raster_row (attributes[i].fd, attributes[i].buf, row);/* Reads appropriate information into the buffer buf associated with the requested row*/
 				}
 				for (col=0;col<ncols;col++)
 					{	/*make a cast on the DCELL output value*/
@@ -279,15 +278,16 @@
 						{
 						for(j=0;j<nattribute;j++)
 							{	/*make a cast on the DCELL output value*/
-							value = (int)(attributes[j].buf[col]);
-							sprintf(cell_buf, "%d",value);
-			      			G_trim_decimal (cell_buf);
-			      			fprintf (fp,"%s ",cell_buf);
+								value = (int)(attributes[j].buf[col]);
+								sprintf(cell_buf, "%d",value);
+			      				G_trim_decimal (cell_buf);
+			      				fprintf (fp,"%s ",cell_buf);
 			      			}
 			      			fprintf(fp,"%d \n",decvalue);
 			      			nobject++;
 			      		}
 					}
+			G_percent(row, nrows, 1);
 		}
 	
 	/************** write code file*************/
@@ -307,7 +307,6 @@
 	/************** close all and exit ***********/
 
 	fclose(fp);
-
 }
 
 



More information about the grass-commit mailing list