[QGIS-it-user] errore nella sintassi di rastercalculator

2021-05-17 Thread Giacomo Fontanelli
Salve a tutti

potreste dirmi in cosa sbaglio durante la scrittura di questa sezione del
mio script che serve ad automatizzare alcune operazioni svolte con raster
calculator?

parameters = {
"EXPRESSION": "10 * ( log10 ( rasterLayer@1 ) )",
"LAYERS": rasterLayer,
"CELLSIZE": None,
"EXTENT": None,
"CRS": None,
"OUTPUT": outPathFile}

processing.run('qgis:rastercalculator', parameters)

Ottengo questo messaggio di errore

Traceback (most recent call last):
  File "/usr/lib/python3.8/code.py", line 90, in runcode
exec(code, self.locals)
  File "", line 1, in 
  File "", line 84, in 
  File "/usr/share/qgis/python/plugins/processing/tools/general.py", line
108, in run
return Processing.runAlgorithm(algOrName, parameters, onFinish,
feedback, context)
  File "/usr/share/qgis/python/plugins/processing/core/Processing.py", line
174, in runAlgorithm
ret, results = execute(alg, parameters, context, feedback,
catch_exceptions=False)
  File
"/usr/share/qgis/python/plugins/processing/gui/AlgorithmExecutor.py", line
71, in execute
results, ok = alg.run(parameters, context, feedback, {}, False)
_core.QgsProcessingException: An error occurred while performing the
calculation

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


Re: [QGIS-it-user] errore nella sintassi di rastercalculator

2021-05-17 Thread Andrea Giudiceandrea
Giacomo Fontanelli-2 wrote
> potreste dirmi in cosa sbaglio durante la scrittura di questa sezione del
> mio script che serve ad automatizzare alcune operazioni svolte con raster
> calculator?
> 
> parameters = {
> "EXPRESSION": "10 * ( log10 ( rasterLayer@1 ) )",
> "LAYERS": rasterLayer,
> "CELLSIZE": None,
> "EXTENT": None,
> "CRS": None,
> "OUTPUT": outPathFile}
> 
> processing.run('qgis:rastercalculator', parameters)

Ciao Giacomo,
hai provato con un'altra espressione? Cosa contengono esattamente le
variabili rasterLayer e outPathFile?

Io ho testato il tuo pezzo di codice sia nella console di Python sia
eseguendolo in uno script in QGIS 3.16.5 e non ho avuto problemi a creare un
nuovo raster con l'espressione indicata.

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


Re: [QGIS-it-user] errore nella sintassi di rastercalculator

2021-05-18 Thread Giacomo Fontanelli
Ciao Andrea

il file in ingresso rasterLayer equivale a

rasterLayer = QgsRasterLayer("home/test/prova.tif", "raster")

e il file outPathFile è "home/test/out.tif"

ho provato anche a cambiare formula ma il risultato non cambia

grazie


Il giorno lun 17 mag 2021 alle ore 20:56 Andrea Giudiceandrea <
andreaer...@libero.it> ha scritto:

> Giacomo Fontanelli-2 wrote
> > potreste dirmi in cosa sbaglio durante la scrittura di questa sezione del
> > mio script che serve ad automatizzare alcune operazioni svolte con raster
> > calculator?
> >
> > parameters = {
> > "EXPRESSION": "10 * ( log10 ( rasterLayer@1 ) )",
> > "LAYERS": rasterLayer,
> > "CELLSIZE": None,
> > "EXTENT": None,
> > "CRS": None,
> > "OUTPUT": outPathFile}
> >
> > processing.run('qgis:rastercalculator', parameters)
>
> Ciao Giacomo,
> hai provato con un'altra espressione? Cosa contengono esattamente le
> variabili rasterLayer e outPathFile?
>
> Io ho testato il tuo pezzo di codice sia nella console di Python sia
> eseguendolo in uno script in QGIS 3.16.5 e non ho avuto problemi a creare
> un
> nuovo raster con l'espressione indicata.
>
> 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
>
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Re: [QGIS-it-user] errore nella sintassi di rastercalculator

2021-05-18 Thread Giacomo Fontanelli
Ciao Andrea

ho risolto seguendo il tuo consiglio, ovvero la sintassi giusta per il
parametro expression è

  "EXPRESSION": "10 * ( log10 ( home/test/prova.tif@1 ) )",

grazie mille

Giacomo



Il giorno mar 18 mag 2021 alle ore 11:24 Andrea Giudiceandrea <
andreaer...@libero.it> ha scritto:

> Giacomo Fontanelli-2 wrote
> > rasterLayer = QgsRasterLayer("home/test/prova.tif", "raster")
> >
> >> > "EXPRESSION": "10 * ( log10 ( rasterLayer@1 ) )",
>
> Ciao Giacomo,
> il nome del raster nell'espressione è errato. Nell'espressione non devi
> usare il nome della variabile a cui è stato assegnato l'oggetto
> QgsRasterLayer.
>
> Il riferimento al raster da usare nell'espressione è il nome base del file
> (nel tuo caso "prova", quindi prova@1 per la banda 1) se il layer raster
> non
> è presente nella mappa del progetto, oppure anche il nome assegnato al
> layer
> (nel tuo caso "raster", quindi raster@1 per la banda 1) se il layer è
> presente nella mappa del progetto.
>
> Per maggiori informazioni:
>
> https://docs.qgis.org/3.16/en/docs/user_manual/processing_algs/qgis/rasteranalysis.html#raster-calculator
>
> Fammi sapere se è questo il problema.
>
> 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
>
___
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user


Re: [QGIS-it-user] errore nella sintassi di rastercalculator

2021-05-18 Thread Andrea Giudiceandrea
Giacomo Fontanelli-2 wrote
> rasterLayer = QgsRasterLayer("home/test/prova.tif", "raster")
> 
>> > "EXPRESSION": "10 * ( log10 ( rasterLayer@1 ) )",

Ciao Giacomo,
il nome del raster nell'espressione è errato. Nell'espressione non devi
usare il nome della variabile a cui è stato assegnato l'oggetto
QgsRasterLayer.

Il riferimento al raster da usare nell'espressione è il nome base del file
(nel tuo caso "prova", quindi prova@1 per la banda 1) se il layer raster non
è presente nella mappa del progetto, oppure anche il nome assegnato al layer
(nel tuo caso "raster", quindi raster@1 per la banda 1) se il layer è
presente nella mappa del progetto.

Per maggiori informazioni:
https://docs.qgis.org/3.16/en/docs/user_manual/processing_algs/qgis/rasteranalysis.html#raster-calculator

Fammi sapere se è questo il problema.

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