Como mostrar rótulos exatamente ao redor de um círculo no QGIS?

10

Eu achei uma maneira interessante de mapear e rotular símbolos proporcionalmente, acho que isso foi feito pelo Adobe Illustrator, mas não consegui descobrir se isso pode ser feito no QGIS. O que mais me interessa é a maneira como o texto (atributos) aparece em torno dos círculos. Eu literalmente não tenho idéia de como fazer uma rotulação de mapas temáticos como esse no QGIS.

Esta é a imagem:

insira a descrição da imagem aqui

Skye
fonte

Respostas:

5

Em resumo

Você deve dividir cada círculo em duas metades e depois convertê-las em polilinha (ou qualquer outro meio para imitar os perímetros das metades superior e inferior). O principal é ter no final uma camada com o perímetro superior e o inferior.

Em seguida, você rotula o superior com uma rotulação de curva com uma configuração superior e rotula o inferior com uma rotulação inferior.

Abaixo do guia Como fazer com capturas de tela

A tabela de suas entidades deve ficar assim (é um exemplo de teste, será diferente com seus dados). Eu criei um campo de posição e um campo de etiqueta aqui.

Tabela

No caso de você manter uma camada física, duplique a camada e defina o filtro para corresponder 'UP' para uma cópia da camada e 'DOWN' para a outra (dica: quando alguém definirá essa propriedade nos dados definidos campo isso será mais simples)

Filtro

Deve ficar assim nas propriedades:

construtor de consultas de propriedades

Para cada um, você define diferentes propriedades de rotulagem

Abaixo da camada

Abaixo

Camada superior

Superior

então você obtém:

Curvy

gisnside
fonte
Bem, agora eu sinto idiota ...
CSK
2
Não fique, estamos todos aprendendo todos os dias! É disso que se trata Stack Stack!
Gisnside 22/09
Eu realmente amo sua solução, mas estou lutando para dividir círculos em duas partes. No começo, eu tinha uma camada pontual. Criei buffers em torno deles, então ganhei polígonos que converti em polilinhas. Meu problema é que não posso cortá-los horizontalmente ao meio. Nem o plugin "Poligon Splitter" faz o que eu quero. Você poderia me ajudar como você fez isso?
Skye
Neste exemplo, acabei de criar um círculo básico que eu divido manualmente em dois. No entanto, para um grande número de círculos, suponho que você precise criar algumas linhas horizontais que se espalhem horizontalmente pelos limites do círculo. No meio do círculo, você precisa criar dois pontos, um com (raio do círculo X +, Y) e outro com (círculo do raio X, Y) e, em seguida, criar uma linha entre esses dois. Em seguida, você divide a camada de linha do círculo pela camada de linha horizontal ... Ou pode usar manualmente a ferramenta de recurso de divisão na barra de ferramentas de edição avançada manualmente. Vou dar uma olhada caso eu perca alguma coisa.
Gisnside # 22/16
Vou tentar fazer isso assim que pode :)
Skye
0

Não parece haver uma maneira incorporada ou um plug-in para fazer com que os rótulos estejam em conformidade com uma curva (ou com qualquer forma que não seja uma linha reta). A única maneira de pensar para obter esse efeito no QGIS é usar um quadro HTML para cada etiqueta no compositor de impressão. HTML não é o meu ponto forte, mas encontrei alguns sites que explicam como fazer isso (links na parte inferior deste post). Parece muito tedioso - provavelmente muito mais fácil produzir um mapa sem rótulos e adicioná-los em um programa diferente. Ou produza as etiquetas em outro programa, salve como imagens e adicione as imagens ao compositor de impressão.

https://css-tricks.com/set-text-on-a-circle/
/programming/14990284/curved-text-using-html-css
https://www.webmasterworld.com /forum21/1250.htm

csk
fonte