Ist es in QGIS irgendwie möglich, Bezeichnungen und Punkte mit einer Linie / einem Pfeil oder etwas anderem zu verbinden? In meiner Karte ist nicht klar, welche Beschriftung zu ihrem Punkt passt. Ich kann es nicht näher bringen, weil es noch viele weitere Punkte gibt.
12
Antworten:
Erstellen Sie zunächst Beschriftungsfelder für die X- und Y-Position Ihrer Beschriftungen in Ihrer Punktetabelle.
Aktivieren Sie die X- und Y-Position in den Eigenschaften Ihrer Ebene.
Erstellen Sie einen neuen "Generator-Ausdruck" -Stil in Ihrem Punktestil, legen Sie den Linientyp fest und verwenden Sie dann die folgenden Formeln:
make_line (make_point ($ x, $ y), make_point ("LABEL_X", "LABEL_Y"))
Als Erweiterung können Sie verschiedene Felder verwenden (oder ein Plugin verwenden, um alle zu erstellen), um zu steuern, wo sich der Ausrichtungspunkt befindet. Sie können ein Rotationsfeld und ein vertikales und horizontales Ausrichtungsfeld verwenden.
Die Linie verschiebt sich entsprechend zu Ihrer Etikettenposition, da sich ihr Ankunftspunkt auf das Feld für die Etikettenposition bezieht.
quelle
Sie können versuchen, das EasyCustomLabeling- Plugin über Plugins > Plugins verwalten und installieren herunterzuladen. Dadurch wird eine duplizierte Speicherebene der ausgewählten Vektorebene erstellt, die dieselben Attribute enthält.
( Beachten Sie, dass Sie auch das Memory Layer Saver- Plugin herunterladen und installieren müssen, um die Memory Layer korrekt zu speichern. Dies wird in der Plugin-Beschreibung beschrieben. )
Sobald Ihre Beschriftungsebene erstellt wurde, können Sie mit der Beschriftungsplatzierung und dem Stil dieser Ebene spielen, um zu versuchen, das zu finden, wonach Sie suchen:
Hoffe das hilft!
quelle
Bezüglich der Methode von gisinside: Der erste Schritt des manuellen Hinzufügens von x / y-Attributen für Beschriftungen kann weggelassen werden. (vielleicht seit QGIS3?) Es gibt bereits eine Hilfsvariable für Label-Positionierungen. Die Variablen heißen dementsprechend "AUX_STORAGE_LABELING_POSITIONX" und "AUX_STORAGE_LABELING_POSITIONY".
Also in Schritt Nr. 2 Mit diesem Ausdruck können Sie Linien zeichnen:
make_line (make_point ($ x, $ y), make_point ("AUX_STORAGE_LABELING_POSITIONX", "AUX_STORAGE_LABELING_POSITIONY"))
Beachten Sie jedoch, dass die Hilfsvariablen nur dann einen Wert erhalten, wenn Sie die Beschriftungen mit dem Verschieben-Beschriften-Werkzeug berühren / verschieben. Daher werden nur Linien für Beschriftungen angezeigt, die manuell verschoben wurden.
quelle
Wenn Sie PostGIS für Ihre Geodaten verwenden, wird dieser Beitrag https://sigsemgrilhetas.wordpress.com/2015/01/12/etiquetas-com-guias-em-qgis-e-postgis-labels-leading-lines-with- qgis-and-postgis / von Alexandre Neto erklärt, wie führende Linien zu den Punkten in Ihrer Datenbank hinzugefügt werden können.
Es ist ein gut geschriebenes Tutorial, das es wert ist gelesen zu werden. Es gibt auch einen Film im Beitrag, der zeigt, wie es funktioniert.
Hoffe das hilft.
quelle