In QGIS 2.14 is there any way of just showing features within the atlas from another layer. In the image the atlas feature is the red "Estates" layer and the blue buildings are the "buildings" layer.

I have created over 30 plans showing different estates. I wish to only see the buildings that are within the estates boundary and none of the others. Is this possible?

enter image description here

2 Answers 2


If as @Underdark suggests you set a rule based style using a filter like:

intersects( $geometry , @atlas_geometry )

You will get the effect that you want, though some of my buildings cross the parish boundaries:

without filter:

enter image description here

With Filter: enter image description here

  • 1
    If you modify the filter to intersects( centroid($geometry) , @atlas_geometry ) the polygons which only touch the atlas feature at the border, will be left out.
    – Erik
    Mar 25, 2021 at 9:35

You need to spatially intersect the two layers in order to assign an attribute of the estate to the buildings.

If you're using shapefiles, I would suggest doing this in the DB Manger and creating in-memory layers that are used for the Atlas features.

If you're using PostGIS, you can update your buildings table to include the estates value using ST_Intersects

Make sure you have the 'memory layer saver' plugin installed.

You can then follow the solution in this thread: How to filter features in other layers of a QGIS Atlas?


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.