Eu tenho tentado preencher polígonos de limites de cidade com um padrão de listras de 3 cores (vermelho, laranja, verde), cuja espessura respectiva é proporcional a 3 variáveis, diferentes para cada cidade, mas cuja soma é sempre 104 (veja a figura por exemplo) .
Defino um padrão de linha com 3 linhas, vermelho, laranja e verde. Fixando a distância em 4 mm e usando uma expressão de calculadora de campo, consegui fazer a largura de cada cor variar:
Variable_1/104*4 #for red
Variable_2/104*4 #for orange
Variable_3/104*4 #for green
Mas as expressões para definir o deslocamento não produzem nenhuma alteração de deslocamento:
Variable_1/104*2 #for red
Variable_1/104*4 + Variable_2/104*2 #for orange
Variable_1/104*4 + Variable_2/104*4 + Variable_3/104*2 #for green
Existe algo que não defini corretamente?
Respostas:
Abordando o problema de maneira diferente e pré-definindo o deslocamento de cada linha (0,1,2,3) e, em seguida, alterando a cor da linha com base em uma variável , podemos chegar ao resultado final.
Supondo que você mostre, temos 4 linhas de tamanhos iguais.
Exemplo testado:
Abaixo estão as expressões de cores e o estilo geral do QGIS que alcançarão o resultado.
Isso funciona para o meu teste, onde as variáveis são nomeadas como v1, v2, v3 e os valores das variáveis são 26, 52, 78, 0 (divisões iguais de 104).
Expressões de cores:
Deslocamento 0 (linha superior):
Deslocamento 1:
Deslocamento 2:
Deslocamento 3 (linha inferior):
Arquivo de estilo completo aqui:
fonte