Como conectar uma etiqueta e apontar com uma linha / seta?

12

De alguma forma, é possível no QGIS conectar etiquetas e pontos com uma linha / seta ou algo assim? No meu mapa, não está claro qual rótulo corresponde ao seu objetivo. Não posso aproximá-lo, porque há muitos outros pontos por vir.insira a descrição da imagem aqui

kevkev
fonte
xof solução funciona para mim. Mas eu gostaria de saber se é possível ter uma legenda curta na minha listagem de formas ... não como este exemplo abaixo, já com uma etiqueta curta ... ! [Meu teste ] ( i.stack.imgur.com/8VWoN .png ) Obrigado!
MathieuG

Respostas:

7
  • Primeiro, crie campos de identificação para as posições X e Y de suas etiquetas na sua tabela de pontos.

  • Ative o posicionamento X e Y nas propriedades da sua camada.

sobrepor

  • Crie um novo estilo "Expressão do gerador" no seu estilo de ponto, defina-o como tipo de linha e use as seguintes fórmulas:

    make_line (make_point ($ x, $ y), make_point ("LABEL_X", "LABEL_Y"))

Como aprimoramento, você pode usar vários campos (ou usar um plug-in para criá-los todos) para controlar onde estará o ponto de alinhamento. Você pode usar um campo de rotação e um campo de alinhamento vertical e horizontal.

estilo

A linha se moverá de acordo com a posição da sua etiqueta, pois seu ponto de chegada está relacionado ao campo de posição da etiqueta.

gisnside
fonte
5

Você pode tentar baixar e instalar o plugin EasyCustomLabeling em Plugins > Gerenciar e instalar plug-ins , isso cria uma camada de memória duplicada da camada vetorial selecionada e contém os mesmos atributos.

( Observe que você também precisará baixar e instalar o plug-in Memory Layer Saver para salvar a camada de memória corretamente, isso é descrito na descrição do plug-in ).

Depois que sua camada de etiqueta é criada, você pode brincar com o posicionamento e o estilo dessa camada para tentar obter o que procura:

Plugar

Configurações da camada de etiqueta

Camada de etiquetas

Espero que isto ajude!

Joseph
fonte
obrigado @ Joseph. É correto que eu possa escolher apenas um atributo com este plugin? (btw: isso deve ser também uma nova pergunta?)
kevkev
Nah! Não se for uma pergunta simples de sim / não =). Mas você está correto, apenas um atributo por camada; portanto, você pode criar várias camadas de etiqueta, se desejar.
Joseph
Na verdade é possível. Depois de criar a camada de rótulo, é possível alterar os atributos: D
kevkev 4/15
@KevinSuhr - Brilliant! Obrigado, eu aprendi alguma coisa =) #
Joseph
1
Da publicação de @underdark; Um caso de uso comum é o desejo de mostrar vários valores de atributo no rótulo de um recurso. Usando a Calculadora de campo, você pode combiná-los em etiquetas com várias linhas. Tudo que você precisa é combinar os campos com o || operador e adicione '\ n' (nova linha) sempre que houver uma quebra de linha: Campo1 || '\ n' || Field2
Lee
4

Em relação ao método por gisinside: a primeira etapa da adição manual de atributos x / y para rótulos pode ser omitida; (talvez desde QGIS3?) já existe uma variável auxiliar para os posicionamentos de etiquetas. As variáveis ​​são chamadas de acordo: "auxiliar_storage_labeling_positionx" e "auxiliarry_storage_labeling_positiony".

Assim, no passo Nr. 2, você pode usar esta expressão para desenhar linhas:

make_line (make_point ($ x, $ y), make_point ("auxiliar_storage_labeling_positionx", "auxiliarry_storage_labeling_positiony"))

Observe, no entanto, que as variáveis ​​auxiliares somente recebem um valor atribuído, se você tocar / mover as etiquetas com a ferramenta mover-etiqueta. Portanto, você só vê linhas para etiquetas que foram movidas manualmente.

xof
fonte
2

Se você estiver usando o PostGIS para seus dados espaciais, este post https://sigsemgrilhetas.wordpress.com/2015/01/12/etiquetas-com-guias-em-qgis-e-postgis-labels-leading-lines-with- qgis-and-postgis / de Alexandre Neto explica como linhas principais podem ser adicionadas aos pontos em seu banco de dados.

É um tutorial bem escrito que vale a pena ler, mas também tem um filme no post que mostra como ele funciona.

Espero que isto ajude.

Lee
fonte