Zeigen Sie in QGIS nur eine Beschriftung für mehrere Punkte mit demselben Wert an


9

Ich habe ein Punkt-Shapefile, das für einige Gelegenheiten mehrere Punkte mit derselben ID enthält. Sieht mit dem normalen Etikettendisplay nicht gut aus. Ist es in QGIS dann möglich, nur ein Etikett anzuzeigen? Ich konnte keine Option zum Aktivieren / Deaktivieren finden ... Vielleicht wäre es möglich, Beschriftungen über eine SQL-Abfrage mit einer »GROUP BY-ID« abzurufen?

Geben Sie hier die Bildbeschreibung ein

Antworten:


6

Ich gehe davon aus, dass Sie mehrere Funktionen mit derselben ID und keinen echten Mehrpunkt haben. Bei Bedarf gibt es auch eine Lösung mit echtem Mehrpunkt, lassen Sie es mich wissen.

Sie können Ihrem Shapefile ein Ganzzahlfeld hinzufügen, das Sie mit 1 füllen, wenn Sie die Beschriftung für diese Funktionen und 0 für andere anzeigen möchten.

Verwenden Sie dann im Renderer des Etiketts die datendefinierte Eigenschaft zum Anzeigen oder Nicht-Anzeigen von Etiketten.

Geben Sie hier die Bildbeschreibung ein

EDIT:

Die Antwort von @Kazuhito brachte mich auf die Idee, noch weiter zu gehen.

Sie können auch zwei Felder hinzufügen (z. B. x_lbl und y_lbl) und diese verwenden, um eine vollständige Kontrolle über die Platzierung Ihres Etiketts zu erhalten, indem Sie datendefinierte Eigenschaften für die Platzierung von Etiketten verwenden. Füllen Sie diese Felder mit den Koordinaten, an denen Sie Ihre Beschriftung benötigen, und ändern Sie den Ort einfach über die QGIS-Oberfläche. Suchen Sie nach diesen Schaltflächen:

Geben Sie hier die Bildbeschreibung ein


1
Ich frage mich, ob Sie eine Lösung für die Beschriftung von Mehrpunktmerkmalen gefunden haben, weil ich jetzt mit diesem Problem für echte Mehrpunktgeometrien
festgefahren

5

Wenn a virtual layereine Option ist,

SELECT id, st_pointonsurface(st_union(geometry))
FROM your_layer
GROUP BY id

platziert einen Punkt in der Mitte jeder Gruppe.

Ich mag die Antwort von @YoLecomte, die uns mehr Kontrolle darüber gibt, wo das Etikett platziert werden soll.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.