Message posté par : Laurent Masselin
----------------------------------------
Bonjour
Avec la version de Qgis 3.10.13-A Coruña
Pour mettre à jour un champ existant avec la calculatrice de champ depuis une autre couche
sur la base d’une jointure par localisation :
J'ai appliqué la formule donnée plus haut par JD et redéfini par HappyCX :
aggregate('nom_couche_source','concatenate_unique',
"nom_champs_source", filter:=intersects(geometry(@parent), $geometry))
Après avoir "copier-coller" cette formule dans la calculatrice de champs, il
faut aller chercher (et remplacer) le nom de la couche source depuis la liste à droite
dans l'onglet couche (il y en a deux, prendre celle qui liste vos couches présentes
dans Qgis)
Remarque : La couche source en question n'a (dans mon cas) pas tout à fait le même nom
puisqu'une série de nombre s'ajoute après le nom usuel de la couche :
'Comm_CAPV20190919175737322' au lieu de simplement 'Comm_CAPV'. Je suppose
qu'il s'agit d'une sorte d'identifiant interne pour que Qgis s'y
retrouve ( ?)
Par contre j'ai rentré manuellement le nom du champs source (entre "") qui
devra remplir le champs cible à mettre à jour. Il n'y a , à priori, pas d'onglet
qui liste les champs de la couche source.
Merci pour cette formule bien utile pour mettre à jour une colonne "en dur" sans
passer par la création d'une nouvelle couche "jointure par localisation"
(dans mon cas).
Peut-être qu'un outil pour faciliter encore d'avantage ce processus (aussi
fréquent en géomatique) serait bienvenu ?
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=339525#p339525
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net