If you’re using the out of the box styles, you may have noticed that the spanning labels don’t always act the way you think they would. The value of the label changes depending on which side of the line the label is on but the crows feet don’t react the same. Read on to see how to fix this.
In the following image, there are a few parcel line labels, all of which are set to spanning. The top set of labels behave the way you would want them to but the bottom set don’t. Pay specific attention to the lengths of the labels. As you can see, the outer labels show the length of the total length from corner to corner of the parcel but the inside labels only show the length of each individual parcel as they should. However, the crows feet (the marks that indicate the length the label) don’t coincide with the length of the label.
To understand why this is happening, you have to understand how the labels are created. In the label, there is no way to attach something to the beginning or end of a line, that particular attachment point is not revealed. In order to attach something to the beginning or the end, we must be a little tricky. The trick here is to use a directional arrow. If you go into the label style editor, you’ll see a direction arrow component. This arrow is set up to go from the beginning to the end and will span multiple segments.
I’ve highlighted the areas of importance for this arrow to get it to work. The blocks that represent the crows feet are then attached to the start and end of this line. Wherever the arrow starts and stops, that’s where the crows feet are displayed.
Now let’s step back a bit to understand the way the spanning label works. The distance that is displayed in the label is determined by which side the distance label is on. The directional arrow in the default style lies directly on the line itself, and not on either side of it. In order to get this label to work correctly, you simply need to shift the directional arrow very slightly to the side the text is on. In this case, I add a Y offset of 0.001 and it behaves the way you would expect.