Un po’ di storia
Nel febbraio 2019 Nyall scrive questa QEP (QGIS-Enhancement-Proposals) dal titolo QGIS Processing standalone executable : “L’elaborazione di QGIS offre un insieme ricco ed espandibile di algoritmi che possono operare su livelli di mappe. Questa proposta riguarda la creazione di un nuovo eseguibile da riga di comando che consentirebbe l’esecuzione di algoritmi di elaborazione al di fuori dell’applicazione GUI di QGIS, consentendo un facile scripting della manipolazione dei dati tramite file batch tradizionali, script di shell e tramite strumenti del sistema operativo come l’utilità di pianificazione.” (estratto dalla QEP)…
In pochissimo tempo riceve decine di messaggi di apprezzamento e dopo un anno esatto (febbraio 2020) Nyall apre la reativa PR (Pull Request) Sponsorizzato dal gruppo utenti svedese (grazie mille).

Introduzione
Questo nuovo (>=QGIS 3.14 Pi) strumento qgis_process
consente agli utenti di eseguire algoritmi di processing (sia integrati che forniti dai plug-in di QGIS) direttamente dalla console (di linux o OSGeo4W Shell di Windows).

Usare la riga di comando comporta una serie (quasi infinita) di vantaggi rispetto l’uso della GUI.
Come usarlo da OSGeo4W Shell
La prima cosa da fare è settare le corrette variabili di sistema (tra
cui PATH) utilizzando il comando qgis_process-qgis
(QGIS 3.14) o qgis_process-qgis-dev
(per la master) nella shell di OSGeo4W:
A questo punto possiamo eseguire uno dei comandi qgis_process
, per esempio: qgis_process list
:
Gli algoritmi eseguiti tramite qgis_process
NON necessitano di tutti i parametri, quelli facoltativi possono essere non esplicitati; per conoscere i parametri da utilizzare per ogni algoritmo, occorre lanciare il seguente comando, nel caso dell’algoritmo centroids
:
>qgis_process help native:centroids
quindi il comando da utilizzare per ottenere i centroidi di un vettore poligonale sarà (–INPUT e –OUTPUT sono parametri necessari, –ALL_PARTS è facoltativo):
qgis_process.exe run native:centroids --INPUT="C:\OSGeo4W64\apps\qgis\bin\Reg01012020_g\Reg01012020_g_WGS84.shp" --OUTPUT="C:\OSGeo4W64\apps\qgis\bin\Reg01012020_g\centroid.shp"
Inoltre, qgis_process
, durante l’esecuzione dell’algoritmo, stampa a video l’avanzamento 0…10..20… fino alla fine del processo.
Come usarlo in Ubuntu 18.04 LTS – no GUI
La seguente procedura riguarda l’installazione di QGIS 3.14 Pi senza GUI (interfaccia grafica), questo per due motivi: il primo perché sto utilizzando Ubuntu come sottosistema di win 10; secondo perché lo strumento non necessita di gui.
i comandi da lanciare uno dopo l’altro sono:
sudo apt-get update
sudo apt-get install gnupg software-properties-common
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 51F523511C7028C3
sudo add-apt-repository "deb https://qgis.org/ubuntugis `lsb_release -c -s` main"
sudo apt-get update
sudo apt-get install qgis qgis-plugin-grass
se tutto va bene, lanciare qgis --version
e deve restituire: QGIS 3.14.0-Pi 'Pi' (9f7028fd23)
infine, per far funzionare tutto occorre settare la seguente variabile:
export QT_QPA_PLATFORM='offscreen'
NOTE FINALI: questo strumento è molto utile in ambiente linux, in ambiente windows ha alcuni limiti (utilizzabile con QGIS 3.14.1 Pi o QGIS 3.15.0-16 master), seguiranno altri blog post con esempi pratici su come usarlo. Stay tuned!
RIFERIMENTI
- MAILING LIST QGIS-IT 1: http://osgeo-org.1560.x6.nabble.com/New-standalone-console-tool-for-running-processing-algorithms-tt5441695.html
- MAILING LIST QGIS-IT 2: http://osgeo-org.1560.x6.nabble.com/Ubuntu-18-04-e-New-standalone-console-tool-for-running-processing-algorithms-tt5442255.html
- MAILING LIST QGIS : http://osgeo-org.1560.x6.nabble.com/use-the-new-standalone-console-processing-tool-in-a-server-without-a-GUI-td5442135.html
- QEP : https://github.com/qgis/QGIS-Enhancement-Proposals/issues/140
- PR : https://github.com/qgis/QGIS/pull/34617
- QGIS : https://qgis.org/it/site/
- COMMAND LINE OPTIONS : https://docs.qgis.org/3.10/it/docs/user_manual/introduction/qgis_configuration.html#command-line-and-environment-variables – master: https://docs.qgis.org/testing/en/docs/user_manual/introduction/qgis_configuration.html#command-line-and-environment-variables
RINGRAZIAMENTI
file txt con tutti gli algoritmi disponibile a partire dalla mia configurazione di QGIS: https://gist.github.com/pigreco/6790fb3b6ba1619ac37c0df66a31fbb4
note tecniche:
per evitare di visualizzare il lungo debug su OSGeo4W, lanciare
set QGIS_DEBUG=0