Mais

Como definir a transparência por polígono em um arquivo de forma no QGIS?


Como definir a transparência por polígono em um arquivo de forma no QGIS?

Por exemplo:

um polígono com o campo "valor" = 1 deve ser totalmente transparente enquanto o campo com o campo "valor" = 0,4 deve ter um valor de transparência de 40%. A cor dos polígonos deve depender de outro campo. De preferência, eu faria isso usando uma camada, mas usar duas camadas com alguns modos de mesclagem também está OK.


Você pode usar propriedades definidas por dados para isso. Use a guia de estilo nas propriedades da camada e clique no botão de expressão à direita da cor.

Lá você pode usar a funçãocolor_rgba (vermelho, verde, azul, alfa)para criar a cor. Todos os valores devem estar entre 0 e 255.

Exemplo:

color_rgba (255, 0, 0, (1 - "transparência") * 255)

Isso lhe dará um estilo totalmente vermelho com o alfa definido a partir de um campo "transparência" conforme sua especificação na questão.

No editor de expressões, você encontrará uma série de outras funções relacionadas a cores que podem atender melhor às suas necessidades, basta explorá-las e ler sua documentação diretamente no editor de expressões.

Outro exemplo de valores nominais (qualitativos) que você normalmente classificaria é trabalhar no espaço hsv:

Existe a funçãocolor_hsva (matiz, saturação, valor, alfa)para criar a cor. Os valores precisam estar entre

  • matiz: 0-360 (o que significa ver abaixo)
  • valor e saturação: 0-100
  • alfa: 0-255.

Exemplo:

color_hsva (CASE WHEN "classificação" = 'vermelho' ENTÃO 0 WHEN "classificação" = 'azul' ENTÃO 240 FIM CASO, - matiz 80, - saturação 80, - valor (1 - "transparência") * 255 - alfa)

Para QGIS> = 2,12 também considere a resposta do @ndawsons.


Seguindo a resposta de Matthias, no QGIS> = 2.12 você pode usar uma cor de preenchimento definida pelos dados com a expressão:

set_color_part (@value, 'alpha', (1 - "transparência") * 255)

O que essa expressão faz é pegar a cor do polígono original (@value) e substituir o canal alfa (opacidade) pelo valor calculado a partir do campo). Isso significa que você pode definir a expressão da cor de preenchimento e, em seguida, continuar usando renderizadores categorizados ou graduados para definir automaticamente a cor de preenchimento de base e a regra de opacidade ainda será respeitada. Não há necessidade de codificar os valores rgb desta forma!


Você também pode definir esses valores nas Propriedades da camada da camada (clique com o botão direito -> Propriedades).
Use Estilo -> Categorizado e selecione a coluna que deseja usar, por exemplo 'valor', escolha as cores na rampa de cores e clique em 'Classificar'.
Então você pode definir a cor de cada valor e sua transparência.

Se você adicionar novos valores à camada usada, clique em Clasify para adicioná-los ao seu estilo existente.