Erstellen von Führungslinien für verschobene Beschriftungen

18

Mit viel Hilfe von gis.stackexchange.com habe ich Führungslinien für Punktsymbole erstellt. Die Linien basieren auf einer Geometriegenerator-Symbologie:

Liniengeometrie mit Ausdrucksdialog in QGIS kürzen?

Bildbeschreibung hier eingeben

Jetzt möchte ich Führungslinien für verschobene Beschriftungen implementieren. Mir ist sehr wichtig, dass die Linien in der Mitte der Beschriftungen beginnen und an den Punktkoordinaten enden (oder umgekehrt).

-- Geometry generator:
make_line(
    make_point(label_x, label_y),
    $geometry)

Auch hier sind die Zeilen von den Beschriftungen verdeckt:

Bildbeschreibung hier eingeben

Bildbeschreibung hier eingeben

Gibt es eine Möglichkeit, die Beschriftungsfelder zu adressieren und die Führungslinien zu verkürzen? Ich nehme an, das ist eine ziemlich knifflige Frage: /

verdunkelt durch den Mond
quelle
Versuchen Sie, die
Offsetwerte zu

Antworten:

10

Erstens ist dies eine wirklich saubere Lösung! Ich habe das mit einer Datenbankansicht gelöst (ein bisschen übertrieben, aber es hat funktioniert).

Mein Vorschlag ist, einen Hintergrund zu verwenden und das Etikett auszufüllen.

Wenn Sie hier nachsehen, können Sie möglicherweise eine Puffer- und eine Clip-Lösung verketten.

difference(make_line(make_point( "x" ,  "y" ), $geometry), buffer(make_point( "x" ,  "y" ),1))

Ich habe das gerade getestet und es funktioniert (ich habe andere Felder als Sie, aber es beweist den Punkt). Die Verwendung des Geometrie-Generators ist sehr flexibel, sodass der Pufferabstand auch ein Feld sein kann, abhängig von der Symbologie.

Ich bin mir nicht sicher, was mit Punkt 'drei' passiert, aber ich denke, der Ankerpunkt ist ein bisschen links.

unzusammenhängende Markierungslinien

Alex Leith
quelle
Ich muss in den nächsten Tagen einige Tests durchführen, aber ich befürchte, dass ein Hintergrund für komplexe Projekte nicht funktioniert, ohne einige Ebenen abzudecken.
Eclipsed_by_the_moon
Hast du den anderen Teil meiner Antwort gesehen? Ich habe etwas gefunden, das die Führungslinien für Sie @eclipsed_by_the_moon schneidet.
Alex Leith
Das Abschneiden von Führungslinien für Symbole mit fester Größe funktioniert problemlos, Beschriftungen sind jedoch ein Problem. Ich werde versuchen, den Pufferabstand dynamisch zu berechnen, sobald ich etwas Zeit finde.
Eclipsed_by_the_moon
4

Ich arbeite derzeit an einer Reihe von einfachen benutzerdefinierten Beschriftungs-Plugins, um die automatische Erstellung von Beschriftungen und verknüpften Kopfzeilen zu ermöglichen.

Schauen Sie sich an: EasycustomLabaling

Laden Sie es herunter, entpacken Sie es und fügen Sie das 'EasyCustomLabeling'-Repertoire in das Repertoire Ihres QGIS-Plugin-Repertoires ein. QGIS neu laden.

patricev
quelle
Ihr Plugin ist wirklich nützlich, aber ich würde es vorziehen, mit dem Geometrie-Generator erstellte Linien in der Mitte der Beschriftungen zu beginnen.
eclipsed_by_the_moon
Ich verstehe. Zur Information kann dies in den Feldern der Quellschicht eingestellt werden, wenn dieses Plugin verwendet wird (Felder LblAlignV und LblAlignH) - Grüße
patricev
Danke für die Info, ich werde das am Wochenende testen.
eclipsed_by_the_moon