#1 Wed 22 December 2021 11:23
- laripaille
- Participant occasionnel
- Date d'inscription: 15 Nov 2008
- Messages: 11
QGIS 3.16/Python: Jointure attributaire
Bonjour
Débutant en python
Je souhaite faire une jointure entre une couche de polygone et un fichier excel
En python, j'arrive à :
Ajouter la couche de polygone
importer le fichier Excel
Créer la jointure MAIS dans une nouvelle couche (c'est le problème !!!)
Je souhaite que la jointure soit permanente sur la couche des polygones (donc en liaison avec le fichier Excel)
Code:
#couche polygone chargée layer = self.iface.activeLayer() #chargement couche Excel repexcel = "V:/QGIS_GEOESPACE.xlsx" ficexcel = "QGIS_GEOESPACE.xlsx" cexcel = QgsVectorLayer(repexcel, 'TEST_EXCEL', 'ogr') cexcel.setProviderEncoding('UTF-8') if not cexcel.isValid(): # fix_print_with_import print("Layer failed to load") else: QgsProject.instance().addMapLayer(cexcel) #jointure shpField='IDENTIFIANT' csvField='IDENTIFIANT' params = { 'INPUT': layer, 'FIELD':shpField, 'INPUT_2': cexcel, 'FIELD_2': csvField, 'FIELDS_TO_COPY': None, 'OUTPUT': 'memory:' } result = processing.run('qgis:joinattributestable', params) QgsProject.instance().addMapLayer(result['OUTPUT'])
Une idée
Programmation avec QSIG 3.16
Merci d'avance pour votre retour
Hors ligne