[QGIS-it-user] errore nel collegamento di due algoritmi di processing nello stesso script

Giacomo Fontanelli giacomofontanelli76 a gmail.com
Mer 15 Dic 2021 14:59:08 PST


Salve, vi allego l'ultima parte di uno script python che dovrebbe
funzionare come algoritmo di processing.

In pratica dovrebbe compiere un'operazione matematica su ogni banda di un
multiband raster
e immediatamente creare un nuovo multiband raster in output con le bande
calcolate.
Lo script funziona, ma alla fine fornisce un errore, credo sia perchè qgis
sta cercando di caricare sulla canvas
ogni singola banda calcolata (e invece non dovrebbe, ma dovrebbe caricare
solo il multiband raster).

Credo di non aver capito molto bene ancora come si collegano due operazioni
di processing successive.

Riesco ad evitare il messaggio di errore solo se al momento dell'esecuzione
deflaggo l'opzione "Apri il risultato alla fine dell'algoritmo".

Sapete darmi qualche consiglio?

Grazie

bandList = []

# fa un loop tra le bande del raster
for band in range(1, nBand+1):

            # svolge l'operazione matematica per ogni banda
            outRas = processing.run(
                'qgis:rastercalculator',
                {"EXPRESSION": operation = "10 * ( log10 ( " + pathStackIn
+ "@" + str(band) + " ) )",
                "LAYERS": stackIn,
                "CELLSIZE": None,
                "EXTENT": None,
                "CRS": None,
                "OUTPUT": "TEMPORARY_OUTPUT"},
                is_child_algorithm = True,
                context = context,
                feedback = feedback)

            bandList.append(outRas["OUTPUT"])

# crea il nuovo multiband raster con i layer calcolati
outStack = processing.run(
'gdal:merge',
     {"INPUT": bandList,
     "PCT": False,
     "SEPARATE": True,
     "NODATA_INPUT": None,
     "NODATA_OUTPUT": None,
     "OPTIONS":"",
     "EXTRA":"",
     "DATA_TYPE": 5,
     "OUTPUT": parameters[self.OUTPUT]}
     is_child_algorithm = True,
     context = context,
     feedback = feedback)

return {self.OUTPUT: outStack["OUTPUT"]}
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20211215/fec5d887/attachment.html>


Maggiori informazioni sulla lista QGIS-it-user