Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Si vous lisez ce message, cela signifie que vous êtes sur le nouveau serveur de GeoRezo.

Toutefois, suite à la migration, des anomalies voire des régressions existent et seront corrigées progressivement.

Merci de votre patience.

#1 Wed 15 May 2019 10:25

ODJAC33
Membre
Date d'inscription: 6 Aug 2017
Messages: 119

QGIS: Appel de l'attribut d'une autre couche pour mise à jour

Bonjour à tous,

Mon problème est le suivant.
Je souhaiterais mettre à jour la latitude et la longitude des points d'une base (qu'on appellera B1) à partir de la latitude et de la longitude des points d'une autre base (qu'on appellera B2).
Cette mise à jour ne s'exécute que si l'identifiant des points de la base B1 est le même que l'identifiant des points de la base B2.

Donc, concrètement, pour mettre à jour le champ latitude de la base B1 (après, on ferait pareil pour la longitude), j'active la calculatrice de champ (Mise à jour du champ existant Latitude) et ... je sèche un peu sur le code qu'il faut écrire ...
Je pense que ça pourrait ressembler un peu à ça :
case when  ("Identifiant-B1" ILIKE 'Couche de la base B2'_"Identifiant-B2") *Identifiant de la base B1 (à mettre à jour)= identifiant de la base B2, mais je ne sais pas comment coder l'attribut d'une autre couche que celle que l'on traite)*
then 'Couche de la base B2'_"Latitude" *la latitude de l'objet la base B1 se mettra à jour en prenant la valeur de la latitude de l'objet de la base B2 qui a le même identifiant*
end


Merci pour vos conseils.

Hors ligne

 

#2 Wed 15 May 2019 12:26

laurent00
Membre
Date d'inscription: 6 Aug 2007
Messages: 297

Re: QGIS: Appel de l'attribut d'une autre couche pour mise à jour

bonjour
je crois que le plus simple serait de faire une jointure entre des couches sur l'identifiant
mais une base pour toi c quoi ?
LJ

Hors ligne

 

#3 Wed 15 May 2019 18:41

ODJAC33
Membre
Date d'inscription: 6 Aug 2017
Messages: 119

Re: QGIS: Appel de l'attribut d'une autre couche pour mise à jour

Ce sont deux bases de données de points (ayant chacun (entre autres ...) un champ identifiant, un champs latitude et un champ longitude) et représentées dans mon projet par 2 couches distinctes.

Hors ligne

 

#4 Wed 15 May 2019 18:47

laurent00
Membre
Date d'inscription: 6 Aug 2007
Messages: 297

Re: QGIS: Appel de l'attribut d'une autre couche pour mise à jour

donc tu peux faire une simple jointure sur tes 2 couches qui importe des valeurs de la couche B2 dans la couche B1 ensuite avec la calculatrice tu mets à jour ton champB1 par le champB2 ...
Lj

Hors ligne

 

#5 Wed 15 May 2019 20:27

carteq
Membre
Lieu: Côte-Nord, Québec
Date d'inscription: 8 Mar 2008
Messages: 559

Re: QGIS: Appel de l'attribut d'une autre couche pour mise à jour

Il y a des éléments de réponse ici : https://gis.stackexchange.com/questions … calculator

La réponse de Laurent est plus facile à comprendre et à appliquer.

Personnellement, je le ferais en SQL. C'est un problème simple pour ce langage.


Vincent Fréchette
Responsable de la géomatique
Boisaco inc.

Hors ligne

 

#6 Fri 17 May 2019 12:26

ODJAC33
Membre
Date d'inscription: 6 Aug 2017
Messages: 119

Re: QGIS: Appel de l'attribut d'une autre couche pour mise à jour

Oui, merci beaucoup, j'ai suivi les conseils de Laurent avec la jointure et ça marche super bien.

Petite remarque : il est dommage que l'on ne parvienne pas à récupérer directement un attribut d'une autre couche lorsque l'on fait des manipes sur la calculatrice de champ.

Hors ligne

 

Pied de page des forums

Powered by FluxBB

Partagez  |