[GRASS-user] r.fillnulls error

Hamish hamish_b at yahoo.com
Fri Sep 9 22:05:27 EDT 2011


Salvatore wrote:
> I'm trying to use r.fillnulls for a DTM generated importing
> srtm data , but it does' t work. This is the message:
>                
> r.fillnulls --overwrite input=14 at PERMANENT output=14_int        
>             
> Locating and isolating NULL areas...
> syntax error, unexpected '@', expecting ')'
> Parse error


r.mapcalc is unhappy because the map name isn't quoted internally
and it can't decide if the map name is a number or a name. I think
the same would happen if you had a "-" in the map name. If you
don't include the @mapset part it still runs, but the result
is no good as isnull(14) is always false if it thinks 14 is a
number.

quick work-around: rename the map to add a letter before the "14".

this bug is hopefully fixed in devbr6 with r48227, after testing
it should be backported to 6.4svn.


I am not sure if "$input" needs to be quoted or not in the
trunk python version:

    #creating 0/1 map:
    grass.mapcalc("$tmp1 = if(isnull($input),1,null())",
                  tmp1 = tmp1, input = input)

?


Hamish




More information about the grass-user mailing list