[GRASS-user] compositing rasters
Dave Roberts
dvrbts at ecology.msu.montana.edu
Wed Jan 1 09:10:00 PST 2014
Tyler,
Well, that's simply brilliant. I knew it should be easy. Plus,
when I tested it I found out my rasters weren't truly mutually exclusive
after all, as some cells = 3. This is apparently an artifact of
v.to.rast polygon boundary issues but it's a pretty small problem.
Nonetheless, I have begun work on the r.update function I mentioned
in my last post. It has general utility (e.g. fixing the non-exclusive
problems I just mentioned) and seems easy enough as a crude hack. If it
shows general utility I'll post it and see if someone with GRASS coding
skills wants to take it up in C with the API.
Thanks Tyler!
On 01/01/2014 09:56 AM, Tyler Smith wrote:
> Dave Roberts <dvrbts at ecology.msu.montana.edu> wrote:
>
> Colleagues,
>
> I know this must be easy, but I haven't found it.
>
> Suppose I have three grids (a, b, and c) where each grid is 0 or 1,
> and the 1s are mutually exclusive. I want a new grid where if grid
> a=1 then newgrid = 1; if grid b=1 then new grid = 2; if grid c=1 then
> newgrid = 3.
>
> Something like r.mapcalc "new=if(a,1) || if(b,2) || if(c,3)"
>
> seems like it ought to work but I can't seem to use multiple input file
> that way.
>
> Thanks in advance for any help, Dave
>
>
> What about
>
> r.mapcalc new=a + b*2 + c*3
>
> If the maps are mutually exclusive, only one of the three will be
> non-zero for each cell.
>
> Tyler
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
David W. Roberts office 406-994-4548
Professor and Head FAX 406-994-3190
Department of Ecology email droberts at montana.edu
Montana State University
Bozeman, MT 59717-3460
More information about the grass-user
mailing list