I must have made a miss-step because turning the 0 to null and then used r.fillnulls. Thanks everybody for there very helpful responses. I did get to learn about mapcalc in the process. kind regards,
Stephen Sefick On Fri, Aug 28, 2009 at 5:21 PM, Glynn Clements<[email protected]> 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? >> >> 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. > > r.mapcalc "benning_dem = eval( \ > m = patch_benning, \ > numer = m[-1,-1]+ m[-1,0]+ m[-1,1]+ m[0,-1]+ m[0,1]+ m[1,-1]+ m[1,0]+ > m[1,1], \ > denom = > !m[-1,-1]+!m[-1,0]+!m[-1,1]+!m[0,-1]+!m[0,1]+!m[1,-1]+!m[1,0]+!m[1,1], \ > if(m,m,numer/denom)) > > The "!" (logical "not") operator returns 1 if its operand is zero and > 0 otherwise. > > -- > Glynn Clements <[email protected]> > -- Stephen Sefick Let's not spend our time and resources thinking about things that are so little or so large that all they really do for us is puff us up and make us feel like gods. We are mammals, and have not exhausted the annoying little problems of being mammals. -K. Mullis _______________________________________________ grass-user mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/grass-user
