Sintassi logica numpy nel calcolatore raster GDAL di QGIS

Aug 20 2020

Devo impostare un'espressione logica nella casella del calcolatore raster di GDAL usando Numpy. La mia conoscenza di Numpy e Python è estremamente limitata (non sono uno sviluppatore, ma solo un semplice geografo!). Ho visto in questo post ( Usare la variabile nel modellatore grafico per il calcolo raster? (QGIS 3.8)) un esempio di come aggiungere 2 parti in quella casella, la parte utilizzando le lettere (A, B, C ...) e l'altra da altri input come i numeri. In questo esempio è facile ('a +' || @numberinput). La mia domanda riguarda le affermazioni logiche. Ho provato "a> =" || @numberinput e il risultato è sbagliato. Ho controllato la documentazione di numpy e tutto riguarda gli array, il che è un po 'complesso, non ho bisogno di fare troppo, basta ottenere quei valori A minori o maggiori del risultato da una formula espressa come stringa che ottiene un numero variabile da il @numberinput. Allego le immagini di quello che sto facendo per te per aiutarmi. Soglia impostata utilizzando la concatenazione di stringhe, l'output verrà utilizzato nel calcolatore raster GDAL

Quindi all'interno di GDAL Raster Calculator puoi vedere il mio problema:

Infine, puoi vedere cosa sto cercando di fare all'interno della finestra di Expression.

Penso che questa sia una domanda facile per gli esperti di Python.

Risposte

1 Geografisica Aug 21 2020 at 20:11

Sembra che la soluzione migliore per il mio problema sia stata quella proposta da @Gabriel De Luca, dove la formula può essere indentata in questo modo: 'A <((-25) *' || @DayOfYear || ') + 7225 + 0 '. Ma ho dovuto sbarazzarmi di alcuni componenti del modello e semplificarlo come l'immagine che allego:

Grazie per il tuo aiuto nella risoluzione di questo problema.