Pages: 1
- Sujet précédent - QGIS: couleurs identiques entres couches de types différents - Sujet suivant
#1 Wed 02 November 2016 17:46
- CMichaux
- Juste Inscrit !
- Date d'inscription: 2 Nov 2016
- Messages: 9
QGIS: couleurs identiques entres couches de types différents
Bonjour,
Je dispose de couches de types points, lignes et polygones. Chacune de ces couches possèdent un attribut de type entier.
Je souhaiterais créer un style catégorisé par rapport à cet attribut, avec des couleurs au hasard sur chacune des couches. Mais je souhaiterais que ces couleurs soient les mêmes entre toutes les couches pour une même valeur de l'attribut.
Mon problème est que je ne peux pas copier le style entre deux couches de type différent, par exemple d'une couche de lignes à une couche de point.
Y a-t-il un moyen simple de faire cela ?
Hors ligne
#2 Wed 02 November 2016 18:33
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: couleurs identiques entres couches de types différents
tu mets la même Notation html pour chaque attribut
Opérateur cartographique & DAO & PHP.
Hors ligne
#3 Thu 03 November 2016 10:05
- CMichaux
- Juste Inscrit !
- Date d'inscription: 2 Nov 2016
- Messages: 9
Re: QGIS: couleurs identiques entres couches de types différents
Quelle notation html ? Je ne vois pas où il y a du html dans les règles de style.
Aussi, j'ai environ 200 valeurs possibles pour l'attribut qui m'intéresse. Je ne peux donc pas assigner les couleurs une par une à la main.
Hors ligne
#4 Thu 03 November 2016 10:26
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: couleurs identiques entres couches de types différents
C'est un code couleur qui ressemble à #00FF00.
Tu as 200 enregistrements dans ta base ou 200 attributs différents.
Dernière modification par michel56 (Thu 03 November 2016 10:26)
Opérateur cartographique & DAO & PHP.
Hors ligne
#5 Thu 03 November 2016 10:32
- CMichaux
- Juste Inscrit !
- Date d'inscription: 2 Nov 2016
- Messages: 9
Re: QGIS: couleurs identiques entres couches de types différents
Oui c'est clair que si je copie à la main la couleur pour chaque valeur de mon attribut ce sera la même couleur sur chaque couche.
J'ai des milliers d'enregistrements avec un seul attribut qui peut prendre environ 200 valeurs.
En simplifiant : j'ai une couche de câbles électriques et une couche de noeuds électriques que je veux colorer par source d'alimentation (un indentifiant de type entier, environ 200). Mais je veux avoir les même couleurs (couleurs au hasard) entre les câbles et les noeuds pour une même source d'alimentation, sans devoir assigner toute les couleurs à la main.
Dernière modification par CMichaux (Thu 03 November 2016 10:34)
Hors ligne
#6 Thu 03 November 2016 11:14
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: couleurs identiques entres couches de types différents
Tu peux ajouter un champ COULEUR avec une couleur par type d'attribut à tes deux bases.
Choisir symbole unique au lieu de catégorisé et choisir la couleur du champ
Dernière modification par michel56 (Thu 03 November 2016 11:16)
Opérateur cartographique & DAO & PHP.
Hors ligne
#7 Thu 03 November 2016 11:39
- CMichaux
- Juste Inscrit !
- Date d'inscription: 2 Nov 2016
- Messages: 9
Re: QGIS: couleurs identiques entres couches de types différents
Merci, effectivement cela fonctionne, par contre je n'ai pas de légende dans ce cas là avec le style symbole unique.
Y a-t-il un moyen de faire la même chose mais en générant un style catégorisé ?
Hors ligne
#8 Thu 03 November 2016 11:48
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: couleurs identiques entres couches de types différents
Ça à l'air de fonctionner avec type catégorisé. Mais je ne sais pas quelle couleur il utilise.
La première trouvée? La dernière?
Dernière modification par michel56 (Thu 03 November 2016 12:15)
Opérateur cartographique & DAO & PHP.
Hors ligne
#9 Thu 03 November 2016 12:44
- CMichaux
- Juste Inscrit !
- Date d'inscription: 2 Nov 2016
- Messages: 9
Re: QGIS: couleurs identiques entres couches de types différents
Chez moi la couleur de la légende ne prend pas la couleur du champ "valeur définie par les données".
Hors ligne
#10 Thu 03 November 2016 13:57
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: couleurs identiques entres couches de types différents
Oui tu as raison. Il ne prend pas en compte la couleur du champ.
Dernière modification par michel56 (Thu 03 November 2016 14:21)
Opérateur cartographique & DAO & PHP.
Hors ligne
#11 Thu 03 November 2016 14:53
- CMichaux
- Juste Inscrit !
- Date d'inscription: 2 Nov 2016
- Messages: 9
Re: QGIS: couleurs identiques entres couches de types différents
Je n'ai pourtant pas l'impression de chercher à faire quelque chose d'extraordinaire. Il doit bien y avoir un moyen simple de créer automatiquement une légende consistante entre une couche de points et une couche de ligne ?
Hors ligne
#12 Thu 03 November 2016 15:44
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: couleurs identiques entres couches de types différents
Avec une jointure entre tables?
Opérateur cartographique & DAO & PHP.
Hors ligne
#13 Thu 03 November 2016 18:29
- CMichaux
- Juste Inscrit !
- Date d'inscription: 2 Nov 2016
- Messages: 9
Re: QGIS: couleurs identiques entres couches de types différents
A quoi bon puisque le champ "valeur définie par les données" ne fait pas ce dont j'ai besoin ?
Hors ligne
#14 Fri 04 November 2016 09:20
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3919
Re: QGIS: couleurs identiques entres couches de types différents
Bonjour,
Je n'ai pas QGIS sous la main mais le format de votre information couleur est-il bien sous la forme attendue par l'expression (rgb, hexagone...)?
Par ailleurs, QGIS propose une variable@symbol_color (de mémoire) qui permet de récupérer la couleur d'un symbole. Il n'est pas possible en 2.x de récupérer la variable d'une autre entité mais peut-être imaginer une couche virtuelle qui soit l'extraction de la symbologie ( champ de classification + couleur ), bref une table étrangère qui fasse office de table de correspondance. Peut-être, et là je sèche sans QGIS devant, voir dans quelle mesure cette table de couleur peut être utilisée dans une expression pour récupérer la bonne couleur si correspondance (avec du get_feature)
Hors ligne
#15 Fri 04 November 2016 10:00
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3919
Re: QGIS: couleurs identiques entres couches de types différents
Ah au fait, je crains en tout cas, qu'en passant par "valeurs définies par des données" pour ce genre d'éléments, il ne soit pas récupéré dans la légende. Il y avait eu sur la liste développeurs de mémoire une longue discussion sur comment les "valeurs définies" pouvaient être utilisées pour rendre la symbologie dans la légende sans qu'une option claire n'ait pu être arrêtée, tant les possibilités de combinaisons sont diverses.
Hors ligne
#16 Fri 04 November 2016 10:25
- michel56
- Participant assidu
- Lieu: Lorient
- Date d'inscription: 14 Jul 2012
- Messages: 474
Re: QGIS: couleurs identiques entres couches de types différents
Est-ce utile de faire une légende avec 200 couleurs différentes.
Mettre une étiquette, comme pour le type de route sur les cartes routières, ne serait-il pas suffisant et garder les valeurs définies dans la base.
Dernière modification par michel56 (Fri 04 November 2016 10:26)
Opérateur cartographique & DAO & PHP.
Hors ligne
#17 Fri 04 November 2016 10:38
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3919
Re: QGIS: couleurs identiques entres couches de types différents
Est-ce utile de faire une légende avec 200 couleurs différentes.
+1
Hors ligne
#18 Fri 04 November 2016 10:52
- CMichaux
- Juste Inscrit !
- Date d'inscription: 2 Nov 2016
- Messages: 9
Re: QGIS: couleurs identiques entres couches de types différents
C'est utile puisque depuis qgis 2.14 on peut filtrer la légende pour qu'elle mentionne uniquement les éléments affichés en fonction du niveau de zoom.
Aussi, j'aimerais pouvoir utiliser cette même fonction pour d'autres attributs qui ont moins de valeurs différentes.
Hors ligne
#19 Fri 14 December 2018 16:19
- Chaz
- Juste Inscrit !
- Date d'inscription: 9 Jun 2017
- Messages: 6
Re: QGIS: couleurs identiques entres couches de types différents
Je déterre ce sujet car je pense avoir une solution a ta question.
Tu peux créer une nouvelle colonne appelée "couleur". Dans cette colonne, on va calculer dans Qgis une couleur aléatoire grâce à l'expression suivante :
Code:
color_rgb( rand(1, 254), rand(1, 254), rand(1, 254))
Une fois que tu as ça, dans les propriétés de ta couche, tu gères la couleur de ta couche en fonction de la valeur stockée dans ton champ "couleur" (bouton tout à fait à droite de ta fenêtre).
Maintenant, pour pouvoir partager tes couleurs avec ta seconde couche, il te faut simplement faire une jointure attributaire sur champ le commun à tes deux shapes. Ainsi, tu pourras récupérer ton champ "couleur" (portant ton code rvb) sur ta seconde couche. Pour finir, il te suffit de réaliser le même type de symbologie que sur ta première couche (couleur d'après la valeur d'un champ)
Hors ligne
#20 Tue 28 November 2023 09:43
- dt
- Juste Inscrit !
- Date d'inscription: 15 Nov 2023
- Messages: 6
Re: QGIS: couleurs identiques entres couches de types différents
Bonjour,
je re-déterre ce sujet à mon tour car j’ai trouvé une solution qui correspond exactement au problème. J’avais même des contraintes supplémentaires, car je devais agréger les couleurs selon un autre champ, et les couches points et lignes n’avaient pas 100% de correspondance.
Les étapes :
1) Création d’un champ "Couleur" dans ma couche Ligne, rempli avec le code de Chaz
Code:
color_rgb( rand(1, 254), rand(1, 254), rand(1, 254))
2) Attribution d’une même couleur pour chaque entité partageant un paramètre d’un autre champ
Code:
majority( "Couleur" ,group_by:= "CHAMP_POUR_GROUP" )
Je n’ai trouvé que majority qui puisse marcher car la couleur n’est pas un entier, et chaque ligne étant unique, une concaténation ne marcherait pas non plus.
3) Réalisation d’une jointure selon les valeurs de champ "CHAMP_POUR_GROUP" pour attribuer des couleurs identiques aux points ayant une correspondance
4) Pour les entités n’ayant pas trouvé de correspondance, on fait à nouveau les étapes 1 et 2 sur la couche de points.
5) Dans symbologie, on choisit "symbole unique". Ensuite, dans 'symbole simple', au niveau de la couleur de remplissage de symbole, on met la variable "Couleur" sur chacune des couches (la petite boîte avec 2 tiroirs à la droite de chaque ligne pour ceux qui ne l’utilisent pas souvent).
Ainsi les deux couches ont la même couleur pour chaque entité partageant le "CHAMP_POUR_GROUP"
Pour répondre à d’autres questions plus en amont, pour ma part je devais utiliser cette méthode et pas une autre car je devais distinguer visuellement chaque interventions dans un secteur donné. Les données pouvaient donc se trouver côté à côté, avoir plusieurs entités par intervention, et avoir des points et des lignes au sein de la même intervention.
Hors ligne
#21 Tue 28 November 2023 10:03
- Vincent Vauchey
- Participant assidu
- Lieu: saint jean de braye
- Date d'inscription: 24 Jan 2006
- Messages: 288
Re: QGIS: couleurs identiques entres couches de types différents
Bonjour
Merci dt pour ton retour
Hors ligne
Pages: 1
- Sujet précédent - QGIS: couleurs identiques entres couches de types différents - Sujet suivant