In QGIS (2.14.0) I have a polygon layer I need to show labels for, but often the polygons overlap. I need to see the labels for each of the overlapping parts but when the two polygons are coincident, the label gets placed in the same location and overlaps one another.

For example, polygon A is 50m^2 and is labelled "A", polygon B is also 50m^2 and coincident with polygon A but is labelled "B". Currently I get both "A" and "B" rendering on top of each other whereas i want "A" and "B" to render without colliding, so both are readable.

In the image below the three south western parcels each have "2-Ground Oriented Infill" and "17-Coach Houses" overlapping polygons, but labeling engine has drawn "17" first on one feature and "2" first on the other, so they look mismatched but should all be the same according to the polygon colour, ideally both "2" and "17" labels should show and not overlap. The south eastern polygon doesn't overlap as "7-Riparian Areas" is a different polygon shape than the overlapped "17-Coach Houses" in that case".

  • can you post a screenshot? also, under label > rendering > label options, have you got "show all labels for this layer (including colliding labels)" checked? Normally this is unchecked by default, so this shouldn't happen. – Steven Kay Mar 15 '17 at 21:03
  • yes, i have show all labels checked on – user25644 Mar 15 '17 at 21:34
  • You could use the EasyCustomLabeling plugin to move labels to where you want them to be – Martin Hügi Mar 16 '17 at 7:00
  • @user25644, does the overlap occur with coincident features of the same polygon layer or with coincident features of different polygon layers? – mgri Mar 17 '17 at 20:52
  • The issue occurs with coincident polygons of the same layer – user25644 Mar 21 '17 at 15:49

I ended up using a workaround by forcing the labels into separate layers. First I duplicated the layer in question several times so that i had one copy for every label type required (ie. each unique value in an attribute). then I filtered each layer to just the necessary value and labelled it. In each layer the properties were set to display colliding labels, etc.

The benefit of all this was not just that the labels move around each other because they are in different layers, but i can also now label each value slightly differently instead of all the same text.

A bit klunky, and only really useable if there are not a ton of unique values, but it worked.

  • Just had to do this myself, really clunky but got the job done. Luckily only about 10 of my features were close to each other but this would be incredibly time consuming for 50+ – Luffydude Apr 13 '17 at 16:17

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.