[QGIS-it-user] pyqgis, qgisrasterlayer in memoria

Salve a tutti

vorrei che l’output del processing, che in questo caso è un layer raster fosse salvato in memoria, in modo da poterlo aggiungere in una lista

bandList =

parametersCalc = {
“EXPRESSION”: operation,
“LAYERS”: pathFileIn,
“CELLSIZE”: None,
“EXTENT”: None,
“CRS”: None,
“OUTPUT”: None}

outRas = processing.run(‘qgis:rastercalculator’, parametersCalc)

rasterBand = processing.getObject(outRas[“OUTPUT”])

bandList.append(rasterBand)

purtroppo ottengo l’errore

“Valore del parametro non corretto per OUTPUT”

Grazie per l’aiuto

Giacomo Fontanelli-2 wrote

purtroppo ottengo l'errore
"Valore del parametro non corretto per OUTPUT"

Ciao Giacomo,
l'errore è abbastanza esplicito: hai usato una valore non accettabile per il
parametro OUTPUT.
Infatti hai assegnato il valore Null al parametro OUTPUT, ma il parametro
OUTPUT non è opzionale.
Come ti avevo già indicato, puoi trovare le indicazioni per l'uso
dell'algoritmo qgis:rastercalculator nel manuale utente:
https://docs.qgis.org/3.16/en/docs/user_manual/processing_algs/qgis/rasteranalysis.html#raster-calculator

Non ho ben capito cosa vuoi ottenere, comunque noto che nel tuo script usi
il metodo getObject di processing, ma questo metodo non esiste in QGIS 3
(esisteva 4 anni fa in QGIS 2).

Spero di esserti stato utile in qualche modo.

A presto.

Andrea

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

Ciao Andrea

in rete ho trovato un esempio che mi ha aiutato

ho risolto così

Grazie mille

bandList =
parametersCalc = {
“EXPRESSION”: "10 * ( log10 ( " + pathFileIn + “@” + str(band) + " ,
“LAYERS”: pathFileIn,
“CELLSIZE”: None,
“EXTENT”: None,
“CRS”: None,
“OUTPUT”: “TEMPORARY_OUTPUT”}

outRas = processing.run(‘qgis:rastercalculator’, parametersCalc)

bandList.append(outRas[“OUTPUT”])

Il giorno gio 20 mag 2021 alle ore 21:42 Andrea Giudiceandrea <andreaerdna@libero.it> ha scritto:

Giacomo Fontanelli-2 wrote

purtroppo ottengo l’errore
“Valore del parametro non corretto per OUTPUT”

Ciao Giacomo,
l’errore è abbastanza esplicito: hai usato una valore non accettabile per il
parametro OUTPUT.
Infatti hai assegnato il valore Null al parametro OUTPUT, ma il parametro
OUTPUT non è opzionale.
Come ti avevo già indicato, puoi trovare le indicazioni per l’uso
dell’algoritmo qgis:rastercalculator nel manuale utente:
https://docs.qgis.org/3.16/en/docs/user_manual/processing_algs/qgis/rasteranalysis.html#raster-calculator

Non ho ben capito cosa vuoi ottenere, comunque noto che nel tuo script usi
il metodo getObject di processing, ma questo metodo non esiste in QGIS 3
(esisteva 4 anni fa in QGIS 2).

Spero di esserti stato utile in qualche modo.

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

Giacomo Fontanelli-2 wrote

        "OUTPUT": "TEMPORARY_OUTPUT"}

Esattamente. Questo è il modo corretto se vuoi far creare all'algoritmo di
processing un file per il layer raster di output nella cartella temporanea
di processing di QGIS.

A presto.

Andrea

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