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

Annonce

Printemps des cartes 2024

#1 Tue 05 January 2021 14:18

PelusH
Juste Inscrit !
Date d'inscription: 4 Jan 2021
Messages: 2

QGIS 3.10: "Transfert" d'attributs sur deux couches differentes

Bonjour à tous,

Je me tourne vers ce forum afin de poser une question à laquelle je n'ai pas encore trouvé de réponse.

Mon problème est sur papier relativement simple :
- Je possède sous QGIS deux couches shapefile (couche 1 et 2 pour faciliter les choses), qui présentent toutes deux une colonne "NOM" dans leur table d'attribut
- Ces deux couches possèdent certains points qui sont strictement superposées mais qui ne présentent pas forcément les mêmes attributs (hormis la colonne "NOM" en question)
- Je souhaite donc remplacer la colonne "NOM" de ma couche 1 par la colonne "NOM" de ma couche 2, et ça uniquement pour les points qui sont superposés

Je suppose qu'il y a un moyen relativement simple de le faire (probablement via la calculatrice de champs) mais je ne vois pas comment.

Merci d'avance

Hors ligne

 

#2 Wed 06 January 2021 09:01

Olivier Pompier
Participant occasionnel
Date d'inscription: 8 Sep 2013
Messages: 49

Re: QGIS 3.10: "Transfert" d'attributs sur deux couches differentes

Bonjour,

Une solution un peu alambiquée serait la suivante:
1- Faire une jointure spatiale par SQL dans le gestionnaire de BD > Couches virtuelles

Code:

SELECT * 
FROM "couche1"
LEFT JOIN "couche2" ON "couche1"."geometry" = "couche2"."geometry"

2- Charger et exporter la couche
3- Selectionner les champs dont la colonne Nom(2) est vide puis via la calculatrice de champs, modifier le champ Nom sur les entités selectionnées et leur affecter la valeur du champ "Nom(2)"
Bonne journée

Hors ligne

 

#3 Wed 06 January 2021 10:31

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

Re: QGIS 3.10: "Transfert" d'attributs sur deux couches differentes

Bonjour,
Une alternative à tester:
- Installer l'extension RefFunctions
- Créer un champ NOM_2 dans votre couche destination (juste histoire de générer la donnée à côté sans écraser dans un premier temps
- Y utiliser la calculatrice de champs avec une expression du style

Code:

geomdistance('nomcouche2', 'NOM', 0.01) -- où 0.01 est une distance si petite qu'a priori les points devraient être superposés

Peut-être en lieu et place de geomdistance, vous pouvez aussi regarder geomequals, geomoverlaps ou toute autre fonction ajoutée par l'extension

Hors ligne

 

#4 Thu 07 January 2021 10:35

PelusH
Juste Inscrit !
Date d'inscription: 4 Jan 2021
Messages: 2

Re: QGIS 3.10: "Transfert" d'attributs sur deux couches differentes

Bonjour,

Tout d'abord merci pour vos réponses !
Ne maîtrisant pas les jointures spatiales par SQL, j'ai priorisé la solution proposé par SANTANA.
L'extension RefFunctions ainsi que le code geomdistance a fonctionné à la perfection, merci beaucoup !

Hors ligne

 

Pied de page des forums

Powered by FluxBB