Mostra solo un'etichetta per più punti con lo stesso valore in QGIS


9

Ho uno shapefile punto che ha per alcune occasioni più punti con lo stesso ID. Non ha un bell'aspetto con il normale display per etichette. In QGIS è possibile visualizzare solo un'etichetta? Non sono riuscito a trovare un'opzione di controllo / deselezione ... Forse sarebbe possibile recuperare le etichette tramite una query SQL, con un "GROUP BY id"?

inserisci qui la descrizione dell'immagine

Risposte:


6

Presumo che tu abbia più funzionalità con lo stesso ID e non multipunto reale. Se necessario c'è anche una soluzione con multipunto reale, fammi sapere.

È possibile aggiungere un campo intero al file di forma che si popola con 1 se si desidera visualizzare l'etichetta per queste funzionalità e 0 per gli altri.

Quindi nel renderer dell'etichetta usa la proprietà definita dai dati per mostrare o meno le etichette.

inserisci qui la descrizione dell'immagine

MODIFICARE :

La risposta di @Kazuhito mi ha dato l'idea di andare oltre.

Puoi anche aggiungere due campi (ad esempio x_lbl e y_lbl) e utilizzarli per ottenere un controllo totale sul posizionamento dell'etichetta utilizzando le proprietà definite dai dati per il posizionamento dell'etichetta. Compila questi campi con le coordinate in cui hai bisogno della tua etichetta, quindi puoi facilmente modificare il luogo dall'interfaccia QGIS. Cerca questi pulsanti:

inserisci qui la descrizione dell'immagine


1
Mi chiedo se hai trovato una soluzione per etichettare le funzionalità multipunto perché sono bloccato con questo problema per le geometrie multipunto reali ora ...
she_weeds,

5

Se a virtual layerè un'opzione,

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

posizionerà un punto attorno al centro di ciascun gruppo.

Mi piace la risposta di @YoLecomte, che ci dà un maggiore controllo per selezionare dove mettere l'etichetta.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.