[GIS] Create a common scale for different raster layers in GRASS, SAGA or QGIS

grasslegendqgisrastersaga

I have a number of layers that represent the temperature variability of the water in a lake.

They have been generated trough interpolation and have different values as they represent temperatures from different seasons.

Everything looks fine in the maps except that they have similar colors although they represent different values. For example on the March-May map I have red for 10 degrees C, while for June-September the same red color is used for 20 C.

Ideally I should be able to extend the temperature (value) range for all of them to be the same. So if I look at the spring map I should seem more blue (suggesting colder water) while in the summer map more red regions.

I played with the d.legend and I can modify the range but only as a subset i.e if for spring I have 0-12 C I can reduce it to 0-8 C, but I cannot extend it to 0-20.

So now the question: How can I unify the legend ranges for all these layers so that a specific color represents the same value on all the maps?

I looked at r.recode and r.rescale, but they seem to take the same color range and change only the number corresponding to that color. I want to change the color for the value and not the opposite. In addition the rescaled scalebar is discontinued instead of a nice gradient.

Best Answer

For GRASS you can use the r.colors to modify the color table for a raster map.

r.colors also ships with pre-defined color maps for temperature scales. It's simple to use even

r.colors map=spring color=celsius

You can also copy the color table from one map to another

r.colors map=spring2 raster=spring

For more details see the GRASS GIS manual http://grass.osgeo.org/grass64/manuals/r.colors.html

Related Question