2

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?

2
  • 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
    Commented Oct 6, 2017 at 8:37
  • How can I correct the topology?
    – aaaaa
    Commented Oct 6, 2017 at 8:40

2 Answers 2

4

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.

3
  • 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
    Commented Oct 10, 2017 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
    Commented Oct 10, 2017 at 17:08
  • new question gis.stackexchange.com/questions/258177/…
    – aaaaa
    Commented Oct 11, 2017 at 15:32
4

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 and acknowledge you have read our privacy policy.

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