I have a layer of cadastral polygons that I'd like to display as hillshaded. For the elevation model I can use either an SRTM geotiff or use a set of 20m contour vectors.

While I could make a jpeg of the cadastral regions and drape that (never done it in QGIS, but I think you can call GRASS to do it), is there a way to directly drape and hillshade the vectors?


In my first try, I have opted for this method: Basic white hillshaded SRTM DEM, with 10m contour vectors added and coloured cadastral polygons made 60% transparent. Not too bad for minimal effort, but a bit dull.

"Hillshaded" cadastral map


It turns out that the suggestions to use layer blending modes does not require any great delving into the inner workings of QGIS, but is right there in the layer properties, and is as easy as changing a line width or a fill colour. See screenshot below. Also I found some nice examples and discussion of it from the developer, Nyall Dawson nyalldawson.net: Blend modes for layers.

Layer blending mode command


The screenshot below provides me with a solution to my initial question, "is there a way to hillshade vector polygons with a DEM in QGIS". I would now say yes, or at least the illusion of it is practically perfect.

The Screenshot actually shows two blending modes compared. The one above the thick red line is "multiply" applied to a 60% transparent green polygons, while below is "burn", also to a 60% green polygon. Burn gave a brighter, more '3D' result.

Multiply vs Burn

Two points to note: I still found the contour lines necessary to promote the effect; without them the DEM lacked visual form. The contours are above the polygon layer this time (looks better), whereas my old screenshot had them under (looks worse). Secondly, when using Burn, I had to put the cadastral boundaries as a separate layer over the green fill layer, because otherwise 'burn' burned the lines out.

  • 1
    Hillshading is always a raster covering the whole area, so how should a vector file with hillshading look like? Do you want to shade the line color?
    – AndreJ
    Commented Feb 4, 2014 at 6:43
  • Could you polygonise the raster and do a basic spatial location query between the two vector layers?
    – user21482
    Commented Feb 4, 2014 at 6:45
  • #Andre - No, I'd like to vary the shade of the polygon fill. Probably the answer is no, you can't unless you make a jpeg image of the flat surface and drape that. But I thought I'd ask. You never know.
    – IanS
    Commented Feb 4, 2014 at 6:46

3 Answers 3


Even better results can be achieved using layer blending modes (try "multiply") instead of transparency. The colors will be more vibrant. You can find a lot of examples for blending and hillshades on the QGIS Map Showcase, e.g.

enter image description here

  • Hm, looking at the QGIS Map Showcase now .. not seen it before ... some inspiring cartography there. I'm about to look up layer blending modes and try that out.
    – IanS
    Commented Feb 4, 2014 at 8:35
  • 1
  • #Alexandre - Excellent map. That's truly something to aim for. No doubt you are drawing my atention to it because the maker says "blending mode 'Multiply' was used for the shade layer." I will be looking into this shortly!
    – IanS
    Commented Feb 4, 2014 at 11:34

Why not simply overlay the vectors with your hillshade raster layer and set the raster transparency to about 60% or 70%? This is an approach I regularly use with good effect in QGIS, Mapnik and ArcMap.

In QGIS you can use GRASS but a simpler approach to calculating a hillshade raster from your SRTM is to go Raster->Terrain Analysis->Hillshade.

  • That worked quite well, but using the layer blend modes is even better.
    – IanS
    Commented Feb 5, 2014 at 11:15

you can only have a single value per polygon, but if your polygons are not to large it can still look ok. So you first compute your hillshade from your DEM (r.shaded.relief), then you extract the mean of the illumination value for each polygon (v.rast.stats). With this new value in the attribute field, you us a graduated color symbology in QGIS and you have your hillshade.

For very large polygon with respect to the display scale, you should draw the boundaries only on top of the DEM or make it slightly transparent (in the symbol tag, select all the symbol classes, right click and choose set transparency from the context menu).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.