Como criar um rótulo combinando diferentes tamanhos ou tipos de fonte?


16

Gostaria de colocar o número de elevação de um ponto em um tamanho frontal diferente e centralizado sob o nome:

insira a descrição da imagem aqui

Isso é possível?

(Essa é a minha rotulagem real: label || '\n' || elevation)

Respostas:


12

Ignorando o tamanho da fonte por um minuto, você pode obter sua primeira opção centralizando o rótulo acima do ponto; no QGIS 1.9, você tem a opção de centralizar o texto na seção de várias linhas. Se você incluiu um caractere de nova linha em sua expressão, você pode deixar a caixa 'Quebrar no caractere' vazia (ou eu coloco uma barra na minha expressão em vez do '\ n' e defini-lo como o caractere de quebra - o caractere de quebra) não é mostrado). Isso definirá seu texto centralizado como em sua segunda opção. Para algo como sua primeira opção, você pode definir a opção de altura da linha como 2 ou 3.

No entanto, a etiquetagem avançada do QGIS possui apenas uma opção para o tamanho da fonte. Portanto, para obter os diferentes tamanhos de fonte, acho que você precisará adicionar sua camada uma segunda vez e definir a fonte e a posição de elevação.


1
Existem planos atuais ou futuros para implementar o uso de tags de fonte baseadas em HTML para rótulos QGIS, como as tags de formatação de texto do ArcGIS ?
precisa saber é o seguinte

1
@RyanDalton hub.qgis.org/issues/4080 É uma boa ideia, mas pode atrasar a renderização da etiqueta e pode ser difícil descobrir o tamanho apropriado da etiqueta (já que é baseado no QFontMetricsF agora), mas é preciso tentar implementá-lo primeiro para ter certeza. Não há planos para o 2.0, mas pode ser factível para o 2.1.
Dakcarto

1
Alguma notícia sobre isso?
MAP

É possível fazer isso no QGIS 3.6?
Denilson

5

Você pode conseguir o que deseja usando a rotulagem baseada em regras, mas é necessário separar os rótulos localizados em um campo em dois campos. A opção Rotulagem baseada em regras permite adicionar rótulos de campos diferentes e personalizá-los como desejar, alterando o nome da fonte, cor, tamanho e uso de deslocamento para colocá-los um sobre o outro.

Como você pode ver no exemplo abaixo, coloquei os rótulos japoneses e os ingleses em dois campos e depois controlei a aparência de cada rótulo como queria:

insira a descrição da imagem aqui

Para fazer isso:

  • Vamos para Layer properties -> Labels
  • Selecione Rule-Based Labeling

insira a descrição da imagem aqui

  • Defina os campos que você deseja usar na rotulagem, cada um separadamente. Neste exemplo, usei Name_JP e Name_EN.
  • Use o estilo de cada um de forma independente e personalize cada um como quiser.
  • O mais importante é usar Offsetabaixo Placementde um dos rótulos para que eles possam ficar acima um do outro. Para o primeiro campo do rótulo, usei as seguintes configurações de canal:

insira a descrição da imagem aqui

Para o segundo campo do rótulo, usei as seguintes configurações:

insira a descrição da imagem aqui

Testado no QGIS 3.0.1, mas também pode ser aplicado no QGIS 2.18 porque a opção Rotulagem baseada em regras está disponível.



1

Usei uma duplicata da mesma camada e identifiquei os posicionamentos acima e abaixo, respectivamente, depois de marcar 'mostrar todos os rótulos e recursos para todas as camadas' como anexadoe funciona!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.