Alinhando nomes de estradas em uma linha no QGIS

14

Estou tentando alinhar nomes de estradas em uma linha ou coluna o máximo possível no QGIS. Eu sei que isso pode ser feito no Adobe Illustrator com um plug-in de mapeamento, mas não tenho o $$ para isso.

Eu tentei algo como isso , mas ele não parecia não ajuda.

Isto é um exemplo: insira a descrição da imagem aqui

Não precisa ser exatamente assim, mas eu gostaria de fazer algo semelhante.

Troy Buerge
fonte

Respostas:

24

(1) Desenhe uma linha como guia para a posição da etiqueta.

Neste exemplo, essa guidelinecamada possui um campo de identificação "fid"com apenas um valor ( 1).

(2) Vá para Layer properties | Labels | Placement.

Lá você encontrará Data defined | Coordinate X and Y. Selecione Editar em cada menu suspenso.

insira a descrição da imagem aqui

(3) Dê uma expressão:

x: x(intersection($geometry, geometry(get_feature('guideline', 'fid', '1'))))

y: y(intersection($geometry, geometry(get_feature('guideline', 'fid', '1'))))

insira a descrição da imagem aqui

(4) Como passo final, oculte a diretriz. Selecione a camada de orientação e altere a simbologia para No Symbols.

insira a descrição da imagem aqui

Kazuhito
fonte
Sempre fico impressionado com o que podemos fazer com as diferentes funções / expressões. Outro caso de uso para lembrar!
Gabriel C.
@GabrielC. Eu não posso mais concordar com você. Sou muito grato à equipe do QGIS Dev por essas expressões incríveis!
Kazuhito
Uau! Muito obrigado! Mais uma pergunta e definitivamente vou marcar isso como minha resposta. Como, então, adiciono uma segunda linha para se minhas estradas vão para outro município e precisam de nomes diferentes, ou para fazer as estradas que correm para o outro lado?
Troy Buerge
Sei que isso poderia ser feito duplicando a camada da estrada, mostrando apenas rótulos, e não simbologia, e marcando os rótulos para "('diretriz', 'fid', '2'). Mas tenho certeza de que existe uma maneira melhor.
Troy Buerge
Obrigado @TroyBuerge Mas lamento não conseguir encontrar uma solução melhor do que você tem em seu comentário.
Kazuhito