Shaded relief maps with QGIS

Creating a shaded relief map from digital elevation data is a nice way to create a backround map for web mapping or other GIS work. Thanks to the know-how and the funding from the Swiss Humanitarian Aid Unit, QGIS now has a sophisticated function for relief map generation. The method is described in detail in an paper by Marc-André Bünzli. An important part of the method is the choice of the elevation colors. The QGIS plugin has the possibility to analyse the frequency distribution of the elevation values in the DEM and to propose color changes where significant changes in the histogram occure. It is of course also possible to modify the color scheme, to insert a completely different one in the dialog or to generat a shaded maps without color.

screenshot

As illustrated below, the relief map is composed by three components modulated onto the final map to give it a more three-dimensional appearance. These intermediate steps are shown here to get a better understanding of the method. In QGIS, the user directly gets the combination as a result.

  • The first component consists of a hillshade from north-west (300 degree) and an elevation color

screenshot

  • The second component is a hillshade and a gray value depending on the slope angle (darker is steeper). The hillshade angle of this second component differs to the first component by 15% to have better contrast in faces towards the light source. The second component is merged to the relief map with 30% weight.

screenshot

  • The third component consists of a hillshade from 270 degree and a yellow color in cells facing towards the light source. It is merged to the relief map with 10% weight

screenshot

And the final relief map looks like this:

screenshot

11 Responses to “Shaded relief maps with QGIS”

  1. Tim Sutton Says:

    Awesome work Marco & co! Just a small typo: ‘Aid Agency’ instead of ‘Add Agency’.

    Have you published the plugin somewhere so that we can play with it too? :-)

    Regards

    Tim

  2. Marco Hugentobler Says:

    Hi Tim

    The functionality is in the ‘raster terrain analysis plugin’ in QGIS master (in the menu Raster->Terrain analysis->Relief)

    Regards, Marco

  3. Albert Kiefer Says:

    MArco,

    I’m on a Mac. In my Q-GIS menubar there is no such option under Raster? I only have Raster->Analysis->DEM

    Is this PC specific?

    Albert

  4. Marco Hugentobler Says:

    Hi Albert

    You need to enable the ‘Raster terrain analysis plugin’ in the plugin manager. Also you need to have a very recent build of the QGIS master branch. Then go to Raster->Terrain Analysis->Relief (Raster->Analysis->DEM is a different one). This should be same on all systems

  5. Albert Kiefer Says:

    Hi Marco,

    I have gone ahead and installed MASTER (currently 1.9.90-alpha) But also here… no such menu entry. And in the plug-ins list (all repositories enabled) no listing of Relief.

    So probably Mac is different :-(

    Albert

  6. Marco Hugentobler Says:

    If you go to ‘Plugins->Manage Plugins’ there should be an entry ‘Raster terrain analysis plugin’. After enabling, there is a menu entry Raster->Terrain Analysis->Relief.

    Maybe you have looked in the plugin installer (Plugins -> Fetch Python plugins)? The raster terrain plugin does not need to be installed, it comes directly with QGIS (it is a default plugin).

  7. Albert Kiefer Says:

    Hi Marco,

    I assure you it’s not there on my Mac. I have a plug-in loaded called “Raster Based Terrain Analysis”

    In it are options for: Slope, Aspect, Ruggedness Index and Total Curve.

    Nothing else.

    Albert

  8. Marco Hugentobler Says:

    Oh, this is the right plugin, but the old dialog (before the relief function has been added). Need to check that on my wifes Mac.

  9. Albert Kiefer Says:

    Hi Marco,

    Vielen Dank! Grüßen aus den Niederlanden…

    Albert

  10. Tomáš Pospíšek Says:

    Yes! Congratulations Marco & Marc-André!

  11. Simbamangu Says:

    Looks fantastic! Still no way to access it on a Mac, though?

Leave a Reply