[Intranet logo] Hi Devs, I'm trying to load a raster/vector layer to the current project at the end of the run of a processing algorithm script. I know about QgsProcessingParameterFeatureSink() and I use it when creating a new layer during processing, but how to add an existing layer that will be shown on the map? I tried using context.project().addMapLayer(rlayer, True) but it obviously doesn't work because the process is running in a separate thread. Speaking of thread, I would prefer avoiding running the script in the main thread with def flags(self): return super().flags() | QgsProcessingAlgorithm.FlagNoThreading
I saw this answer from Nyall on SO<https://gis.stackexchange.com/questions/280520/let-qgis-3-0-processing-algorithm-output-a-vectorlayer-loaded-via-the-delimited> for something similar but I haven't been able to emulate. Below is a short example of what I last tried and which gives me the following error: The following layers were not correctly generated. * image_73e75830_4808_4993_abc7_24a5ee61217e You can check the 'Log Messages Panel' in QGIS main window to find more information about the execution of the algorithm. class addLayerToCanvas(QgsProcessingAlgorithm): OUTPUT_raster = 'OUTPUT_raster' def initAlgorithm(self, config): self.addOutput(QgsProcessingOutputMultipleLayers(self.OUTPUT_raster, self.tr('Output raster'))) def processAlgorithm(self, parameters, context, feedback): rlayer = QgsRasterLayer("F:/image.tif", "image") # The layer I want to add to the current project/canvas context.addLayerToLoadOnCompletion(rlayer.id(), QgsProcessingContext.LayerDetails('image_layer', QgsProject.instance(), '')) return {self.OUTPUT_raster: rlayer.id()} Thanks for any help Jean-François Bourdon, ing.f. Analyste en télédétection Direction des inventaires forestiers Ministère des Forêts, de la Faune et des Parcs 5700, 4e Avenue Ouest, local A-108 Québec (Québec) G1H 6R1 Téléphone : 418 627-8669, poste 704304 jean-francois.bour...@mffp.gouv.qc.ca mffp.gouv.qc.ca<http://www.mffp.gouv.qc.ca/accueil.jsp>
_______________________________________________ QGIS-Developer mailing list QGIS-Developer@lists.osgeo.org List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer