Pages: 1
- Sujet précédent - QGIS: Appel de l'attribut d'une autre couche pour mise à jour - Sujet suivant
#1 Wed 15 May 2019 10:25
- ODJAC33
- Participant assidu
- Date d'inscription: 6 Aug 2017
- Messages: 240
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
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 391
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
- Participant assidu
- Date d'inscription: 6 Aug 2017
- Messages: 240
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
- Participant assidu
- Date d'inscription: 6 Aug 2007
- Messages: 391
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
- Participant assidu
- Date d'inscription: 8 Mar 2008
- Messages: 829
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.
Hors ligne
#6 Fri 17 May 2019 12:26
- ODJAC33
- Participant assidu
- Date d'inscription: 6 Aug 2017
- Messages: 240
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
#7 Mon 15 May 2023 02:10
- math_98800
- Juste Inscrit !
- Date d'inscription: 16 Apr 2018
- Messages: 4
Re: QGIS: Appel de l'attribut d'une autre couche pour mise à jour
Bonjour,
j'espère que je n'arrive pas trop tard sinon cela pourra peut être aider les prochains.
Tu peux récupérer un attribut d'une autre couche avec la calculatrice de champ avec attribute(get_feature()
Hors ligne
Pages: 1
- Sujet précédent - QGIS: Appel de l'attribut d'une autre couche pour mise à jour - Sujet suivant