[GRASS-dev] On post-processing a raster map's mapcalc related history string
Moritz Lennert
mlennert at club.worldonline.be
Mon Aug 20 09:08:18 PDT 2018
On 20/08/18 17:59, Nikos Alexandris wrote:
> A mapcalc expression, involving somewhat long(er) temporary map
> names, stored in the output raster map's history, looks like:
> ```
> Comments:
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 1
> && tmp.32493.17.recreation_opportunity == 1), 1,
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 1
> && tmp.32493.17.recreation_opportunity == 2), 2,
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 1
> && tmp.32493.17.recreation_opportunity == 3), 3,
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 2
> && tmp.32493.17.recreation_opportunity == 1), 4,
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 2
> && tmp.32493.17.recreation_opportunity == 2), 5,
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 2
> && tmp.32493.17.recreation_opportunity == 3), 6,
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 3
> && tmp.32493.17.recreation_opportunity == 1), 7,
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 3
> && tmp.32493.17.recreation_opportunity == 2), 8,
> if((tmp.32493.16.tmp.32493.11.tmp.32493.6.recreation_potential == 3
> && tmp.32493.17.recreation_opportunity == 3), 9)))))))))
> ```
>
> Any smart ideas on how to post-process this to get rid of all
> 'tmp.32493.16.tmp.32493.11.tmp.32493.6.' parts?
>
> Standard string manipulation utilities?
I would guess so.
>
> Or, rather, build an "fake" expression with the original map names just
> for the sake of having a cleaner history?
Using r.support ?
Looking at your expression, I'm mostly wondering why you don't just use
r.cross to get the same result ... ;-)
Moritz
More information about the grass-dev
mailing list