GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7. Go directly to the new manual page here


r.shaded.relief - Creates shaded relief map from an elevation map (DEM).


raster, elevation


r.shaded.relief help
r.shaded.relief map=string [shadedmap=string] [altitude=float] [azimuth=float] [zmult=float] [scale=float] [units=string] [--overwrite] [--verbose] [--quiet]


Allow output files to overwrite existing files
Verbose module output
Quiet module output


Input elevation map
Output shaded relief map name
Altitude of the sun in degrees above the horizon
Options: 0-90
Default: 30
Azimuth of the sun in degrees to the east of north
Options: 0-360
Default: 270
Factor for exaggerating relief
Default: 1
Scale factor for converting horizontal units to elevation units
Default: 1
Set scaling factor (applies to lat./long. locations only, none: scale=1)
Options: none,meters,feet
Default: none


r.shaded.relief creates a raster shaded relief map based on current resolution settings and on sun altitude, azimuth, and z-exaggeration values entered by the user. If no output shademap name is given, the new shaded relief map is named <input_map>.shade. The map is assigned a grey-scale color table.

The parameters controlling the shading are:

  1. A raster map layer to provide elevation values for the shaded relief map. Typically, this would be a map layer of elevation; however, any raster map layer can be named.
  2. The altitude of the sun in degrees above the horizon (a value between 0 and 90 degrees).
  3. The azimuth of the sun in degrees to the east of north (a value between 0 and 360 degrees; clockwise from north).
  4. The scaling parameter, which compensates for a different horizontal scale than vertical scale. If scale is a number, then the ewres and nsres are multiplied by that scale to calculate the shading. (Default=1.0 for equivalent horizontal and vertical scales.)
  5. For the special case when a latitude-longitude projection is used with an elevation map measured in meters (e.g., SRTM, ETOPO2 etc.) or feet, the units can be set to automatically set the horizontal scale to the the number of meters (scale=111120) or feet (scale=370400) in a degree of latitude. The script scales latitude and longitude equally, so it's only approximately right, but for shading it is close enough. It makes the difference between a usable and unusable shade. The units parameter overrides the scale parameter.
  6. The zmult exaggeration factor that changes the apparent relief for the shaded relief map. This can be any positive (or negative) floating point value. (Default=1.0)
Specifically, r.shaded.relief executes a r.mapcalc statement. Refer to the manual entry for r.mapcalc for an explanation of the filtering syntax shown in the above expression. See, for example, the section on "The Neighborhood Modifier".

r.shaded.relief assigns a grey-scale color table to the new shaded relief map.


To visually improve the result of shade maps from low resolution elevation models, use r.resamp.interp with bilinear or bicubic method to resample the DEM at higher resolution. r.shaded.relief is then run on the resampled DEM.


In this example, the aspect map in the North Carolina sample dataset location is used to hillshade the elevation map:
g.region rast=elevation -p
r.shaded.relief map=elevation shadedmap=elevation.shaded

In Latitude-Longitude locations (or other non-metric locations), the scale factor has to be used:

# Latitude-Longitude example
r.shaded.relief map=srtm shadedmap=srtm.shaded scale=111120


"r.mapcalc: An Algebra for GIS and Image Processing", by Michael Shapiro and Jim Westervelt, U.S. Army Construction Engineering Research Laboratory (March/1991) (PDF).

d.his, g.region, r.blend, r.colors, r.mapcalc, r.resamp.interp


Jim Westervelt, U.S. Army Construction Engineering Research Laboratory

Last changed: $Date: 2014-05-10 14:07:57 -0700 (Sat, 10 May 2014) $

Main index - raster index - Full index

© 2003-2016 GRASS Development Team