#1 Fri 25 March 2016 11:16
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
QGIS : Symbologie SVG et regles d'affichage
Bonjour,
Je dispose de données que je pense mettre en forme de la façon suivante dans ma table attributaire
Objet caractéristique 1 caractéristique 2 caractéristique 3 caractéristique 4 caractéristique 5
1 oui non non oui non
2 non non non oui non
3 oui oui non non non
4 non oui oui non non
5 non oui oui oui oui
6 non oui non oui oui
7 oui non non oui oui
8 oui non non oui oui
quelle serait la meilleure façon de representer les 5 caracteritiques sous QGis ?
au debut je partais avec l'idee de tout synthetiser et de ne mettre qu'un seul ponctuel de couleur
ex si un objet a toutes les caractéristiques, le mettre en bleu, si aucune des caractéristiques en blanc etc...
par contre c'est assez compliqué a appréhender pour le lecteur qui doit retourner à la legende à chaque fois.
...
ce we je suis tombe sur le blog d'Anita Graser http://anitagraser.com/2016/03/19/creat … on-series/
et je me dit que ca pourrait repondre a mon besoin
j'ai tenté de reproduire mais j'echoue.
quelqu'un peut il m'expliquer comment faire ?
je parviens a mettre mes 5 symboles svg par objet, je les decale et de cette façon j'ai pour mes ponctuels une représentation avec 5 symboles svg.
Maintenant comment faire pour mettre les conditions d'affichage ? et comment faire pou le cas ou j'ai un non, l'objet n’apparaisse pas ? si possible sans decalage
Merci
Hors ligne
#2 Fri 25 March 2016 12:33
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
Salut,
et comment faire pou le cas ou j'ai un non, l'objet n’apparaisse pas ?
Elle écrit :
To hide icons if the icon value is NULL, the marker size is set to 0
J'en déduis, et on peut le supposer depuis sa 3ème capture d'écran, que tu appliques un case when à l'option taille de l'image.
Hors ligne
#3 Fri 25 March 2016 14:27
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : Symbologie SVG et regles d'affichage
Merci pour l'info, mais voici ce que j'obtiens : il y a un décalage quand la valeur est nulle. C'est ce que je voudrais éviter. Je continue à chercher.
Dernière modification par cyrille (Fri 25 March 2016 14:28)
Hors ligne
#4 Fri 25 March 2016 15:25
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
Petite remarque
vos données ne sont pas stockées pareil: elle a une entrée "ordre des icônes" ce qui fait que ces null sont à la fin alors que toi, tu as une entrée plutôt thématique et tes null sont disséminées dans la table. Par conséquent, de son post, l'idée que tu as récupérée, c'est plutôt le décalage entre les icônes; sa formule CASE WHEN telle qu'elle est ne t'est pas utile. J'ai bien compris?
Du coup, dans ton cas, la variable d'ajustement sera le décalage: les icônes devront être décalées vers la gauche proportionnellement au nombre de valeurs précédentes nulles. Dans les variables de l'option décalage, que se passe-t-il, si pour le l'icone3, au lieu de saisir une valeur en dur, tu mets
Code:
tondecalageenX * (if ("champ1", 1,0)+if("champ2",1,0)), tondecalageenY
La distance de décalage représente l'écart entre deux icônes consécutifs.
Hors ligne
#5 Fri 25 March 2016 15:46
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : Symbologie SVG et regles d'affichage
Bien vu ! c'est exactement ca. Mon fichier me parait plus simple à maintenir que le sien. D'ailleurs je n'ai jamais vu une organisation comme ca avec des valeurs identiques dans plusieurs colonnes ?
Ton code doit aller dans l'editeur en face des options decalage ? il est complet ? je ne comprend pas.
J'etais parti sur CASE WHEN "info1"='NULL' THEN .0 END comme condition des options de decalage.
Hors ligne
#6 Fri 25 March 2016 16:06
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
Oui, dans l'éditeur en face de l'option décalage. Il lui faut, une entrée du type X,Y. La formule te renvoie une erreur?
L'idée est de compter le nombre de non null dans les champs précédents
if ("champ1", 1,0)
renvoie 1 si "champ1" est non null et différent de 0 (autrement, il renvoie 0) et on multiplie la somme des valeurs renvoyées par le décalage nécessité par chaque icône.
Et le case when te renvoie quelque chose. Je crains qu'il ne faille en imbriquer un certain nombre
Dernière modification par SANTANNA (Fri 25 March 2016 16:07)
Hors ligne
#7 Fri 25 March 2016 16:32
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : Symbologie SVG et regles d'affichage
Merci pour ton retour, ca semble assez ardu pour mon niveau
je met cela dans l'éditeur et cela ne fonctionne pas CASE WHEN "info1"='NULL' THEN (0.0) else (0.11) END
(c'est du debogage et voudrais comprendre la focntion..)
Merci
Hors ligne
#8 Fri 25 March 2016 16:43
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
Cette formule CASE WHEN, tu la mets où? Si c'est pour le décalage, il faut deux valeurs séparées par une virgule (x,y) et là, tu ne donnes qu'une valeur.
Pour être sûr de bien comprendre, y a-t-il moyen d'avoir une copie de ta fenêtre Style?
Hors ligne
#10 Fri 25 March 2016 16:49
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
C'est-à-dire que t'as rajouté cinq fois ta couche?
Essaye avec une virgule au lieu d'un point et sans parenthèse. Ca ne donnerait pas ce que tu veux mais ca va bouger.
Bon, je viens de tester sur un jeu de données et il faut bien lui spécifier le format texte, c'est à dire quelque chose de la forme '0,5' (avec l'apostrophe)
Dernière modification par SANTANNA (Fri 25 March 2016 17:01)
Hors ligne
#11 Fri 25 March 2016 17:02
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : Symbologie SVG et regles d'affichage
CASE WHEN "info1"='NULL' THEN 0,0 else 0,11 END => expression invalide...
Mais ca me semble une methode a creuser.
je travaille avec une representation ensemble de regles
5 ponctuels SVG avec 5 filtres
reste à trouver l'astuce pour le décalage..
Hors ligne
#12 Fri 25 March 2016 17:05
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
Code:
CASE WHEN "info1" is NULL THEN '0,0' else '0,11' END
Edit: correction de la condition
Dernière modification par SANTANNA (Fri 25 March 2016 17:16)
Hors ligne
#13 Fri 25 March 2016 17:09
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
C'est possible de voir la fenêtre "ensemble de règles"?
Hors ligne
#14 Fri 25 March 2016 17:12
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : Symbologie SVG et regles d'affichage
Finalement c'est
Code:
CASE WHEN "info1"=NULL THEN '0,0' else '11,0' END
reste à enchainer les cas ...
Merci.
Hors ligne
#16 Fri 25 March 2016 17:23
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
Maintenant que le fonctionnement du décalage est maîtrisé, puis-je insister et revenir sur la formule avec if que tu trouvais ardue? qui devient alors
Code:
concat(11 * (if ("champ1", 1,0)), ', 0'
pour la deuxième icône
Code:
concat(11 * (if ("champ1", 1,0)+if("champ2",1,0)), ', 0'
pour la troisième icône
...
Hors ligne
#17 Fri 25 March 2016 17:30
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
Je dois t'avouer que je n'ai pas bien compris pourquoi ces règles et sur quoi elles s'appliquent mais si ça marche pour toi... why not.
PS: je ne saurais réellement t'expliquer le pourquoi du comment mais il vaut mieux souvent utiliser IS NULL plutôt que =NULL. (indication aussi présente dans l'aide de la fonction null)
Hors ligne
#19 Fri 25 March 2016 17:50
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3947
Re: QGIS : Symbologie SVG et regles d'affichage
Yep! Regarde plus posément chaque icone, il y en a peut-être ou le décalage n'est pas bien évalué.
Bon courage
Hors ligne
#20 Fri 25 March 2016 17:56
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : Symbologie SVG et regles d'affichage
Tout fonctionne !
Cela me va. La maj des données devrait être assez simple et le rendu interessant par rapport a une couleur unique.
Merci Santanna !
Dernière modification par cyrille (Fri 25 March 2016 18:22)
Hors ligne
#21 Mon 21 November 2016 14:45
- HANCZYK JM
- Participant actif
- Lieu: Châlons en Champagne
- Date d'inscription: 14 Aug 2011
- Messages: 144
- Site web
Re: QGIS : Symbologie SVG et regles d'affichage
Bonjour,
je souhaite reproduire la dernière capture d'écran (Capture6.jpg) mais je n'y arrive pas.
Quel est l'écriture exact du filtre ?
Comment appliquer le décalage de chaque symbole ?
à titre d'exemple voici le nom de 3 champs / 22 de mes données à représenter : sont "GARDERIE" "POLICE" "POMPIERS"
Cordialment
Jean-Marc HANCZYK
Jm Hanczyk
Hors ligne
#22 Mon 21 November 2016 17:06
- cyrille
- Participant assidu
- Date d'inscription: 7 Feb 2006
- Messages: 401
Re: QGIS : Symbologie SVG et regles d'affichage
Bonjour le decalage se règle dans la légende. Est ce bien ce que tu as fait ?
Hors ligne