I used the following link to create labels with leaders, but since I have a polyline layer I used a different expression for the Geometry Generator:

  make_point("auxiliary_storage_labeling_positionx", "auxiliary_storage_labeling_positiony")

It appears to work, but looks quite ugly, where some of the leaders go past the geometry centroid as follows:


And others fail to reach it:


Why does this occur and how can I fix it?


The centroid of the geometry is basically the centerpoint of the geometry's bounding box. Thus, it can be situated outside of the geometry, especially when it comes to lines. Only for straight lines the centerpoint will be "inside" the geometry.

You could use the middle of the line instead.

  • What is the expression to get the middle of the line? – user32882 Feb 18 at 10:11
  • 1
    @user32882, have you seen this thread Finding middle point (midpoint) of line in QGIS?? It might be something with $length/2. – Taras Feb 18 at 10:15
  • 2
    Nevermind, I found it. The expression should be make_line( line_interpolate_point($geometry, $length/2), make_point( "auxiliary_storage_labeling_positionx" , "auxiliary_storage_labeling_positiony" ) ) – user32882 Feb 18 at 10:18

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.