J'ai essayé de remplir les polygones des limites de la ville avec un motif de rayures 3 couleurs (rouge, orange, vert), dont l'épaisseur respective est proportionnelle à 3 variables, différentes pour chaque ville, mais dont la somme est toujours 104 (voir figure par exemple) .
J'ai défini un motif de lignes avec 3 lignes, rouge, orange et vert. Fixant la distance à 4 mm et utilisant une expression de calculatrice de champ, j'ai réussi à faire varier la largeur de chaque couleur:
Variable_1/104*4 #for red
Variable_2/104*4 #for orange
Variable_3/104*4 #for green
Mais les expressions pour définir le décalage ne produisent aucun changement de décalage:
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
Y a-t-il quelque chose que je n'ai pas réglé correctement?
Réponses:
En abordant le problème différemment et en prédéfinissant le décalage de chaque ligne (0,1,2,3) , puis en changeant la couleur de la ligne en fonction d'une variable, nous pouvons arriver au résultat final.
En supposant que vous le montrez, nous avons 4 lignes de taille égale.
Exemple testé:
Vous trouverez ci-dessous les expressions de couleur et le style QGIS global qui permettront d'obtenir le résultat.
Cela fonctionne pour mon test où les variables sont nommées v1, v2, v3 et les valeurs des variables sont 26, 52, 78, 0 (divisions égales de 104).
Expressions de couleur:
Décalage 0 (ligne supérieure):
Décalage 1:
Décalage 2:
Décalage 3 (ligne du bas):
Fichier de style complet ici:
la source