banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

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: 3944

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: 3944

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: 3944

Re: QGIS: couleurs identiques entres couches de types différents

michel56 a écrit:

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: 7

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

 

Pied de page des forums

Powered by FluxBB