[QGIS-it-user] problema con python qgis

Giacomo Fontanelli giacomofontanelli76 a gmail.com
Gio 1 Ago 2019 08:08:03 PDT


Ciao Matteo e grazie per i consigli

Ho trovato la soluzione:

Con QGIS 2.x i raster layer in INPUT erano dati sottoforma di una stringa
con questa forma
'/home/File1.tif;/home/File2.tif;/home/File3.tif'

Con QGIS 3.x invece si usa direttamente una lista, come ['/home/File1.tif',
'/home/File2.tif', '/home/File3.tif']

In pratica questa è la parte incriminata del mio codice

parameters = {'DATA_TYPE' : 5, \
                        'INPUT' : inputList, \
                        'NODATA_INPUT' : None, \
                        'NODATA_OUTPUT' : None, \
                        'OPTIONS' : '', \
                        'OUTPUT' : outputStack, \
                        'PCT' : False, \
                        'SEPARATE' : True }

processing.run ('gdal:merge', parameters)




<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Mail
priva di virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

Il giorno gio 1 ago 2019 alle ore 07:08 matteo <matteo.ghetta a gmail.com> ha
scritto:

> Ciao Giacomo,
>
>
> > e l'errore è
> >
> > Traceback (most recent call last):
> >   File "/usr/lib/python3.7/code.py", line 90, in runcode
> >     exec(code, self.locals)
> >   File "<input>", line 1, in <module>
> >   File "<string>", line 76, in <module>
> >   File "/usr/share/qgis/python/plugins/processing/tools/general.py",
> > line 106, in run
> >     return Processing.runAlgorithm(algOrName, parameters, onFinish,
> > feedback, context)
> >   File "/usr/share/qgis/python/plugins/processing/core/Processing.py",
> > line 137, in runAlgorithm
> >     raise QgsProcessingException(msg)
> > _core.QgsProcessingException: Unable to execute algorithm
> > Incorrect parameter value for INPUT
>
> e l'errore è giustificato ;)
>
> INPUT: Input layers
>
>         Parameter type: QgsProcessingParameterMultipleLayers
>
>         Accepted data types:
>                 - list[str]: list of layer IDs
>                 - list[str]: list of layer names
>                 - list[str]: list of layer sources
>                 - list[QgsMapLayer]
>                 - QgsProperty
>
>
> devi mettere i vari path dentro una lista:
>
> parameters = {'INPUT':
>
> ['/home/giacomo/aa/a1.tif;/home/giacomo/aa/a2.tif;/home/giacomo/aa/a10.tif;/home/giacomo/aa/a21.tif'],
> \
>                         'PCT': False, \
>                         'SEPARATE': False, \
>                         'NODATA_INPUT': 0, \
>                         'NODATA_OUTPUT': 0, \
>                         'OPTIONS': "", \
>                         'DATA_TYPE': 5, \
>                         'OUTPUT': pathOutStack}
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.osgeo.org/pipermail/qgis-it-user/attachments/20190801/6dec8dc1/attachment.html>


Maggiori informazioni sulla lista QGIS-it-user