34

Probably a very basic question here, I want to change the draw order of a shapefile in QGIS, how can this be done?

As you can see in the picture below, only the "10" layer is shown, the others are below it... However, since this is a depth map of Skagerrak, I would like the other layers to show up on top of it.

Example

0

5 Answers 5

34

QGIS >= 2.14 has built in support for specifying the rendering order. It's on the bottom of the "styles" tab under your layer properties.

enter image description here

2
  • this version is better since it also works inside one level for overlapping objects (in the case of points, you can think of trees, which you render as a forest, with the one on the top of the map covered by the one on the bottom)
    – Arthur
    Commented May 21, 2016 at 9:48
  • 1
    This is much better than using the Symbol levels (see other answer). This technique is persistent while using symbol levels requires manually updating each time you change the classification.
    – Cyrille
    Commented Jan 23, 2017 at 9:19
17

You could also change the Symbol levels of your shapefile to give each symbol layer higher priorities than others. You can access this from:

Layer Properties > Style > Advanced > Symbol levels

Symbol levels

1
  • As Dave put in his answer, Style has been renamed to Symbology in later versions of QGIS
    – Fee
    Commented Oct 26, 2021 at 14:48
12

Just tried to do something like this in Qgis 3.44, as expected the design has changed.

Select Layer, Properties, ->Symbology

On this dialog on the left hand side lurking about the Help and Style button there is 'Layer Rendering', expand it.

Towards the bottom on the screen there is a clickbox 'Control feature rendering order' enable it. Look in the far right side, there is a button labeled AZ with a down arrow, click it, then creates a popup called Define order, you can then use a variable or an expression to control the rendering

See attached image Qgis with modules pop up

3
  • This should have been submitted as an edit of the top-rated answer. It's the same thing except for the Styles tab having been renamed to Symbology.
    – Gabriel
    Commented Jan 31, 2019 at 14:27
  • Perhaps it should have been presented as you say, but it took me bout 15 mins to work out how to do it on the new version, I was trying to be helpful
    – Dave
    Commented Jan 31, 2019 at 18:41
  • I'm not trying to shoot you down. Take a look at the tour and read the Improve posts by editing or commenting section. One of the strengths of SE is that "[its] goal is to have the best answers to every question, so if you see questions or answers that can be improved, you can edit them." This makes finding valid answers easier. Submitting an edit to the above answer would help others who struggled with a version change like you to get the best information possible without having to scroll through several answers. It's a collaborative effort!
    – Gabriel
    Commented Jan 31, 2019 at 18:50
4

Just change feature blending to "Multiply" and you will see the borders of all features without having to change anything else.

I really cannot recommend to split the vector layer as you posted. That just does not scale at all.

2

Ill answer my own question, just found it! ;)

The (probably) easiest way is to simply split each layer to a different shape file. this is done in vector -> Data -> split vector layer (translated the menu options from Swedish..).

Easy Schmeasy!

2
  • 3
    I dont know if that is the easiest way, but it will definitely work!
    – ed.hank
    Commented Mar 3, 2016 at 17:56
  • you might want to accept any of the answers :) Commented Jun 4, 2020 at 20:05

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.