[GRASS-user] MAP Calculator mean of eight neighbors to interpolate 0 value in raster map

achim ak7 at jupiter.uni-freiburg.de
Fri Aug 28 17:33:33 EDT 2009


what about setting all zero-values to NULL
(r.mapcalc "nullmap=(if (map==0,null(),map)")
and then running r.fillnulls?
(http://grass.itc.it/grass64/manuals/html64_user/r.fillnulls.html)

A.

stephen sefick schrieb:
> only the no zero values.  I could probably do something like if
> patch_benning[-1,-1]>0 etc., but I don not know how to code the number
> of non-zero numbers in the divisor to get and average.  Thanks for all
> of the help.
> 
> Stephen Sefick
> 
> On Fri, Aug 28, 2009 at 1:44 PM, Glynn Clements<glynn at gclements.plus.com> wrote:
>> stephen sefick wrote:
>>
>>> This does not quite work for my purposes.  The problem is the the 0
>>> values are in a 2 or 3 grid wide seam in between patched raster maps,
>>> so the value is lower than it should be using
>>>
>>> r.mapcalc "benning_dem=if(patch_benning==0,
>>> (patch_benning[-1,-1]+patch_benning[1,-1]+patch_benning[-1,0]+
>>> patch_benning[1,0]+patch_benning[-1,1]+patch_benning[1,1])/6,
>>> patch_benning)"
>>>
>>> any thoughts,
>> Do you want the average of all of the surrounding values, or only the
>> non-zero values?
>>
>> If you replace the zeros with nulls, you can use r.neighbors and
>> r.patch.
>>
>> --
>> Glynn Clements <glynn at gclements.plus.com>
>>
> 
> 
> 


More information about the grass-user mailing list