[QGIS-it-user] TypeError in uno script pyqgis

Salve a tutti

ho appena finito di scrivere uno script per l’ambiente processing di qgis.
Funziona, produce il risultato voluto ma mi compare comunque un errore che dice

In poche parole dovrei solo produrre una mappa raster 1-0

Grazie

GDAL command:

gdal_rasterize -l prova -burn 1.0 -ts 38.0 55.0 -init 0.0 -a_nodata nan -te 655572.309416649 4834163.411488473 655955.9687078493 4834718.707831 -ot Int16 -of GTiff /home/giacomo/Dropbox/Script/Python/PyGIS/Regula_Points_Processing/prova/prova.shp /home/giacomo/Dropbox/Script/Python/PyGIS/Regula_Points_Processing/prova/ee.tif

GDAL command output:

0…10…20…30…40…50…60…70…80…90…100 - done.

Risultati: {‘OUTPUT’: ‘/home/giacomo/Dropbox/Script/Python/PyGIS/Regula_Points_Processing/prova/ee.tif’}

TypeError: invalid result from mioScript.processAlgorithm(), set cannot be converted to a C/C++ QVariantMap in this context

Esecuzione fallita dopo 0.07 secondi

Giacomo Fontanelli-2 wrote

TypeError: invalid result from mioScript.processAlgorithm(), set cannot be
converted to a C/C++ QVariantMap in this context

Ciao Giacomo,
questo errore è molto probabilmente generato da una errata istruzione finale
del tuo script, che solitamente è qualcosa tipo "return {self.OUTPUT: ...}".
La funzione principale def processAlgorithm(...) dovrebbe restituire,
tramite l'istruzione return, un dict e non un set.
Difficile esserne sicuri non potendo leggere il codice dello script.

A presto.

Andrea

--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html

hai perfettamente ragione Andrea

mi è bastato sostituire

return {self.OUTPUT}

con return {self.OUTPUT: rasterizedResult[“OUTPUT”]}

ed è sparito l’errore.

Grazie mille

Il giorno gio 3 dic 2020 alle ore 17:10 Andrea Giudiceandrea <andreaerdna@libero.it> ha scritto:

Giacomo Fontanelli-2 wrote

TypeError: invalid result from mioScript.processAlgorithm(), set cannot be
converted to a C/C++ QVariantMap in this context

Ciao Giacomo,
questo errore è molto probabilmente generato da una errata istruzione finale
del tuo script, che solitamente è qualcosa tipo “return {self.OUTPUT: …}”.
La funzione principale def processAlgorithm(…) dovrebbe restituire,
tramite l’istruzione return, un dict e non un set.
Difficile esserne sicuri non potendo leggere il codice dello script.

A presto.

Andrea


Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html


QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user