Domanda posta sul gruppo Facebook Gis Italia:
Buongiorno a tutti, ho un raster le cui celle hanno valori continui e decimali che vanno da 0 a 1 (non è un output binario) e vorrei riclassificarlo in modo tale da ottenere 4 categorie con, ad esempio, la prima che va da 0 a 0,25, la seconda da 0,25 a 0,5 e così via. Uso QGIS e la priezione è WGS84 33N.
le soluzioni suggerite sono tre:
- r.reclass (da processing);
- r.recode (da processing);
- calcolatore raster di QGIS;
NB: nella domanda è specificato che i valori delle celle non sono interi ma con decimali.
prima proposta – r.reclass:
nella guida è specificato chiaramente che per utilizzare questo geo-algoritmo di GRASS il raster deve avere valori interi e non decimali altrimenti otterremo valori arrotondati al valori più vicino (0.75 -> 1); per superare questo problema basta moltiplicare i valori del raster per 100, cosi facendo il range dei valori del raster non sarà più da 0 a 1 ma da 0 a 100:

con il calcolatore raster modifichiamo i valori del range moltiplicando per 100:

i valori diventano:

realizziamo un file txt con i valori per la riclassificazione (rispetto al quesito x100):

avviamo il geo-algoritmo r.reclass:

otterremo un raster in memoria con valori:

ora basta dividere il raster riclassificato per 100 con il calcolatore di campi:

la legenda:

vestiamo il raster:

seconda proposta – r.recode:
questo geo-algoritmo si appoggia al precedente ma è molto più flessibile; occorre solamente definire un file txt cosi fatto:

definito come da guida:

avviamo il geo-algoritmo r.recode (utilizzando il primo raster):

la legenda:

vestiamo il raster:

terza proposta -calcolatore raster:
in questo caso utilizzeremo il calcolatore raster di QGIS:

formula:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
( "raster50@1" <= 0.25)*0.25 + ( "raster50@1">0.25 and "raster50@1" <=0.50 )*0.50 + ( "raster50@1">0.50 and "raster50@1" <= 0.75)*0.75 + ( "raster50@1">0.75)*1 |
legenda:

stilizziamo con falsi colori:

note finali: tutti e tre i metodi sono validi ma occorre analizzare i valori delle celle per decidere il metodo da utilizzare; in questo esempio i valori sono decimali quindi il metodo r.reclass non è immediato come gli altri due.
Buon lavoro!!!
Ho sempre utilizzato il file con il th…..
"Mi piace""Mi piace"