I am working with nested polygons in QGIS and each of them has got a specific let's say n (numeric) value represented with a given colour gradient.

  • All my polygons are loaded into one shapefile

  • If I use Feature blending mode = Normal I miss (don't know why) some of the nested polygons, but colours are ok, see below:

    enter image description here

  • If I use Feature blending mode = Multiply QGIS shows me ALL the polygons BUT for all of them their colours overlap and their areas become darker than the reality, see below:

    enter image description here

What I need is to show ALL my polygons with their real (not-overlapped) colour gradient.

Is there a way I can get around this?

  • 1
    If you want to show all polygons, then you need to correct the topology. Having overlapping polygons in one shapefile is actually a topological error. – ahmadhanb Oct 6 '17 at 8:37
  • How can I correct the topology? – aaaaa Oct 6 '17 at 8:40

To modify the above topology, you need to use GRASS -> v.clean from Processing toolbox -> GRASS GIS 7 commands -> Vector -> v.clean, and in cleaning tool use Break, as you can see below:

enter image description here

You may need to re-enter the values in attribute table after cleaning your polygon shapefile.

You can refer to my answer to the question: Cutting all polygons with each other - mega slicing for illustrations.

  • Hi, your suggestion worked. But how can I remove the duplicated polygons created with the v.clean function so that I can only keep the 'real' ones? Is the 'rmdupl' function? (should I reopen my question?) Thanks – aaaaa Oct 10 '17 at 16:49
  • 1
    You need to ask a new question for this. But I suggest to try 'rmdupl' function. It may solve the problem. – ahmadhanb Oct 10 '17 at 17:08
  • new question gis.stackexchange.com/questions/258177/… – aaaaa Oct 11 '17 at 15:32

If the polygons are overlapping and you want to keep it this way (because that's what it should look like or you dont want to bother to fix it) you could try tu use the "Control feature rendering order" in the Layer Styling dialog

enter image description here

You may choose to order by area to get smaller polygon on top of larger polygon. This will work well in case of totally nested polygon, if it's partial overlap of several of polygon it could be impossible to display all polygon.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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