At QGIS 3.4.7, I have some polygons that are overlapped and I use Polygon dissolver (by attribute) from SAGA to dissolve then and I check the option "keep inner boundaries", but this tool takes too much time to run.

I need them that way for the Check Validity to point to the overlapping location.

So, Are there any other way to dissolve the polygons and keep the inner boundaries to gain some time? The native Dissolver and GDAL´s don´t have that option.

EDIT: Example of inner boundaries in a single feature

enter image description here

  • What does "keep inner boundaries" do? I couldn't find any documentation that explains it. – csk Apr 23 at 18:12
  • @csk when two or more polygons colide, with the same atribute, they are dissolved, but their inner lines continuos to exists. In the image in the EDIT, there is only one feature, with the inner boundaries keeped. – Herbert Santos Apr 23 at 18:27
  • Thank you for adding the illustration. If that's all one feature, then it has invalid geometry. Polygons can't self-intersect like that. – csk Apr 23 at 18:30
  • Exactly, I have a model that checks it. But to do that check I need to forge the self-intersection when it´s possible. – Herbert Santos Apr 23 at 18:34
  • 1
    Try the collect geometries tool. "This algorithm does not dissolve overlapping geometries - they will be collected together without modifying the shape of each geometry part." – csk Apr 23 at 18:37

Judging by your screenshot, I propose a simple solution

Source data two layers with a general overlap, see the screenshot below enter image description here

1) In QGIS, use Vector> Geoprocessing> Symmetric difference ...

Result, See the screenshot below enter image description here

2) Next, run Vector> Geoprocessing> Crop the result, see the screenshot below enter image description here

3) Next, combine the two results into one Vector> Geoprocessing> Combining the result, see the screenshot below enter image description here

... there seems to be a similarity with your drawing ...

if I misunderstood your question, let me know ...

  • It´s a good solution, but in my case, the input is only one shape with several polygons and a lot of possibilities of overlaps, so that is not a solution to my question, but a good point. – Herbert Santos Apr 24 at 11:22
  • as an option, in this case, you need to spread the overlapping polygons in 2 layers, if it is convenient, or look for a solution for only one layer ... – Cyril Apr 24 at 11:48
  • a solution for only one layer is to use the Dissolver from SAGA as in the question. What I'm looking for it´s a faster solution. – Herbert Santos Apr 24 at 11:56
  • There are solutions for a single layer, only using PGSQL scripts, for example gis.stackexchange.com/a/785/120129 – Cyril Apr 24 at 12:00

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.