[GRASS-user] r.fuzzy.system output definition

Hi GRASS users!

Maybe anyone has already tried the new GRASS GIS fuzzy inference
system (r.fuzzy.system).
I try to do my first fuzzy computation and follow the paper
Jasiewicz, J. 2011: A new GRASS GIS fuzzy inference system for massive
data analysis, Computers & Geosciences, 37: 9, 1525-1531.

Unfortunately I get an error saying it can't find the output raster
map which is indicated in the .map file:

r.fuzzy.system maps=path/to/my/test_set.map rules=path/to/my/test.rul
family=Zadeh defuz=bisector imp=minimum res=100 output=output
ERROR: Raster map <output> not found

my test_set.map file contains beside the other sets also

%output
$ none {both; 0,20,20,40; linear; 0;1}
$ low {both; 20,40,40,60; linear; 0;1}
$ medium {both; 40,60,60,80; linear; 0;1}
$ high {both; 60,80,80,100; linear; 0;1}

The problem is related to the %output in the .map file not the setting
for output=output because there is also an error for following case:
r.fuzzy.system maps=path/to/my/test_set.map rules=path/to/my/test.rul
family=Zadeh defuz=bisector imp=minimum res=100 output=output_
map
ERROR: Raster map <output> not found

I am using the GUI interface for the module in GRASS GIS 6.5 on Ubuntu
12.04. Any suggestions what I am doing wrong?

Thank you

best regards,
Johannes

On Wed, Aug 29, 2012 at 1:26 PM, Johannes Radinger
<johannesradinger@gmail.com> wrote:

Hi GRASS users!

Maybe anyone has already tried the new GRASS GIS fuzzy inference
system (r.fuzzy.system).

I try to do my first fuzzy computation and follow the paper
Jasiewicz, J. 2011: A new GRASS GIS fuzzy inference system for massive
data analysis, Computers & Geosciences, 37: 9, 1525-1531.

Unfortunately I get an error saying it can't find the output raster
map which is indicated in the .map file:

r.fuzzy.system maps=path/to/my/test_set.map rules=path/to/my/test.rul
family=Zadeh defuz=bisector imp=minimum res=100 output=output
ERROR: Raster map <output> not found

my test_set.map file contains beside the other sets also

%output
$ none {both; 0,20,20,40; linear; 0;1}
$ low {both; 20,40,40,60; linear; 0;1}
$ medium {both; 40,60,60,80; linear; 0;1}
$ high {both; 60,80,80,100; linear; 0;1}

The problem is related to the %output in the .map file not the setting
for output=output because there is also an error for following case:
r.fuzzy.system maps=path/to/my/test_set.map rules=path/to/my/test.rul
family=Zadeh defuz=bisector imp=minimum res=100 output=output_
map
ERROR: Raster map <output> not found

I see this code:
grass-addons/grass7/raster/r.fuzzy/r.fuzzy.system/map_parser.c
around line 54

            mapset = (STRING)G_find_raster2(map, "");
            if (mapset == NULL && strcmp(map, "_OUTPUT_"))
                G_fatal_error(_("Raster map <%s> not found"), map);

and wonder what it should do...

Markus

On Sun, Nov 4, 2012 at 10:20 PM, Markus Neteler <neteler@osgeo.org> wrote:

On Wed, Aug 29, 2012 at 1:26 PM, Johannes Radinger
<johannesradinger@gmail.com> wrote:

Hi GRASS users!

Maybe anyone has already tried the new GRASS GIS fuzzy inference
system (r.fuzzy.system).

I try to do my first fuzzy computation and follow the paper
Jasiewicz, J. 2011: A new GRASS GIS fuzzy inference system for massive
data analysis, Computers & Geosciences, 37: 9, 1525-1531.

Unfortunately I get an error saying it can't find the output raster
map which is indicated in the .map file:

r.fuzzy.system maps=path/to/my/test_set.map rules=path/to/my/test.rul
family=Zadeh defuz=bisector imp=minimum res=100 output=output
ERROR: Raster map <output> not found

...

I got an answer from Jarek:

On Mon, Nov 5, 2012 at 7:12 AM, JASIEWICZ Jarosław:

Hi
marker for output definition should be _OUTPUT_ not output. It is explained
in description.html more or less in second line. Program treats word output
as another input map and cannot find it obviously.

If you ask about this snippet it checks if user does not used restricted
name _OUTPUT_ as a input map. Probably spurious.
cheers
J.

Johannes, can you try? (please also suggest manual page changes if
needed).

Markus

Hi,

yes I got r.fuzzy.system working now. The output map in the rule file
must definitely be _OUTPUT_,
nothing else. This is also stated in the text of the article: "A new
GRASS GIS fuzzy inference system
for massive data analysis" in Computers and Geosciences.
But as I followed actually the example of the rule file in the article
(table 3), which is
clearly wrong, I was on the wrong path.
Anyway, everything solved now and it works!

best,
Johannes

Hi
marker for output definition should be _OUTPUT_ not output. It is explained
in description.html more or less in second line. Program treats word output
as another input map and cannot find it obviously.

If you ask about this snippet it checks if user does not used restricted
name _OUTPUT_ as a input map. Probably spurious.
cheers
J.

Johannes, can you try? (please also suggest manual page changes if
needed).

Markus