[QGIS-it-user] creare un raster con i valori minimi

salve se abbiamo 3 raster e voglio creare un raster che abbia nei punti di cordinate comunecome valori di banda il valore minimo fra i tre come si fa?

ho provato ad usare il calcolatore raster usando min ma non mi pemette di aggiungere piu di un livello raster

c'è una sintassi particolare?o un altra funzione?

SC wrote

salve se abbiamo 3 raster e voglio creare un raster che abbia nei punti
di cordinate comunecome valori di banda il valore minimo fra i tre come
si fa?

ho provato ad usare il calcolatore raster usando min ma non mi pemette
di aggiungere piu di un livello raster

c'è una sintassi particolare?o un altra funzione?

Ciao,
non avendo a disposizione dei dati ho creato tre raster costanti con valore
1,2 e 3 (b1,b2,b3)
la seguente espressione soddisfa la tua richiesta applicata ai tre raster:

((("b1@1" > "b2@1")* "b2@1" + ( "b1@1" <= "b2@1" ) * "b1@1" )> "b3@1" )
*"b3@1" +
((("b1@1" > "b2@1")* "b1@1" + ( "b1@1" <= "b2@1" ) * "b2@1" )<="b3@1" )
*
(("b1@1" > "b2@1") * "b2@1" + ( "b1@1" <= "b2@1" ) * "b1@1" )

dove:

("b1@1" > "b2@1")* "b2@1"

significa:
("b1@1" > "b2@1") è una condizione quindi restituisce 1 (vero); 0 (falso)
("b1@1" > "b2@1")* "b2@1" se vera restituisce il raster "b2@1" altrimenti 0

("b1@1" > "b2@1")* "b2@1" + ( "b1@1" <= "b2@1" ) * "b1@1"

in questo caso ho due condizioni opposte e quindi si verificherà solo una:
se vera la prima sarà falsa la seconda.

l'intera espressione tiene conto dei tre raster.

spero sia utile.

saluti

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

azz un confronto diretto , ma una funzione specifica non c'è ? in questo caso l'espressione aumenta ad aumentare di layer
perchè min non permette di specificare piu di un layer come argomento?

esiste qualche plugin?

Il 18/05/2019 12:09, Totò ha scritto:

SC wrote

salve se abbiamo 3 raster e voglio creare un raster che abbia nei punti
di cordinate comunecome valori di banda il valore minimo fra i tre come
si fa?

ho provato ad usare il calcolatore raster usando min ma non mi pemette
di aggiungere piu di un livello raster

c'è una sintassi particolare?o un altra funzione?

Ciao,
non avendo a disposizione dei dati ho creato tre raster costanti con valore
1,2 e 3 (b1,b2,b3)
la seguente espressione soddisfa la tua richiesta applicata ai tre raster:

((("b1@1" > "b2@1")* "b2@1" + ( "b1@1" <= "b2@1" ) * "b1@1" )> "b3@1" )
*"b3@1" +
((("b1@1" > "b2@1")* "b1@1" + ( "b1@1" <= "b2@1" ) * "b2@1" )<="b3@1" )
*
(("b1@1" > "b2@1") * "b2@1" + ( "b1@1" <= "b2@1" ) * "b1@1" )

dove:

("b1@1" > "b2@1")* "b2@1"

significa:
("b1@1" > "b2@1") è una condizione quindi restituisce 1 (vero); 0 (falso)
("b1@1" > "b2@1")* "b2@1" se vera restituisce il raster "b2@1" altrimenti 0

("b1@1" > "b2@1")* "b2@1" + ( "b1@1" <= "b2@1" ) * "b1@1"

in questo caso ho due condizioni opposte e quindi si verificherà solo una:
se vera la prima sarà falsa la seconda.

l'intera espressione tiene conto dei tre raster.

spero sia utile.

saluti

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
_______________________________________________
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

SC wrote

