Mostrar apenas um rótulo para vários pontos com o mesmo valor no QGIS

9

Eu tenho um shapefile de ponto que possui por algumas ocasiões vários pontos com o mesmo ID. Não parece agradável com a exibição normal de etiquetas. É possível no QGIS exibir apenas uma etiqueta então? Não consegui encontrar uma opção de marcar / desmarcar ... Talvez seja possível recuperar rótulos por meio de uma consulta SQL, com um »GROUP BY id«?

insira a descrição da imagem aqui

luftikus143
fonte

Respostas:

6

Presumo que você tenha vários recursos com o mesmo ID e não seja multiponto real. Se necessário, também há uma solução com multiponto real, me avise.

Você pode adicionar um campo inteiro ao seu shapefile que você preenche com 1 se desejar exibir o rótulo para esses recursos e 0 para outros.

Em seguida, no renderizador do rótulo, use a propriedade definida por dados para mostrar ou não os rótulos.

insira a descrição da imagem aqui

EDIT:

Responder por @Kazuhito me deu uma idéia para ir mais longe.

Você também pode adicionar dois campos (x_lbl e y_lbl, por exemplo) e usá-los para obter um controle total sobre o posicionamento do seu rótulo, usando propriedades definidas pelos dados para o posicionamento do rótulo. Preencha esses campos com as coordenadas em que você precisa da sua etiqueta. Você pode modificar facilmente o local a partir da interface QGIS. Procure estes botões:

insira a descrição da imagem aqui

YoLecomte
fonte
11
Eu estou querendo saber se você encontrou qualquer solução para multiponto rotulagem apresenta porque eu estou preso com esse problema por geometrias reais multiponto agora ...
she_weeds
5

Se a virtual layeré uma opção,

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

colocará um ponto ao redor do centro de cada grupo.

Gosto da resposta de @YoLecomte, que nos dá mais controle para selecionar onde colocar o rótulo.

Kazuhito
fonte