8

I'm a newbie to GIS and QGIS (please be nice to me). I'm working on a map for a garden/arboretum catalogue using QGIS 2.6.1. The arboretum has been surveyed using GPS, and the specimen trees and plants become a point layer labelled with a reference number, which points to a description in the main catalogue.

Because of the site layout and orientation, the map needs to be rotated to fit comfortably on a rectangular canvas (paper, screen). Fine, I can do that in print composer. But that rotates the labels too, and for maximum legibility I want them to stay horizontal.

I've been experimenting with label placement. "Around point" gives significantly better results than "Offset from point". Using this method, the only way I've found to apply a compensating rotation to the labels (so that when the map is rotated they end up back horizontal) is to add a "rotation" column to the attribute table and use data defined rotation. But this to some extent messes up the label placement. So my first question is: is it possible to get the placement engine to run (again?) after the labels have been rotated?

If not, I would like to be able to reposition a few of the labels manually, but leave most of them automatically placed. But if I add coordinate x and y columns to the attribute table and try to use data defined coordinates, then label rotation stops working if there is a NULL value in either or both of the x and y coordinate columns. I can't leave most of the points to be automatically placed and just fix a few - effectively I have to do manual placement for all of them if I want to do it for any of them. Since there are approx. 200 of the things, that's a major chore. Have I missed something?

Some of this might be easier if the "Move label" button would work. But however I've fiddled - with editing on/off, data defined placement on/off and so on - I've never seen the thing not greyed out. What do I need to do to get this working?

The best I've been able to do is have a data defined distance override for some points. This is rather hit and miss, because there's not much control over where the label will actually go, and it has unpredictable knock-on, domino effects on other labels some of which may end up worse than they were before. But it doesn't affect label rotation.

1

Quick Solution: In layer properties dialog for this layer you can set the general label rotation (layer properties > labels > placement). If the number for the map rotation in print composer is 30 (it rotates clockwise), then the number for the label rotation is 30 (it rotates counter clockwise). Does it work with your layout?

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.