I have a vector layer showing the premises of hospitals in a city (purple layer) and a layer of all buildings (not just hospitals). From this I used Clip to find the hospital buildings (pink layer). Some hospital premises are present but the buildings within them aren't (within the red boxes). How can I select the premises where there are no buildings and add them to the pink layer? Essentially finding the polygons where the all buildings layer does not overlap with the purple layer. enter image description here


You could use the 'Select by Location' tool which is found in vector > Research Tools > Select by Location. Use the disjoint predicate to select features from your original Hospital layer which do not intersect with features in yourHospital Buildings layer.

Then either:

  • copy and paste the selected features between the two attribute tables,


  • save the selected features as a new layer, and then use the vector > Data Management Tools > Merge Vector Layers tool to add them to your Hospital Buildings layer.

  • Thank you, but for some reason 'disjoint' is greyed out (along with 'crosses'), even before I've chosen the layers, do you know why this could be? I'm on version 2.18.18 – MoMiJi May 1 '18 at 14:36
  • I got around this by using Research tools > Select by location with 'disjoint' as geometric predicate, saving the selection as a new shapefile and merging with Hospital buildings. Disjoint is no longer an option in Select by Location for QGIS 3.0. – MoMiJi May 3 '18 at 14:47

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.