Message posté par : zack
----------------------------------------
Bonjour,
J'ai une boucle for qui enchaine un certain nombre de traitements sur chacune de mes
entités de ma couche d'entrée. Je cherche à produire un fichier unique en sortie.
J'ai donc initialisé une couche qui s'appelle regroupee avant d'entrer dans ma
boucle :
-----------------
Code :
regroupee = QgsVectorLayer("Polygon", "temporary_polygons1",
"memory")
-----------------
Ensuite, la dernière étape de ma boucle est une fusion de couches vecteur ou dans mes
input j'ai cette couche "regroupee" et la sortie de mon algo précédent (en
l’occurrence calculatrice['OUTPUT']). J'enregistre le résultat temporaire dans
la variable "merge" puis j'écrase regroupee avec ce résultat :
-----------------
Code :
# Fusionner des couches vecteur
alg_params = {
'CRS': None,
'LAYERS': [regroupee, calculatrice['OUTPUT']],
'OUTPUT': 'memory:merge'
}
merge = processing.run('native:mergevectorlayers', alg_params,
context=context, is_child_algorithm=True)
regroupee = merge['OUTPUT']
QgsVectorFileWriter.writeAsVectorFormat(regroupee,
"I:/chemin/regroupee.shp", "UTF-8", crs.createFromId(2154), "ESRI
Shapefile")
-----------------
Le problème c'est que la variable merge['OUTPUT'] est une sortie de
dictionnaire, donc un string, et qu'il me le refuse l'export en shp après ma
boucle... Est-ce qu'il y a une solution pour soit produire un regroupee qui est un
vector layer tout du long, soit transformer le string en vector layer pour l'export
après la boucle? Sinon tout boucle bien sans erreur avant l'export. Merci !
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=322075#p322075
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