#256: r.colors enhancement
-----------------------------------+----------------------------------------
Reporter: wegmann | Owner: grass-dev@lists.osgeo.org
Type: enhancement | Status: new
Priority: trivial | Milestone: 6.4.0
Component: default | Version: 6.3.0
Keywords: r.colors colors range | Platform: Linux
Cpu: Unspecified |
-----------------------------------+----------------------------------------
I had the problem that I wanted to display 5 related raster which have
different range of values (e.g. raster1: 0-10; raster2: 5-15; raster3:
6-17 etc.) with the same legend (bgyr) so that raster1 is mainly colored
in blue, while raster3 has more green/yellow colors and so on.
I managed it with a script and it is also possible by defining the color
rules by hand but adding a flag and add all related raster to a r.colors
command would be very handy:
-newflag would scale the colors of raster1 to the range of colors provided
by the values of all rasters. Perhaps it is also possible to add 'g.mlist
...' like in r.series for this feature.
> but adding a flag and add all related raster to a r.colors command would
be very handy:
>
> r.colors map=raster1 raster=raster1,raster2,raster3 col=bgyr -newflag
>
> -newflag would scale the colors of raster1 to the range of colors
provided by the values of all rasters.
If you're only interested in the range, adding minimum= and maximum=
options would be a better approach.
yes that's right, just defining the range would be fine.
BTW is it possible to extract automatically the min/max values of a range
of rasters with another module (like r.univar)? So that the user knows the
range.
> BTW is it possible to extract automatically the min/max values of a
range of rasters with another module (like r.univar)? So that the user
knows the range.
You can do it for a single map with "r.info -r". For multiple maps, you
could use e.g.:
{{{
eval `for map in $maps ; do r.info -r $map ; done | sed 's/^.*=//' | sort
-n | sed -n -e '1s/^/min=/p;$s/^/max=/p'`
}}}