#1 Wed 31 January 2018 14:52
- bill08
- Participant assidu
- Date d'inscription: 27 May 2011
- Messages: 171
QGIS: Jointure et attributs
Bonjour,
Je viens d'effectuer une jointure entre un fichier excel ou scv (j'ai essayé les deux) avec une couche shp.
Jusque la tout va bien.
Le soucis c'est après, je m'explique, la jointure m'a doublé mes colonnes donc je souhaite en supprimer une des deux sans perdre les informations contenues.
J'ai la possibilité bien évidemment de faire avec la calculatrice de champ, un = pour "déplacer" ma colonne dans l'autre.
Sauf que je possède des informations dans chez certains attributs dans une colonne que je n'ai pas dans l'autre en gros (je schématise la table attributaire:
Colonne A Colonne B
numéro 1 information NULL
numéro 2 NULL information
Si je décide de supprimer la colonne B, calculatrice de champ, colonne A = colonne B, les informations de la colonne B passent dans celle de A.
Qu'en est-il, dans mon exemple, de NULL de la colonne B, allant dans la A ?
est-ce que je vais remplacer/perdre mon information de la colonne A qui sera remplacée par NULL?
A priori, oui, du coup ma question est comment fusionner la Colonne B dans la A sans perdre les infos présentes dans A mais absentes dans B pour une même entité.
Je sais pas si j'ai réussi à être clair et encore mois si il existe une possibilité pour solutionner mon soucis
Par avance merci de m'avoir lu
Hors ligne
#2 Wed 31 January 2018 15:18
- VanRouten
- Participant occasionnel
- Date d'inscription: 6 Sep 2017
- Messages: 12
Re: QGIS: Jointure et attributs
Bonjour,
J'ai une solution qui relève un peut du bricolage mais qui marche bien. Tu va dans le dossier où il y a ta couche sur ton ordinateur et tu n'ouvre pas le fichier SHP mais le dbf avec OpenOffice. En gros tu ouvre la table d'attribut dans un tableur.
Une fois que t'es là, tu fusionne tes deux colonnes donc tu aura par exemple :
Colonne A Colonne B Colonne C
numéro 1 information NULL informationNULL
numéro 2 NULL information NULLinformation
Ensuite tu prends l'outil "Rechercher et Remplacer" (icône en forme de jumelles) et tu lui dit de sélectionner NULL et de la remplacer par rien.
C'est pas très classe comme méthode mais efficace.
Bon courage
Hors ligne
#3 Wed 31 January 2018 15:50
- bill08
- Participant assidu
- Date d'inscription: 27 May 2011
- Messages: 171
Re: QGIS: Jointure et attributs
Bonjour,
Merci pour cette solution qui me semble aisément jouable, cependant j'ai un soucis pour arriver au dbf dans un tel cas.
En effet, une fois la jointure faite entre mon csv et mon shape, sous qgis, j'ai bien mes nouvelles colonnes, je fais ensuite enregistrer sous et chaque fois, le dbf se trouve être vide...vierge complétement.
Je précise que le shp est en fait un geosjon (c'est un stagiaire qui nous a fait ca, j'y comprend rien et il est plus la).
à la limite, j'arrive à enregistrer le geosjon en shp et ca me donne bel et bien un dbf rempli, mais une fois que je fais la jointure, j'enregistre un nouveau shp, il est vide
pourtant si j'ouvre cette nouvelle couche dans qgis, la jointure est présente meme si les colonnes jointes n'ont plus le meme nom
Dernière modification par bill08 (Wed 31 January 2018 15:52)
Hors ligne
#4 Wed 31 January 2018 17:37
- bill08
- Participant assidu
- Date d'inscription: 27 May 2011
- Messages: 171
Re: QGIS: Jointure et attributs
EDIT : grâce à l'outil +, il est possible de remplacer une colonne par une autre à la seule condition que l'autre soit vierge (sinon ca additionne les 2 infos).
C'est déjà un bon point pour moi
Par contre, la question, quelle peut etre la formule à utiliser dans le cas ou nous avons 2 même infos pour la meme entité
en gros
Colonne A Colonne B
Null info 1
info 2 info 2
utilisation de l'outil + donne
Colonne A Colonne B
info 1
info 2info 2
en gros il faut que la colonne B remplace la A uniquement si la A est vide
Je sais pas si je suis clair ^^
Merci par avance
Hors ligne
#5 Thu 01 February 2018 08:55
- dave31
- Participant actif
- Date d'inscription: 17 Feb 2017
- Messages: 82
Re: QGIS: Jointure et attributs
Bonjour,
Dans QGIS, en créant un nouveau champ avec la calculatrice de champ et la requête suivante :
Code:
CASE WHEN “Colonne A“ is not null THEN “Colonne A“ ELSE “Colonne B“ END
Hors ligne
#6 Thu 01 February 2018 12:55
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS: Jointure et attributs
Bonjour,
La fonction coalesce permet aussi de faire cela:
Code:
coalesce ("colonneA", "colonneB")
Permet de récupérer la première valeur non nulle des colonnes, en d'autres termes, si A est null, on prend la valeur de B sinon on prend A.
Dernière modification par SANTANNA (Thu 01 February 2018 12:55)
Hors ligne
#7 Fri 02 February 2018 12:04
- bill08
- Participant assidu
- Date d'inscription: 27 May 2011
- Messages: 171
Re: QGIS: Jointure et attributs
Merci beaucoup pour votre aide, c'est tout pile ce dont j'avais besoin
une question, il existe un site qui "recense" les formules ou les explique un minimum ?
merci par avance
Hors ligne
#8 Fri 02 February 2018 14:46
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3945
Re: QGIS: Jointure et attributs
Bonjour,
une question, il existe un site qui "recense" les formules ou les explique un minimum ?
Dans QGIS, lorsque vous sélectionnez une fonction, le troisième panneau à droite affiche son aide: à quoi elle sert, ses paramètres, des exemples d'utilisation. Cela dit, si vous ne connaissez pas le nom de la fonction à utiliser, il faudra se fader une partie de la liste pour trouver (et vous pourrez découvrir des perles comme cela ).
Sinon comme site, il reste encore la doc officielle https://docs.qgis.org/2.18/fr/docs/user … sion.html. S'il y a autre chose, je ne sais pas.
Hors ligne
#9 Fri 02 February 2018 15:05
- bill08
- Participant assidu
- Date d'inscription: 27 May 2011
- Messages: 171
Re: QGIS: Jointure et attributs
Merci beaucoup pour ces précisions
Hors ligne