I have a shapefile with line features and an attribute table with placenames. Most lines are horizontal and they all represent label positions (orientation, length, location) on older, printed maps.

These placenames make the most sense if they are placed where they were on the actual plrinted map. I have been searching for a way to use the attributes to generate labeles that would mimic the printed version as much as possible, but have been unable to find a way to stretch (and keep them stretched as such on all scales) labels from one end of the line feature to the other.

I have attempted several combinations of Label settings, as well as expressions to determine the position, but most solutions seem to be missing the strecth to line length feature.

1 Answer 1


I think using the "Meters at scale" unit type in the size section of the label properties should let you achieve what you're after. This setting automaticaly adjust the label size as you zoom in and out.

You'll have to first set the "meters at scale" unit then play with the size value till your label are the same length of your line (if you need to set other parameter like word and letter spacing to achieve the look you're after, do it before adjusting the size).

If the original map use different label size, you'll need to set some rule base labeling and adjust the size for each rule.

enter image description here

Your Answer

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

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