r.mapcalc (GRASS5.0beta)
Justin Hickey
jhickey at impact1.hpcc.nectec.or.th
Fri Feb 12 11:47:34 EST 1999
Hello Stephan
On Feb 11, 6:06pm, Stephan Eickschen wrote:
> I have some problems with r.mapcalc: I have imported several images with
> r.in.bin. The data are 2 byte ints - everything went fine. I want to
> calculate an average image by using r.mapcalc. It is not as simple as it
> sounds first, since there are some gaps in the data (every day has an
> image, but not all pixels in the images are "not zero", and the "non
> zero" cells are not at constant places). So I thought to set up a
> routine that
>
> - adds all images together, resulting in an image "sum"
> (r.mapcalc sum=day1+day2+day3+...)
>
> - creates an image of a sum of all "if(image)" resulting in "count"
> (r.mapcalc count=if(day1)+if(day2)+if(day3)+...)
>
> - calculate the avarege by division "sum/count"
> (r.mapcalc average=sum/count)
>
> Unfortunatly, it seems that every summation "implicitly" carries out
> some masking, because the result is:
>
> sum=(day1+day2+day3+...)*(day1&&day2&&day3&&...)
> count=(if(day1)+if(day2)+if(day3)+...)*(day1&&day2&&day3&&...)
>
> How can I "tell" GRASS5.0beta e.g. to take the NULL cells as 0???
>
> Any suggestion will be highly appreciated :)
Well, I'm not sure I can solve your problem, but we ran into problems using
NULLS with the old floating point code (before GRASS 5.0beta) and I wrote a
couple of programs to deal with them. One sets NULL values to zero (this one
you may be interested in, although I didn't quite finish it) and the other
attempts to fill in NULL values based on values of a 3x3 neighbourhood
surrounding the NULL value (i.e. they're averaged).
We haven't installed GRASS 5.0beta yet so I don't know if it works with that
version of GRASS, however, it shouldn't be too difficult to change it so that
it does (each program consists of a single file).
Anyway, let me know if you want the programs and I'll see what I can do.
--
Sincerely,
Jazzman (a.k.a. Justin Hickey) e-mail: jhickey at hpcc.nectec.or.th
High Performance Computing Center
National Electronics and Computer Technology Center (NECTEC)
Bangkok, Thailand
==================================================================
People who think they know everything are very irritating to those
of us who do. ---Anonymous
Jazz and Trek Rule!!!
==================================================================
More information about the grass-user
mailing list