# [GRASS-user] resampling question

Dylan Beaudette debeaudette at ucdavis.edu
Thu Oct 20 12:03:46 EDT 2011

```On Thursday, October 20, 2011, Kirk Wythers wrote:
> On Oct 20, 2011, at 9:22 AM, Dylan Beaudette wrote:
>
> > The neat thing about GRASS and other OSS, you can always take a peak at
the
> > source code. From my basic understanding of C, I don't think that there is
> > anything here that would accommodate ties-- so the result of
> > mode(4,4,4,4,5,5,5,5) would probably be 4 -- as it comes first. This is
the
> > behavior in R when using something like which.max(table(x)).
>
> Thanks for the reply Dylan. As I read through the code you pasted, it looks
to me that as the variable 'values' gets counted, then in the case of a tie,
such as this 2 x 2 matrix
>
> _____
> | 4 | 5 |
> _____
> | 4 | 5 |
> _____
>
> would yield a mode result of 4 with the logic that the tie goes to the
smallest value in sorted list of values? In this case...  4 4 5 5 = mode of 4,
where as a sorted list such as 1 2 3 4 would yield a mode of 1?
>
> Is that right?
>

That is my interpretation of the code. Perhaps Glynn or someone else more
familiar with the raster library can comment further. Also- why not try a
simple experiment. You can create fake raster data with a text editor and read
it in via r.in.ascii.

put the following in a text file called 'fake.rast' :
----------------------------------
north:  4
south:  0
east:   4
west:   0
rows:   4
cols:   4
4 4 4 4
4 4 4 4
5 5 5 5
5 5 5 5
------------------------------------

# import
r.in.ascii in=fake.raster out=f
g.region rast=f -p

# check
d.mon wx0
d.rast.num f

# aggregate
g.region res=4 -p
r.resamp.stats --o in=f out=f.mode method=mode

# check
d.erase
d.rast.num f.mode

... which shows that our interpretation is correct. An interesting side-note:

# region is still set to a resolution of 4x4 units = 1 cell
# NN-resampling of the original data gives us 5...
r.out.ascii --q -h f
5

# aggregated (mode) gives us 4...
r.out.ascii --q -h f.mode
4

Fun!

--
Dylan E. Beaudette
USDA-NRCS Soil Scientist
California Soil Resource Lab
http://casoilresource.lawr.ucdavis.edu/
```