Pages: 1
- Sujet précédent - QGIS 3.10: "Transfert" d'attributs sur deux couches differentes - Sujet suivant
#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: 3946
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
Pages: 1
- Sujet précédent - QGIS 3.10: "Transfert" d'attributs sur deux couches differentes - Sujet suivant