É possível escrever uma expressão de etiqueta no qgis que exibe a etiqueta em uma determinada coordenada?

15

Estou usando o construtor de expressões QGIS para as propriedades de rótulo dos meus dados.

É possível colocar diferentes partes do rótulo em coordenadas diferentes no mapa?

Por exemplo, eu tenho uma cadeia de linhas e gostaria de exibir "A" no início da cadeia de linhas e "B" no final dela.

benoitespinola
fonte

Respostas:

22

Um método é usar a rotulagem baseada em regras e adicionar duas regras para "A" e "B".

  1. Vá para Layer Properties > Labelse altere a opção No labelspara Rule-based labelling. Em seguida, adicione uma regra clicando no ícone verde mais:

    Rotulagem baseada em regras

  2. Defina as opções relevantes conforme mostrado, como Label with(use algo 'A') e o Coordinate X Y. Para a coordenada x, clique Edit...e use $x_at(0)para colocar o rótulo no início da cadeia de linhas; para a coordenada y, use $y_at(0).

    Opções de regra

  3. Repita a etapa 2 para "B", mas para as coordenadas xy, use $x_at(-1)e $y_at(-1)respectivamente para o final da cadeia de linhas.

  4. Ao clicar em Aplicar , esperamos que você veja algo assim:

    Linhas com etiquetas

Joseph
fonte
1
Obrigado por compartilhar sua solução! Vou dar uma olhada mais de perto. Sou bastante novo no QGIS e a curva de aprendizado ainda está em seu início.
precisa saber é o seguinte
@benoitespinola - Desculpas por não responder (eu normalmente respondo aos comentários)! Muito bem-vindos e eu tenho certeza que você vai se acostumar com QGIS muito rapidamente :)
Joseph
11

Existe uma maneira alternativa de fazer isso usando a simbologia, em vez de rotular, que pode funcionar para você:

- Se você quiser um texto diferente para diferentes recursos, adicione dois campos aos seus dados, um para o texto final e outro para o texto inicial. Isso não é necessário se você quiser apenas 'A' e 'B' no final das linhas.

  • Simbolize sua camada de linha e adicione uma nova camada de símbolo -> defina-a como uma linha de marcador no primeiro vértice
  • Defina o tipo de símbolo para um marcador de fonte
  • Defina o marcador como 'A' ou defina o valor para corresponder ao campo inicial da tabela de atributos de camadas
  • Estrume com tamanho e rotação, etc, como faria com um marcador padrão.

Repita para adicionar o final 'label'.

insira a descrição da imagem aqui

Ed Rollason
fonte
Agradável! Obrigado pela sua solução! Vou experimentar também. :)
benoitespinola