Is there I can define expression for the placement of label in vector layer like when the scale is less than x label placement should be curved else it should be horizontal.

I am using Pal setting. I have following setting for the vector layer.

self.setCustomProperty('labeling/placement', '3')

Is there any way I can write expression for this like CASE $scale < 10000 THEN curved ELSE Horizontal END

placement is enum{Parallel, curved, horizontal} so its '3' in settings

  • Could you please edit your post and add a copy of the expression you have written?
    – wiltomap
    Apr 3, 2015 at 13:09
  • placement in the label does not allow me to write expression Apr 3, 2015 at 13:13
  • I don't understand your problem, then... Do you mean you get an error message after you write the expression or that you just can't launch the 'Expression dialog'? Have you proceeded like this: 1. select your layer in the canva, 2. click onto 'Layer labelling options' button, 3. click the option 'Label this layer with' and 4. click the expression dialog button to launch the Expression dialog.
    – wiltomap
    Apr 3, 2015 at 13:22
  • I do this steps but using "Label this layer" expression i can express what field i need to be displayed at that particular layer but i cannot control the placement of this field label. I am not sure If can write expression to control placement for label in "Label this layer with". Apr 3, 2015 at 13:34
  • You can set the placement of the label in the menu inside the 'Layer labeling settings' dialog: Text, Formatting, Buffer, Background, Shadow, Placement and Rendering. The 'Placement' menu will help you doing what you need, I guess.
    – wiltomap
    Apr 3, 2015 at 13:45

2 Answers 2


The 'Placement' menu inside the 'Layer labeling settings' dialog might help you:

enter image description here

  • See for the distance we can define the expression but we cannot define the expression for the placement (around the point or offset from the point) Apr 3, 2015 at 14:19

I asked this on the Mailing list and One of the developer said currently the data Defined expression cannot be written for the placement as there was no demand for this feature.

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.