I am using QGIS software. I have shapefile layer of points and a shapefile layer of polygons(many of them overlapping). I need to determine which polygon(s) each point lies in.

I tried "Join attributes by location" with the solution posted here:(How to find the polygon inside which a point lies?). My question is different because many of my points will be inside multiple polygons. This only gives one polygon per point. My solution will have many polygons for each point.

For example, I would like to know the identity of every blue circle that lies underneath each black dot.

enter image description here

How can I complete this analysis?

  • 1
    I think 'Point sampling tool' is what you are looking for :gis.stackexchange.com/questions/137352/… Dec 28, 2016 at 0:29
  • @user80597 Thanks, but unfortunately this still gives me the same problem. For each point, it gives me a single polygon. I need all possible polygons for each point.
    – Mitchell
    Dec 28, 2016 at 0:57
  • 1
    I solved this problem. Simply use the "Intersect" feature under Geoprocessing tools.
    – Mitchell
    Dec 28, 2016 at 1:13
  • 2
    @Mitchell - Consider posting your comment as an answer and then accepting it by clicking the green-faded tick ;)
    – Joseph
    Jan 4, 2017 at 12:34

2 Answers 2


I solved this problem. Simply use the "Intersect" feature under Geoprocessing tools.

  • Could you please show how you did this?
    – Andreas
    Dec 15, 2022 at 8:49

Found a solution for polygons that don't overlap each other. Maybe that can be edited and used for your case as well: Added a column to the point layer "poly_id". Filled with the expression:

        aggregate( 'layer_name_polygons', 'array_agg', $geometry ),
        intersects( $geometry, @element ) 
      ), '1' ) ), 'id' )

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.