#1 Mon 18 May 2015 14:02
- aphonse
- Juste Inscrit !
- Date d'inscription: 13 May 2015
- Messages: 8
QGIS : Symbologie selon plusieurs variables
Bonjour,
Le sujet à déja été abordé, mais je n'ai pas trouvé (encore) de solution à mon questionnement malgré les tutos et forum existant.
Ma question est la suivante :
J'ai une couche qui représente différents feu de foret en fonction de leur origine et de leur taille.
J'ai différents symbole pour les origines et je voudrais changer leur couleur en fonction de leur date. (J'ai environ une dizaine d'intervalle de date).
Je suis bien évidemment passé par l'ensemble de règle, bien pratique pour faire une symbologie en fonction de l'origine ou en fonction de la date mais les deux combinés ... cela me fait écrire plus de trente règles !
Connaissez vous une expression (Du python ?) ou un plug in pour réaliser cette symbologie ? Ou dois je dois écrire une trentaine de règle ?
Merci d'avance
Hors ligne
#2 Mon 18 May 2015 14:28
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS : Symbologie selon plusieurs variables
Bonjour
Sans forcement se tourner vers python ou un plugin, est-ce que l'utilisation de type d'expression
CASE WHEN "champ_date" >='2015-01-01' AND "champ_date" >='2015-05-18' THEN '250,50,68,100'
WHEN .......THEN.............. END
les code rgb r250,g50,b68 et le 100 représente "l'opacité"
Cette expression est à placer dans l’éditeur d'expression au niveau des couleurs de remplissage et de bordure.
Cordialement.
Dernière modification par Benoit91 (Mon 18 May 2015 14:30)
Hors ligne
#3 Mon 18 May 2015 14:56
- aphonse
- Juste Inscrit !
- Date d'inscription: 13 May 2015
- Messages: 8
Re: QGIS : Symbologie selon plusieurs variables
Bonjour,
Merci de votre réponse. J'ai testé mais cela ne me renvoie rien du tout. Cela vient peut être du fait que je ne trouve pas l'éditeur d'expression dont vous me parlez (je suis sous QGIS 2.2) ce qui fait que j'ai inscrit cette expression dans "ensemble de règle"
Code:
Case when "AnneeSubm" >=1997 AND "AnneeSubm" <=1998 then '250,50,68,0' when "AnneeSubm" >2000 then '140,25,98,0' when "AnneeSubm" > 1600 AND "AnneeSubm"<1977 then '50,255,30,0' End
Hors ligne
#4 Mon 18 May 2015 15:17
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS : Symbologie selon plusieurs variables
Je ne me souviens pas sous qgis 2.2 mais au niveau de la fenêtre de paramétrage de vos symboles (couleur, taille, angle...) vous devriez avoir un bouton "style prédéfinis ou personnalisé" (je ne sais plus exactement) avec normalement la possibilité d'agir sur la couleur du symbole en fonction de l'expression case when...
Cordialement.
Hors ligne
#5 Tue 19 May 2015 09:51
- aphonse
- Juste Inscrit !
- Date d'inscription: 13 May 2015
- Messages: 8
Re: QGIS : Symbologie selon plusieurs variables
Bonjour,
J'ai en effet trouvé ce fameux bouton ("source de définition de propriété") l'expression que vous m'avez donné marche très bien pour le remplissage en fonction des intervalles de dates (Merci !).
Cependant la deuxième partie de mon problème reste encore un mystère pour moi :
Comment, maintenant que les couleurs changent en fonction de la date, je peux changer le symbole en fonction du Type ?
J'ai essayé en ajoutant une close "AND TYPE= x" mais cela ne fonctionne pas comme je le voudrais. J'ai donc tenté de rajouté un symbole dans le "Marker" avec la même expression (en changeant juste le type) mais sans succès.
J'ai ensuite ajouté "ELSE '' " (j'ai tenté plusieurs écriture) à la fin de mon expression pour n'afficher que les symboles correspondants au type choisis, en vain également.
Du coup je suis à la recherche d'idées nouvelles ^^
Hors ligne
#6 Tue 19 May 2015 10:35
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS : Symbologie selon plusieurs variables
Bonjour
Ce que vous pouvez faire:
Allez dans "propriété de la couche" => "Style" => "Catégorisé
Vous choisissez votre champ "origine de feu"
votre symbole (ce sera plus facile si c'est le même symbole mais sinon vous pouvez les modifier individuellement une fois que les catégories sont faites)
Au niveau des options du symbole vous renseignez l'expression en CASE.. WHEN ..THEN.. ELSE.. END
Puis dans la fenetre des catégories en bas à droite vous devriez avoir un bouton "avancé" qui vous permet de faire varier la taille de vos symbole en fonction d'un champ ou d'une expression. Choisissez votre champ "taille".
Voir la capture d'image jointe (même si c'est sous QGIS 2.8 cela vous aidera à comprendre)
EDIT: Pour précision => Si vous utilisez différents symbole en fonction des origines vous aurez autant de fois à renseigner l'expression CASE.. WHEN ..THEN.. ELSE.. END pour chaque symbole.
Cordialement.
Dernière modification par Benoit91 (Tue 19 May 2015 10:42)
Hors ligne
#7 Tue 19 May 2015 11:14
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3884
Re: QGIS : Symbologie selon plusieurs variables
Bonjour,
Est-ce qu'il y a le même bouton de définition des propriétés sur la partie où on sélectionne le symbole ou le type de symbole fait-il parte des options paramétrables avec une expresion? Auquel cas vous pourrez aussi y saisir une expression du même type que celle en haut sauf qu'au lieu de couleur, vous auriez des variables comme 'triangle', 'pentagon', 'square'... On peut même imaginer appliquer les deux règles juste avec une symbologie à symbole unique (mais attention, pas utilisable pour générer une légende explicite facilement)
C'est dur de donner une réponse claire sur QGIS 2.2 car cette fenêtre a beaucoup d'options aujourd'hui et même la présentation a évolué entre les versions.
EDIT : La page tu actualiseras avant chaque envoi....
Dernière modification par SANTANNA (Tue 19 May 2015 11:23)
Hors ligne
#8 Tue 19 May 2015 11:27
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS : Symbologie selon plusieurs variables
Bonjour Santanna
Je ne crois pas que les symboles classiques soient "paramétrables" avec une expression, par contre pour les symbole svg c'est possible en version qgis 2.8 (mais il faut saisir le chemin d'accès complet au svg) et il me semble que cela était également possible en 2.2 à vérifier, aphonse ?
aphonse, si vous avez la possibilité de basculer en version 2.8 ce ne sera que mieux pour vous.
Cordialement.
Hors ligne
#9 Tue 19 May 2015 11:58
- aphonse
- Juste Inscrit !
- Date d'inscription: 13 May 2015
- Messages: 8
Re: QGIS : Symbologie selon plusieurs variables
Merci pour votre solution Benoit, c'est pile ce qu'il me fallait
Oui je sais bien, ma version de Qgis date un peu, et croyez bien que si je pouvais changer ceci je le ferais. Mais voila, dans les administrations on ne fais pas toujours ce que l'on veut !
Merci de vos réponse et du temps que vous m'avez consacré
Hors ligne
#10 Tue 19 May 2015 12:59
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3884
Re: QGIS : Symbologie selon plusieurs variables
Je ne crois pas que les symboles classiques soient "paramétrables" avec une expression
Ca dépend à quel niveau on choisit le paramétrage mais il existe (genre le dernier niveau du symbolisme pour un marqueur) quoique, à bien y regarder peu pratique (pertinent?)
Aphonse, au-delà de la multitude de fonctions qu'elle a plus que la 2.2, la version 2.8 est une version qui reçoit toujours les nouveaux correctifs et va être maintenue pendant un bon moment (jusqu'à la sortie d'une équivalente 2.14), c'est dire que bientôt elle sera bien stable. Ça pourrait servir d'argument auprès de la DSI, pour repartir sur une version stable, plus à jour et plus pérennisée. Bon courage...
Hors ligne
#11 Tue 19 May 2015 13:30
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS : Symbologie selon plusieurs variables
Autant pour moi Santanna, je n'avais pas remarqué le bouton d'expression disponible au niveau des symboles classiques.
Merci.
Dernière modification par Benoit91 (Tue 19 May 2015 13:31)
Hors ligne