[GRASS-user] How to mask only specified raster layer?

Gregory Penn gregory.penn at gmail.com
Fri Oct 4 12:19:18 PDT 2013


I am having difficulty achieving a specific visual effect in maps produced using GRASS 7. It has occurred to me that rather than only than addressing the individual step that currently has me stymied, I should describe the entire visualization that I am trying to achieve in case the whole algorithm I'm considering is fundamentally flawed.

What I want [Map layers are listed from bottom (1) to top (3)]:
1) base map - rgb image raster depicting ground cover, water, etc . . ..
2) heat map - a single-channel raster, should be masked with a vector (species range-map) and semi-transparent. Note that the pixel size in this raster is very large and the masking should result in clean curves (partial raster pixels) at the mask boundaries.
3) administrative boundaries - vector layer (should be trivial to accomplish, so will not be discussed below)

I am able to get several individual components of this visualization into a display, but not all of them at once. Here's what I can do so far.

*Semi-transparency
r.composite -c red=basemap.red green=basemap.green blue=basemap.blue output=basemap_rgb
r.blend -c first=basemap_rgb second=dataraster percent=20 output_prefix=basemap_data_blend
The problem - No masking of the data (heat map) raster

*Masking
r.mask vector=rangemap
The problem - Effects all raster layers and it's unclear to me how I could blend a masked raster with an unmasked raster.

Note that I need to figure out how to do this all from a command prompt so that I can script the process to iterate the map production over many heat map rasters.


More information about the grass-user mailing list