Annonce
Pour sa 21ème année, l’association GeoRezo a toujours besoin de vous !
10€ = 1 mois de frais bancaires ; 15€ = 12 mois de nom de domaine ; 30€ = 1 semaine de location des serveurs …
Retrouver nos membres bienfaiteurs
#1 Thu 13 December 2012 12:04
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour
Dans Qgis, je souhaiterais appliquer une symbologie en fonction de plusieurs champs.
Mais je ne vois pas comment faire.
Cela est-il possible?
Merci
Hors ligne
#2 Thu 13 December 2012 14:11
- Ludovic L
- Membre
- Lieu: Tours
- Date d'inscription: 23 Jun 2005
- Messages: 333
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour,
Deux solutions indirectes existent :
- soit en utilisant la symbologie par définition de règle ; problème il va falloir faire une requête par croisement des deux critères,
- soit en créant un nouveau champ avec concaténation des deux autres.
Conservatoire d'espaces naturels Centre-Val de Loire
Responsable SIG et informatique
Hors ligne
#3 Fri 14 December 2012 11:53
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour
soit en utilisant la symbologie par définition de règle ; problème il va falloir faire une requête par croisement des deux critères,
Comment fait-on? Je débute avec Qgis.
Merci
PS: Ce serait vraiment utile d'avoir cette possibilité; et peu de logiciels semblent le proposer.
Hors ligne
#4 Mon 17 December 2012 14:13
- Manon37
- Participant occasionnel
- Lieu: Tours
- Date d'inscription: 4 Jun 2012
- Messages: 47
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour,
Ce que je ferais (ce n'est peut-être pas la meilleure manière de faire, mais elle fonctionne) :
- dans propriété de la couche, puis style, tu choisis le style "catégorisé", tu choisis la colonne dans laquelle devront être effectuées les catégories, tu cliques "classer" et ensuite tu modifie la couleur ou le symbole de chaque classe.
- si tu souhaites superposer à ce 1er classement un second, tu réouvres la couche et tu lui appliques un style catégorisé différent.
Cela correspond à ce que tu cherches à faire, non ?
Hors ligne
#5 Tue 18 December 2012 10:13
- ckiko13
- Participant assidu
- Date d'inscription: 20 Feb 2007
- Messages: 363
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour
Non je n'obtiens pas ce que je veux.
Imaginons que j'ai 1 table d'arbres avec 1 champs: "TYPE_ARB" et "COMMUNE".
Je souhaite affecter une symbologie en fonction du type d'arbre ET de la commune.
Or avec la méthode que vous proposez, Manon37, les valeurs s'ajoutent mais ne se croisent pas.
Hors ligne
#6 Wed 19 December 2012 13:00
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3954
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour,
Si je comprends bien, vous souhaitez avoir ce genre de représentation par ex
si la commune est de classe A et que l'arbre est de type "feuillu", symbole carré vert, si l'arbre est conifère, carré rouge
si la commune est de classe B et que l'arbre est de type "feuillu", symbole triangle vert, si l'arbre est conifère, triangle rouge.
J'ai pris le cas de la commune qui définit la forme et le type d'arbres la couleur mais ce peut être aussi l'inverse.
Si tel est le cas, c'est bien l'option "Ensemble de règles", proposé par Ludovic, qu'il vous faut. Je ne l'ai personnellement pas souvent utilisé et ignore s'il y a plus simple que ce que je vais vous proposer.
Avant toute chose, définissez clairement (sur papier?) les situations que vous êtes appelé à traiter pour l'un ou l'autre des deux champs et les symbologies associées. Il vous faudra construire la représentation vous-même (pas vu d'option automatisé), pour chaque cas/symbole rencontré et ça peut être fastidieux si beaucoup beaucoup de cas...
Dans Propriétés de la couche > Style > sélectionnez Ensemble de règles.
Cliquez sur "Ajouter".
Dans la fenêtre qui s'ouvre , cliquez sur les (...) devant "filtre". On arrive dans une fenêtre de requête ou vous sélectionnez la première condition sur les communes ("COMMUNE"='A'). Validez.
Un clic sur le bouton "test" permet de vérifier si la formule renvoie des entités.
Décochez l'option symbole dans la fenêtre. Validez.
Dans la fenêtre des propriétés de la couche, sélectionnez la première règle que vous venez de créer et cliquez sur "redéfinir les règles existantes",
sélectionnez "Ajoutez les catégories aux règles". Choix du champ "TYPE_ARB", classez et attribuez alors à chaque cas, la symbologie qui correspond (carré vert, carré rouge... dans mon exemple).
Quand vous avez tout modifié, validez.
Vous devriez être à nouveau dans la fenêtre "Propriétés de la couche".
En cliquant sur chacune des nouvelles lignes ajoutées, vous pouvez paramétrer ce que vous voulez, dont l'ajout d'une étiquette (qui apparaîtra dans la légende).
Ensuite, il vous suffira de refaire les mêmes pas pour les communes de classe B,... avec "Ajouter" --->>>
En espérant avoir été clair dans le "tuto". Sinon, relancez le forum.
Cordialement,
SANTANNA
PS: si vous avez la main sur la structure de vos couches et si cela ne la perturbe pas trop, l'option création d'un nouveau champ de concaténation me semble moins complexe à utiliser pour le type de classification qui est présenté dans cet exemple.
Dernière modification par SANTANNA (Wed 19 December 2012 14:35)
Hors ligne
#7 Thu 30 July 2015 12:02
- scout
- Participant occasionnel
- Lieu: Bordeaux
- Date d'inscription: 17 Dec 2007
- Messages: 31
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour à tous,
Je viens relancer ce sujet sur la création d'une symbologie à partir de plusieurs champs. J'aimerai faire quelque chose dans la même idée qu'énoncé au dessus, c'est-à-dire faire une symbologie à partir de 2 champs, mais avec QGIS 2.8 !
Désormais la fonction d'expression a été rajouté à QGIS pour permettre de créer ce champ concaténé virtuellement. Cependant je ne trouve pas formule!!! Quelqu'un pourrait-il me donner un coup de pousse SVP?
J'ai testé ça dans la fenêtre d'expression :
"champ_A" + "champ_B"
Mais en cliquant ensuite sur le bouton "Classer", rien n'en ressort.
Une idée?
Hors ligne
#8 Thu 30 July 2015 13:07
- Benoit91
- Participant assidu
- Date d'inscription: 2 Oct 2008
- Messages: 263
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour
Pour la concaténation de champ vous pouvez regarder dans la doc officielle
http://docs.qgis.org/2.8/fr/docs/user_m … ssion.html
ou en recherchant dans d'autres post du forum par exemple celui-ci
http://georezo.net/forum/viewtopic.php? … ;hl=concat
Cordialement
Hors ligne
#9 Fri 31 July 2015 15:59
- monique
- Participant actif
- Date d'inscription: 7 Oct 2005
- Messages: 146
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour,
Pour concaténer des champs avec pour certains de objets des valeurs NULL, voici une autre formule (tout en ayant la possibilité d'ajouter des espaces ou des virgules) :
COALESCE(coll1,'')||' - '||COALESCE(coll2,'')
Monique
Hors ligne
#10 Fri 19 August 2016 22:47
- laurent00
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 405
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
bonsoir
je reviens sur l'utilisation de Ensemble des règles dans le Post Santanna
j'ajoute une catégorie à la règle mais après le classer/ok pas de résultat, la règle n'est pas implémentee !
je suis sous la 2.16 et idem sous windows et ubuntu
est-ce un bogue ou j'ai raté un truc ?
LJ
Dernière modification par laurent00 (Fri 19 August 2016 23:09)
Hors ligne
#11 Fri 26 May 2023 07:23
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 347
Re: QGIS 1.9: Symbologie en fonction de plusieurs champs
Bonjour,
Est-ce que cet ensemble de règles peut être contenu dans un XLM qu'on pourrait chargé ?
En fait, nous avons un passif dans un autre SIG et je voudrais récupérer toutes les classes de représentation
Nos critères sont sur la valeur de champs (attributs) et sur l'échelle d'affichage
Merci de vos réponses et bonne journée
Pierre-Yves
Hors ligne