I'm looking for a possibility to identify the intersecting parts in one single polygon layer with ten features, where at least four polygons overlap. How can I do it in QGIS?
4 Answers
I would use Join Attributes By Location, located in the Vector menu, under the category Data Management Tools.
Choose the option Take Summary Of Intersection Features, and check the box sum. This summarises all numerical attributes of the intersected polygons in new attributes (which you didn't ask for), but it also creates an attribute called Count, which lists how many features touched each intersected feature.
I just tested this with two polygon layers, and it worked fine.
-
every polygon intersects obviously with every polygon, so the count for each polygon will everytime be = 10 (in my case). i just need the counts for the several intersecting areas, when 4 or more features intersect ...– milvusCommented Sep 23, 2015 at 13:19
In QGIS 3.14, The processing "Join Attributes By Location", located in the Vector menu, under the category Data Management Tools doesn't offer to summarise anymore.
So you have to go to the processing toolbox and use the processing "Join attribute by location (summary)"
You can use the "TopolyChecker" Plugin.
When you activate it click on Configure and use the layer with the overlapping features and as rule "must not overlap". Then add the rule.
Afterwards click on validate all. You will get a list of all geometries that are overlapping other geometries in the same layer.
]1 But how you can add a rule with 4 unfortunately I have no idea if this is possible with the normal qgis tools.
-
the problem is that i should have a new layer with the resulting areas ( 4 or more polygon parts intersecting) and delete the remaining ones (3 and less polygons intersecting). ideas???– milvusCommented Sep 23, 2015 at 9:10
You should use the Union tool first (Processing Toolbox > Vector overlay > Union) :
This algorithm checks overlaps between features within the Input layer and creates separate features for overlapping and non-overlapping parts. The area of overlap will create as many identical overlapping features as there are features that participate in that overlap
As you get separate polygon for each overlapping area you can then use the join attribute by location as @Christophe and @Hexamon suggested in their answer and get an accurate count.