On Nov 11, 2008, at 6:45 PM, Hamish wrote:
John wrote:
I am creating a raster map that essentially summarizes the
intersection of a series of labeled rasters that each have
values of either 1 or null (presence/absence data). I am
using r.series like this to perform the summation across the
rasters that are all named with a prefix of presence_:
r.series input="`g.mlist rast
pattern='presence_*' sep=,`"
output=presence_sum method=sum --o
Can anyone think of a way to achieve this summation of
intersections in a way that will also allow for each cell to
have a label that concatenates all labels for the respective
raster maps that are present at that cell? E.g., let's
say three of the rasters are present at a particular cell,
and the labels for those rasters are 'raster1',
'raster4', and 'raster7'. I would like the
final map to have a label of 'raster1, raster4,
raster7'.
Any and all suggestions are greatly appreciated.
the trick here is to r.reclass 0/1 absence/presence maps to be 0/2^n
before running the sum. So you then get a sum like 13, which would
mean
the 8+2+1 maps were all present, or if the sum was 5 you'd know the
1+4
maps were present for that cell, and not others.
see also r.bitpattern and r.mapcalc bitwise operators. (sorry I don't
know the proper name/wikipedia link for this technique, I'm not a
computer
scientist)
I follow your logic here. I am still hopeful that someone will have
some sort of script or r.mapcalc magic to generate concatenated labels.
As I'm not a computer scientist either, I fear I would spend more time
trying to decipher the bitwise values and meanings than would be
practical. That is a good suggestion, nonetheless. I should have added
that I am using about 96 raster layers.
(Apologies for the mis-post before.)
Thanks,
John
_______________________________________________
grass-user mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-user