QGIS – How to Position Symbols Above Labels on a Map

labelinglayersqgis

I didn't find any answer to this question. In this post it is said that labels are by default on top of everything else: How to place labels under a vector layer?. But it was for 2.2, and years went by since then so maybe now there is the possibility…

So I would like labels of a layer to appear under symbols of another layer. For now I get a result like you can see below.

enter image description here

The blue squares with blue content is a personnalized symbol (linked to a database), and this is the main information to be displayed. The greyish number is a cadastre reference, which need to appear, but not so prominently. I also have sometimes some other labels on the same space, which I also would like to appear under the blue box. Does anyone know a way to do so directly in QGIS ?

Best Answer

I don't think there is a way to do this in the map canvas itself. The labels will always be on top at least in QGIS 2.x.

But for the print composer, you can work with two maps. They should be in the same location and placed one on top of the other. The bottom one would have the labels and no visible features and the top ones the vector features without labels.

An example of similar can be seen below. Where the bottom most map has the labels above the insert map box (which will always be on top). This was done by having the map with the box underneath a map with the labels:

enter image description here

Related Question