6

I imported some OSM data. I then label the lines (roads) with their "name" field using the new label layering settings dialog box. When I zoom to different scale levels I find that while all the lines remain, some of the labels appear / disappear. In any particular zoom level if I adjust the size of the text of the labels, more or less labels show (i.e. when I make the text larger less labels show and when I make the text smaller more labels show). While in general this is good because it creates less clutter and keeps labels from overlapping, etc. there are times when I want to see some of these labels and I can't unless I adjust the text size or zoom in further. I also can't find any control over this either.

So, I guess I am wondering if there is a way to force all the labels to show no matter what my text size or scale is. Another option would be a way to turn on a particular label that I wanted. In fact the latter option would be best.

Thanks in advance for any help with this. David

2 Answers 2

10

An updated way to do this (at least in 2.6.0 Brighton) is to:

Go to Layer Properties>Labels>Rendering and check the box that says "Show all labels for this layer (including colliding labels)"

1
  • 1
    In 2.18.0, you can pin the Layer Styling pane to your main QGIS window and in the Rendering tab (with the paintbrush) you can select the "Show all labels for this layer (including colliding labels)" just as in @coelacanth's answer above. Nov 20, 2016 at 19:32
1

Using QGIS 1.8 Lisboa, you can make all labels appear all of the time. In the labelling dialog (from the button on the toolbar) there is an advanced tab, scroll down to Engine Settings and turn on Label All Even If Collisions.

The above is useful if you are going to position by hand some or all of the labels.

To position labels by hand, you need to have fields in the attribute table for x-label and y-label, the simplest way is to set them as Float fields with 10 units and 10 precision. Then you can activite the label positioning buttons on the toolbar and position labels as you please.

The more likely scenario is that you want to control visibility by zoom level. The settings for that are there as well.

For all of this, choose what zoom level (extent of map) you want to output to first, then do the work. A scale of 100 000 with about 300 labels at A3 at a font of 6 pts is just doable if they are equally distributed.

3
  • 1
    Hi Willy, This is great. Thanks for your thorough explanation. I think through what you said I have been able to figure out the problem. Perhaps it is a bug or known limitation in QGIS. This is basically that what you said works unless one uses curved placement in the advanced tab of the labeling tool. Once I switched to horizontal or parallel placement I got the expected results as you explain above. Too bad because as a result of this one can not combine curved placement and at the same time force all labels to be shown.
    – David
    Jan 11, 2013 at 16:26
  • I just found this issue in 3.8 as well - lots of labels didn't show when I had curved but as soon as this was changed to parallel it showed everything. Ill report it as a bug.
    – GeorgeC
    Jul 15, 2019 at 1:38
  • It's actually been reported in issues.qgis.org/issues/2113
    – GeorgeC
    Jul 15, 2019 at 1:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.