[QGIS-it-user] qgis_process -

Andrea Giudiceandrea andreaerdna a libero.it
Dom 26 Lug 2020 23:54:32 PDT


Totò wrote
>   File
> "/usr/share/qgis/python/plugins/processing/algs/qgis/RandomPointsPolygons.py",
> line 160, in processAlgorithm
>     da.setEllipsoid(context.project().ellipsoid())
> AttributeError: 'NoneType' object has no attribute 'ellipsoid'

Ciao Salvatore,
hai provato ad usare lo stesso algoritmo con gli stessi parametri anche su
Windows.
Puoi confermare che che il problema non è specifico di Linux?

Comunque,
siccome l'algoritmo deve utilizzare un ellissoide per calcolare l'area dei
poligoni, cerca di recuperare tale l'informazione dalle impostazioni del
progetto. Questo approccio funziona bene quando l'algoritmo è eseguito in un
progetto con QGIS.

Con qgis_process invece, come puoi leggere nel log
"da.setEllipsoid(context.project().ellipsoid() AttributeError: 'NoneType'
object has no attribute 'ellipsoid'), l'algoritmo non ha alcun progetto a
cui far riferimento per sapere quale ellissoide deve utilizzare e quindi si
interrompe.

Questo è un altro problema da risolvere: fare in modo che usando
qgis_process si possano specificare i valori di alcuni parametri che
solitamente gli algoritmi prendono da quelli memorizzati nelle impostazioni
di progetto.

Per il momento penso che non ci sia un alcun modo per aggirare il problema
in maniera generale per tutti gli algoritmi che devono usare le impostazioni
di un progetto.

Nel tuo caso specifico, dovresti poter eseguire comunque l'algoritmo con
successo con quei parametri modificando la riga 160 del file
RandomPointsPolygons.py con:

if strategy == 1
    da.setEllipsoid(context.project().ellipsoid())

tanto con il parametro STRATEGY=0 non è strettamente necessario effettuare
il calcolo della superficie.


A presto.

Andrea



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


Maggiori informazioni sulla lista QGIS-it-user