Resolving label collisions

With label-collision resolution (LCR), labels can be automatically moved to improve readability and visibility.

Label-collision resolution is configured and started in the NET Planning tab.

mceclip0.png

mceclip1.png

Configuration

The configuration can be used to define in detail—for each label feature class—how and under consideration of which other feature classes the label should be newly positioned.

The following dialog opens:

mceclip2.png

mceclip3.png An existing template file can be loaded.
mceclip4.png The configured settings can be saved.

 

Left side

The label feature classes are displayed and can be corrected on the left side.

Use the check box in the first column to activate or deactivate the corresponding label feature class. Clicking on the corresponding line activates the layer on the right side for configuration. The “X” in the last column deletes the layer and the configuration. LCR corrects the labels in the order of the display—the entry in the first line is processed first.

Right side

The details for the selected layer are displayed and can be adjusted on the right side. The settings must be made from the perspective of the label to be moved.

General settings

mceclip5.png

Can be moved This specifies whether the label can be moved.
Max. search distance (m) Here, you define the maximum search radius in which objects can be found around the label so that a possible collision can be calculated at all.
Max. displacement distance for a point feature (m) or line feature (m) The specified value defines how far the label may be moved from its initial position. The values for point or line feature can be defined separately.
Note: For “long” labels, the value should be selected to be correspondingly large.
Min. distance to own label (m) Here, you define the minimum distance between the label and all other labels of the higher-layer object.
Min. distance to own geometry (m) Here, you define the minimum distance between the label and the geometry of the higher-layer object.

 

Collision types

mceclip7.png

Label on bend in trench Here, it is checked whether the label lies on a bend (trench, duct, cable) and is moved if necessary. The corresponding line layer does not have to be additionally defined as a fixed layer.
This type of collision is only used for labels for line feature classes and corrects their position at bending points of the geometry.
Overlap with cluster The check for overlap of the label with the cluster geometry is only carried out if the cluster type is DISTRIBUTION.
Overlap with own geometry Check for collision between the label and the geometry of the higher-layer object. The layer that contains its own geometry does not have to be additionally defined as a fixed layer.
Overlap with own label Check for collision between all labels of the higher-layer object. The layer that contains its own labels does not have to be additionally defined as a fixed layer.
Overlap with other geometry Check for collision between the label and the object geometry of the defined fixed layers.
Overlap with other label Check for collision between the label and the labels of the objects of the defined fixed layers.

 

Fixed layers

Fixed layers are the layers that should be used to detect collisions. Depending on the configuration, the LCR must avoid the geometries and/or labels of the fixed layers.

mceclip8.png

Layer The layer must be selected in the drop-down list.
Min. distance to label The distance between the label and all labels of an object of the defined fixed layer.
Min. distance to geometry The distance between the label and the geometry of an object of the defined fixed layer.
Save as new layer Several fixed layers can be defined per label layer to be corrected. This is done using the “New layer” button.

 

Implementation

The “Run label-collision resolution” command in the NET Planning tab starts the workflow.

The following dialog opens:

mceclip9.png

mceclip10.png The configuration file must be loaded.
mceclip12.png The cluster for which the LCR is to be executed can be selected. If nothing is selected there, the LCR will be carried out for the entire project. The cluster is selected from the illustration.

 

The loaded file and the selected cluster are then displayed.

mceclip13.png

Click on the “Resolve collisions” button to start resolving the collision. After execution, the moved labels and details for the movement are displayed in the left pane. The individual records can be displayed and the record can be removed from the correction using the “X”. The right pane displays the records that have not been or could not be changed. With the “Reset” button, it is possible to reject the result of the LCR.

Background to the calculation of the collisions

To determine the collisions, a frame is formed that evaluates the rotation and the font size of the labels. The rotation comes as an attribute from the label record; the font size from the display model.
The LCR interprets a label with the rotation “0°”, i.e., it can be read from the bottom and right, “90°” then corresponds to a rotation to 3 o’clock.
Currently, the settings in the display model are not included in the calculation of the rotation of the frame. This means that with a rotation of “0°”, the LCR makes the frame readable from the bottom and right, even if the orientation of the label is corrected to “90°” by the display model.
This leads to incorrect LCRs.
Currently, the line thicknesses or symbol sizes from the display model are also not evaluated for the calculation of the displacement.