Mit der Labelkollisionsbehebung (LKB) können Label automatisiert verschoben werden, um die Les- und Sichtbarkeit zu verbessern.
Die Labelkollisionsbehebung wird in der Registerkarte NET Planung konfiguriert und gestartet.
Konfiguration
Mit der Konfiguration kann für jede Label-Objektklasse detailliert definiert werden, wie und unter Beachtung welcher anderen Objektklassen das Label neu platziert werden soll.
Es öffnet sich folgender Dialog:
Eine vorhandene Vorlagendatei kann geladen werden. | |
Die konfigurierten Einstellungen können gespeichert werden. |
Wurde eine Datei geladen, wird diese angezeigt
Befindet sich ein * neben dem Dateiname, wurden Änderungen vorgenommen. Diese müssen ggfs. gespeichert werden.
Linke Seite
Auf der linken Seite werden die Label-Objektklassen angezeigt, welche korrigiert werden können.
Über die Check-Box in der ersten Spalte aktiviert oder deaktiviert man die entsprechende Label-Objektklasse. Ein Klick auf die entsprechende Zeile aktiviert den Layer auf der rechten Seite zur Konfiguration. Das "X" in der letzten Spalte löscht den Layer und die Konfiguration. Die LKB korrigiert die Label in der Reihenfolge der Anzeige – der Eintrag in der ersten Zeile wird zuerst abgearbeitet.
Rechte Seite
Auf der rechten Seite werden die Details für den ausgewählten Layer angezeigt und können angepasst werden. Die Einstellungen sind aus der Sichtweise des Labels, welches verschoben werden soll, zu tätigen.
Allgemeine Einstellungen
darf verschoben werden | Es wird festgelegt, ob das Label verschoben werden darf. |
Max. Suchabstand (m) | Hier definieren Sie den maximalen Suchradius, in dem Objekte rund um das Label gefunden werden, damit eine mögliche Kollision überhaupt berechnet werden kann. |
Max. Verschiebungsentfernung für Punkt-Feature (m) bzw. für Linien-Feature (m) | Der angegebene Wert definiert, wie weit das Label von seinem Ausgangspunkt verschoben werden darf. Die Werte für Punkt- bzw. Linien-Feature können separat definiert werden. Hinweis: Bei „langen“ Labeln sollte der Wert entsprechend groß gewählt werden. |
Min. Abstand zu eigenem Label (m) | Hier definieren Sie den minimalen Abstand zwischen dem Label und allen weiteren Labeln des übergeordneten Objektes. |
Min. Abstand zu eigener Geometrie (m) | Hier definieren Sie den minimalen Abstand zwischen dem Label und der Geometrie des übergeordneten Objektes. |
Kollisionstypen
Label auf Trassenknick | Hier wird geprüft, ob das Label auf einem Knick (Trasse, Rohr, Kabel) liegt und wird bei Bedarf verschoben. Der entsprechende Linien-Layer muss nicht zusätzlich als fixierter Layer definiert sein. Dieser Kollisionstyp findet nur Anwendung bei Labeln zu Linien-Objektklassen und korrigiert deren Lage an Knickpunkten der Geometrie. |
Überlappung mit Cluster | Die Prüfung auf Überlappung des Labels mit der Clustergeometrie erfolgt nur, wenn der Clustertyp DISTRIBUTION ist. |
Überlappung mit eigener Geometrie | Prüfung auf Kollision zwischen Label und der Geometrie des übergeordneten Objektes. Der Layer, der die eigene Geometrie enthält, muss nicht zusätzlich als fixierter Layer definiert werden. |
Überlappung mit eigenem Label | Prüfung auf Kollision zwischen allen Labeln des übergeordneten Objektes. Der Layer, der die eigenen Label enthält, muss nicht zusätzlich als fixierter Layer definiert werden. |
Überlappung mit anderer Geometrie | Prüfung auf Kollision zwischen Label und der Objektgeometrie der definierten fixierten Layer. |
Überlappung mit anderem Label | Prüfung auf Kollision zwischen Label und den Labels der Objekte der definierten fixierten Layer. |
Fixierte Layer
Fixierte Layer sind die Layer, die für die Erkennung von Kollisionen verwendet werden sollen. Je nach Konfiguration muss die LKB die Geometrien und/ oder die Label der fixierten Layer meiden.
Layer | Der Layer muss in der Auswahlliste gewählt werden. |
Min. Abstand zum Label | Der Abstand zwischen dem Label und allen Labels eines Objektes des definierten fixierten Layers. |
Min. Abstand zur Geometrie | Der Abstand zwischen dem Label und der Geometrie eines Objektes des definierten fixierten Layers. |
als neuer Layer speichern | Es können pro zu korrigierendem Label-Layer mehrere fixierte Layer definiert werden. Das wird über den Button "Neuer Layer" realisiert. |
Durchführung
Mit dem Befehl „Labelkollisionsbehebung ausführen“ in der NET Registerkarte Planung wird der Arbeitsablauf gestartet.
Es öffnet sich folgender Dialog:
Die Konfigurationsdatei muss geladen werden. | |
Das Cluster kann gewählt werden, für welches die LKB ausgeführt werden soll. Ist dort nichts gewählt, wird die LKB für das gesamte Projekt durchgeführt. Die Wahl des Clusters erfolgt aus der Grafik. |
Die geladene Datei und das ausgewählte Cluster werden anschließend angezeigt.
Über den Button "Kollisionen beheben" wird die Kollisionsbehebung gestartet. Nach der Ausführung werden im linken Fenster die bewegten Label und Details zur Verschiebung angezeigt. Es ist möglich, sich die einzelnen Datensätze anzeigen zu lassen und über das „X“ den Datensatz aus der Korrektur zu entfernen. Im rechten Fenster erscheinen die Datensätze, an denen nichts geändert wurde oder werden konnte. Mit dem Button "Zurücksetzen" gibt es die Möglichkeit, das Ergebnis der LKB zu verwerfen.
Hintergrund zur Berechnung der Kollisionen
Für die Ermittlung der Kollisionen wird ein Rahmen, welcher die Drehung und die Schriftgröße der Label auswertet, gebildet. Die Drehung kommt als Attribut aus dem Labeldatensatz, die Schriftgröße aus dem Darstellungsmodell.
Die LKB interpretiert ein Label mit der Drehung „0°“ also von unten und rechts lesbar, „90°“ entsprechen dann einer Drehung auf 3 Uhr.
Aktuell werden die Einstellungen im Darstellungsmodell nicht in die Berechnung der Drehung des Rahmens einbezogen. Das bedeutet, bei einer Drehung von „0°“ bildet die LKB den Rahmen von unten und rechts lesbar aus, auch wenn durch das Darstellungsmodell die Ausrichtung des Labels auf „90°“ korrigiert wird.
Das führt zu inkorrekten LKB.
Aktuell werden auch die Linienstärken oder Symbolgrößen aus dem Darstellungsmodell für die Berechnung der Verschiebung nicht ausgewertet.