[GRASS-user] Probabilistic neighborhood analysis

Bernardo Santos bernardo_brandaum at yahoo.com.br
Mon Jan 16 14:19:43 PST 2023


 Hi Makus,
Nice suggestion, I did not know about this function within r.mapcalc (it is quite hidden!)I still do not know how to operationalize it, though.For now, the solution with R worked, but it could be useful to have something like that in GRASS in the future.Should I open an issue with a suggestion?(I do not have time to do it right now)
BestBernardo    Em quarta-feira, 11 de janeiro de 2023 09:39:17 GMT+1, Markus Neteler <neteler at osgeo.org> escreveu:  
 
 Hi Bernardo,

Not sure if this helps but there is also this function in r.mapcalc:

https://grass.osgeo.org/grass78/manuals/r.mapcalc.html

graph(x,x1,y1[x2,y2..])        convert the x to a y based on points
in a graph F
graph2(x,x1[,x2,..],y1[,y2..]) alternative form of graph()

The graph() function allows users to specify a x-y conversion using
pairs of x,y coordinates. In some situations a transformation from one
value to another is not easily established mathematically, but can be
represented by a 2-D graph and then linearly interpolated. The graph()
function provides the opportunity to accomplish this. An x-axis value
is provided to the graph function along with the associated graph
represented by a series of x,y pairs. The x values must be
monotonically increasing (each larger than or equal to the previous).
The graph function linearly interpolates between pairs. Any x value
lower the lowest x value (i.e. first) will have the associated y value
returned. Any x value higher than the last will similarly have the
associated y value returned.
[...]

Perhaps a dynamic (set of) graphs could be constructed?

Best,
Markus

On Wed, Dec 14, 2022 at 2:37 PM Bernardo Santos via grass-user
<grass-user at lists.osgeo.org> wrote:
>
> Hi,
>
> I am trying to produce scenarios of past land cover, before hydropower reservoirs were built. To do so, I need to fill empty pixels from a raster in the locations where the reservoirs are currently present, using as input the actual land cover map. I tried doing that with r.neighbors (taking method=mode) with neighborhoods of increasing size, to replace null pixels with the most common land cover class in the neighborhood. I also tried that with r.fill.stats which is basically the same thing.
> However, the results gets very homogeneous, since the interpolated null cells always get the value of the most common land cover class.
>
> Do anyway know of a method in GRASS to perform a "probabilistic" neirighborhood analysis, where cells in a neighborhood are given weights (possibly related to the distance to the central cell and to their frequency) and these weights are used to stocastically sample a value to fill the central cell?
> If not in GRASS, does anyway know of such a method in a different platform, i.e. R?
>
> Thanks!
> Best
> Bernardo
> _______________________________________________
> grass-user mailing list
> grass-user at lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/grass-user



-- 
Markus Neteler, PhD
https://www.mundialis.de - free data with free software
https://grass.osgeo.org
https://courses.neteler.org/blog
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-user/attachments/20230116/67dac74d/attachment.htm>


More information about the grass-user mailing list