Criando linhas de liderança para etiquetas movidas

18

Com muita ajuda de gis.stackexchange.com, criei linhas de líderes para símbolos de pontos. As linhas são baseadas em uma simbologia de gerador de geometria:

Encurtando a geometria da linha usando o diálogo de expressão no QGIS?

insira a descrição da imagem aqui

Agora, quero implementar linhas de liderança para etiquetas movidas. É muito importante para mim que as linhas iniciem no centro dos rótulos e terminem nas coordenadas do ponto (ou vice-versa).

-- Geometry generator:
make_line(
    make_point(label_x, label_y),
    $geometry)

Mais uma vez, as linhas são cobertas pelos rótulos:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Existe uma maneira de abordar as caixas de etiquetas e diminuir as linhas de líderes? Suponho que essa seja uma pergunta bastante complicada: /

eclipsed_by_the_moon
fonte
Tente alterar os valores de deslocamento
GISKid

Respostas:

10

Em primeiro lugar, esta é uma solução realmente interessante! Resolvi isso usando uma exibição de banco de dados (um pouco de exagero, mas funcionou).

Minha sugestão é usar um plano de fundo e preencher o rótulo.

Ou, olhando aqui , você poderá encadear uma solução do tipo buffer e clipe.

difference(make_line(make_point( "x" ,  "y" ), $geometry), buffer(make_point( "x" ,  "y" ),1))

Acabei de testar o que foi dito acima e funciona (tenho campos diferentes do que você, mas isso prova o ponto). O uso do gerador de geometria é realmente flexível, então você pode ter a distância do buffer de um campo também, dependendo da simbologia, talvez?

Não tenho certeza do que está acontecendo com o ponto 'três', mas acho que o ponto de ancoragem está um pouco à esquerda.

linhas de líder de etiqueta separadas

Alex Leith
fonte
Preciso fazer alguns testes nos próximos dias, mas tenho medo de que um plano de fundo não funcione para projetos complexos sem cobrir algumas camadas.
eclipsed_by_the_moon
Você viu a outra parte da minha resposta? Encontrei algo que cortará as linhas de liderança para você @eclipsed_by_the_moon.
Alex Leith
Cortar linhas de chamada para símbolos de tamanho fixo funciona bem, mas os rótulos são um problema. Vou tentar calcular a distância do buffer dinamicamente, assim que encontrar algum tempo.
eclipsed_by_the_moon
4

Atualmente, trabalho em um fork de fácil plug-in de rotulagem personalizado, para permitir a criação automática de etiquetas e linhas de cabeçalho vinculadas.

Dê uma olhada em: EasycustomLabaling

Faça o download, descompacte-o e cole o repertório 'EasyCustomLabeling' no repertório do seu repertório de plug-in QGIS. Recarregue o QGIS.

patricev
fonte
Seu plugin é realmente útil, mas eu preferiria linhas criadas por geradores de geometria que começam no centro dos rótulos.
eclipsed_by_the_moon
Compreendo. Para obter informações, este pode ser definido nos domínios da camada de origem ao usar este de encaixe (campos LblAlignV e LblAlignH) - Considera
patricev
Obrigado pela informação, testarei isso no fim de semana.
eclipsed_by_the_moon