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é ?

#1 Thu 25 February 2016 14:24

christophe_paysage
Participant occasionnel
Date d'inscription: 12 Jun 2008
Messages: 12

QGIS 2.12 : mise à jour automatique d'un champs en fonction d'un autre

Bonjour,

Dans la table attributaire, j'ai crée un champs virtuel, correspondant à la concaténation de plusieurs colonnes.

par exemple :

C - A - B = CAB
D - B - C = DBC
C - A - B =CAB
...

en sachant que j'ai plus de 20 000 entités.

Dans les résultats de cette colonne, plusieurs sont identiques, ici dans mon exemple CAB.

Est-il possible dans une autre colonne d'affecter automatiquement un numéro pour chaque résultat identique ?

C - A - B = CAB => 1
D - B - C = DBC => 2
C - A - B = CAB => 1

Et si je rajoute une nouvelle ligne C - A - B = CAB , elle se retrouve automatiquement avec 1.

Merci pour vos retour

Hors ligne

 

#2 Thu 25 February 2016 16:11

MathieuR
Membre
Lieu: aix-en-provence
Date d'inscription: 16 Feb 2009
Messages: 1690
Site web

Re: QGIS 2.12 : mise à jour automatique d'un champs en fonction d'un autre

Bonjour,

oui, normalement, avec les champs virtuels


geodata au cerema et petits billets en géomatique

Hors ligne

 

#3 Fri 26 February 2016 10:50

christophe_paysage
Participant occasionnel
Date d'inscription: 12 Jun 2008
Messages: 12

Re: QGIS 2.12 : mise à jour automatique d'un champs en fonction d'un autre

Merci de votre retour,

oui effectivement avec les champs virtuels, mais votre réponse ne m'aide pas beaucoup !
je sais qu'en utilisant :

CASE
    WHEN  "Champs"  = 'CAB' THEN '1'
    WHEN  "Champs"  = 'DBC' THEN '2'
END

par contre je voudrais trouver la formule pour pouvoir réaliser cette manip sur 20 000 lignes car j'ai beaucoup d'identifiants différents.

Merci

Hors ligne

 

#4 Fri 26 February 2016 11:35

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3931

Re: QGIS 2.12 : mise à jour automatique d'un champs en fonction d'un autre

Bonjour,
A priori, je ne vois pas de solution préexistante dans QGIS vu que c'est un trc que tu veux faire un peu à l'aveugle. Il faudra créer une fonction perso qui va balayer ton premier champ virtuel et créer un dictionnaire de données dans lequel il attribue un indice à chaque nouvelle valeur rencontrée. Tu obtiendrais donc quelque chose du genre CAB-->1, DBC-->2 ... et ensuite tu appliques cet indice à toutes les occurrences de la valeur.

Je ne suis pas sûr d'être assez clair mais ici, Python risque d'être ton (seul?) ami.

Hors ligne

 

Pied de page des forums

Powered by FluxBB