azz un confronto diretto , ma una funzione specifica non c'è ? in
questo caso l'espressione aumenta ad aumentare di layer
perchè min non permette di specificare piu di un layer come argomento?

esiste qualche plugin?

Non conosco tutti i plugin, ma forse ti puo' aiutare GRASS : r.series
<https://grass.osgeo.org/grass64/manuals/r.series.html&gt;

https://gis.stackexchange.com/questions/210704/how-to-calculate-minimum-cell-value-for-a-multi-band-raster

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

si stavo provando proprio grass e qui il min sembra funzionare

nomefile_output= min(nomeraster_senzaspazi1, nomeraster_senzaspazi2, nomeraster_senzaspazi3)

e crea nella cartella temporanea il file nomefile_output.tif

ha solo il problema che non vuole nome di file layer con gli spazi

ma la cosa che continuo a non capire è perchè la funzione min nel calcolatore raster qgis non permette di usare piu layer come argomenti , in pratica allora cosa calcola?

Il 18/05/2019 12:43, Totò ha scritto:

SC wrote

azz un confronto diretto , ma una funzione specifica non c'è ? in
questo caso l'espressione aumenta ad aumentare di layer
perchè min non permette di specificare piu di un layer come argomento?

esiste qualche plugin?

Non conosco tutti i plugin, ma forse ti puo' aiutare GRASS : r.series
<https://grass.osgeo.org/grass64/manuals/r.series.html&gt;

https://gis.stackexchange.com/questions/210704/how-to-calculate-minimum-cell-value-for-a-multi-band-raster

-----
https://pigrecoinfinito.wordpress.com/
--
Sent from: http://osgeo-org.1560.x6.nabble.com/QGIS-Italian-User-f5250612.html
_______________________________________________
QGIS-it-user mailing list
QGIS-it-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/qgis-it-user

ho provato anche r.series all'inizio pensavo che desse tutte le risposte invece ha un comportamento che non capisco, riassumo anche le altre prove

premetto
1) partendo da un layer raster A ho creato tramite il calcolatore raster qgis un layer raster dai valori doppi chiamato B
usando a*2

2)chiaramente se confronto i due layer A e B, A avrà tutti valori minimi rispetto B (quindi un calcoltatore dovrebber restituire una layer uguale ad A)

3)se uso r.series l'algoritm produce un raster agregates sostanzialmente privo di superficie che mi da per estremi due numeri di cui uno negativo (in partenza erano quote positive)
lo fa anche se uso mininimum, min_raster oppure maximum o max raster
perchè?

3)se uso il plugin gdal _calc mi sia qgis 3.4 che con qgis 2.18 mi da
import_module

__import__(name)

ImportError: No module named _gdal_array

4) se uso plugin saga calculator non mi produce risultati e mi da un errore sul crs

5) se uso calculator di qgis scrivendo min(a,b) mi dice espressione non valida , se metto min(a) mi produce un raster che non so so interpretare

6)se uso r.mapcalc scrivendo c=min(a,b) mi produce c che apparentemente è la copia di a come dovrebbe essere

la domanda è perchè nel raster calculator di qgis vero e proprio non accetta piu di un parametro per la min ? è un baco?

la seconda domanda è cosa sbaglio in r.series?

Il 18/05/2019 12:43, Totò ha scritto:

Non conosco tutti i plugin, ma forse ti puo' aiutare GRASS : r.series
<https://grass.osgeo.org/grass64/manuals/r.series.html&gt;

https://gis.stackexchange.com/questions/210704/how-to-calculate-minimum-cell-value-for-a-multi-band-raster

SC wrote

la domanda è perchè nel raster calculator di qgis vero e proprio non
accetta piu di un parametro per la min ? è un baco?

la seconda domanda è cosa sbaglio in r.series?

Ma sei sicuro che esiste la funzione min nel raster calculator di QGIS??
proca a scrivere cucu(raster1) non riceverai errore!!!

saluti

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