[GRASS-user] GRASS64 - r.mapcalc - replacement of specifics value by a mean of nearest neigbour

Paulo van Breugel p.vanbreugel at gmail.com
Sat May 4 11:45:01 PDT 2013


One way to do this would be to replace all values between 4 and 7 by 
NULL (e.g., r.null map=yourRaster setnull=4-7). Then use r.neighbors to 
calculate the mean of the nearest neighbors (e.g., r.neighbors 
input=yourRaster output=intermediateResult size=3. Have a look at the 
help file of r.neighbors and the part about the size of the neighborhood 
and option to use a circular neighborhood). Last step, patch the two 
layers together (e.g, r.patch input=yourRaster,intermediateResult 
output=yourOutput).

As for your second question, r.stats is indeed what you are looking for 
I think, it calculates the surface for each categories of the input 
raster layer.

Rgds

Paulo


On 05/04/2013 08:17 PM, BLANDENIER Lucien wrote:
> Dear Grass users,
>
> I'm working with rasters maps of large area and I want to calculate surface related to specific colours. Before this, I have to replace the surfaces of the rivers by the surrounding value (or the mean of the surrounding value).
>
> I looked at the manual of r.mapcalc but I didn't found how to do this...
>
> For instance, I want to replace all value between 4 and 7 by the mean of the value of the 4 nearest pixels.
>
> Is there any way of doing this?
>
> Which command shall I use then for calculating the surface for each color? r.stats? or is there a command that directly computes the surface?
>
>
> Best regards
>
>
> Lucien
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/grass-user

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20130504/643e4cb1/attachment.html>


More information about the grass-user mailing list