The follow-the-line label positioning feature dynamically rotates and intelligently positions labels for best fit to a line feature at any given scale (zoom level) or map presentation. The default behavior attempts to render a label if the line (such as forming a street segment between intersections with other streets) appearance at a given scale (zoom level) is at least as long as the label. Furthermore, even if the line is technically longer than the label, the label appearance (or non appearance) can also be influenced by curvature of the line and other factors. (The label placement algorithm is quite complex.)
DK version 10.9 introduced a feature modification designed to increase the probability of label appearance regardless of line length by permitting labels that are longer than the line. This modification is enabled by setting the gisLabelPositionFlow
property in TGIS_ParamsLabel.Position
of the Label
properties. This modification is possible in the TatukGIS Editor (starting with v. 4.5) by setting the Flow
check box in the Position
box of the Label
Other techniques to increase the probability of labels appearing in any given map view or scale:
- Use shorter/smaller labels. Do this by using less text in the labels or reducing the font size of the text. Consider using the Section feature within the visual layer property control to set label sizes based on scale ranges. (Refer to the on-line TatukGIS Editor/Viewer tutorials for guidance on how to use the Section feature to render labels and other aspects of the map appearance differently at given scale levels.)
- Create a duplicate street map line layer just for labeling. This layer should have fewer or no intersection nodes, resulting in longer lines to better accommodate label placements.
- Disable the follow-the-line label position feature. This removes the label length limitation but results in horizontal label positioning for line features.
Label presentation can also be impeded when a label would overlap other labels in a given map presentation. This issue is addressed in KB10775