[Gfoss] Confronto raster prima-dopo e verso della variazione

Salve,
ho 2 raster sovrapponibili (stessa area in 2 anni diversi) entrambi con 5
classi (cl 1, 2, 3, 4, 5).
Nel confronto PRIMA - DOPO, c'è un modo per ottenere indicazioni sul tipo
di cambiamento nel tempo di ogni singolo pixel?
Mi spiego meglio: se sommo i raster il valore 6 potrebbe essere dato da 1
che diventa 5 o 2 che diventa 4, se sottraggo il valore 2 lo ottengo sia
con 4 che passa a 2 che con 3 che passa a 1, stesso problema con
moltiplicazione e divisione..
C'è un'operazione tra raster che consenta di capire quindi il tipo e
l'entità della variazione subita?
Grazie

On 11/25/16, Danilo Procaccini <danilo.procaccini@gmail.com> wrote:

Salve,

ciao Danilo,

ho 2 raster sovrapponibili (stessa area in 2 anni diversi) entrambi con 5
........
C'è un'operazione tra raster che consenta di capire quindi il tipo e
l'entità della variazione subita?

confesso che non sei stato chiarissimo :slight_smile:
vediamo se ho capito qualcosa: tu vuoi fare in modo da distinguere 3 =
5-2 da 3 = 4-1, è così? visto che parli di sole 5 classi puoi forse
mappare f(u,v) = 5u+v vuol dire ad es.:
  5-1 -> 26
  5-2 -> 27
  ......
  4-1 -> 21
  ......
  1-5 -> 0
   1-4 -> 1
  ....
  ecc.
oviamente puoi anche usare 10u+v o in generale ku+v dove k è il numero
delle classi v;

Grazie

se non ho capito, scusa :slight_smile: ciao,
giuliano

ciao Giuliano,

vediamo se ho capito qualcosa: tu vuoi fare in modo da distinguere 3 =
5-2 da 3 = 4-1, è così? visto che parli di sole 5 classi puoi forse
mappare f(u,v) = 5u+v vuol dire ad es.:

Si, potrebbe essere la soluzione utile, ma non so farlo praticamente
(mappare f(u,v)?)
Altrimenti qualcuno saprebbe indicarmi una sintassi da inserire nel
calcolatore raster del tipo:

se "valore raster 1 = 1" e "valore raster 2 = 1" allora 6
se "valore raster 1 =" e "valore raster 2 = 2" allora 7
ecc... magari concatenate!
Grazie

Il giorno 25 novembre 2016 20:26, Giuliano Curti <giulianc51@gmail.com> ha
scritto:

On 11/25/16, Danilo Procaccini <danilo.procaccini@gmail.com> wrote:
> Salve,

ciao Danilo,

> ho 2 raster sovrapponibili (stessa area in 2 anni diversi) entrambi con 5
> ........
> C'è un'operazione tra raster che consenta di capire quindi il tipo e
> l'entità della variazione subita?

confesso che non sei stato chiarissimo :slight_smile:
vediamo se ho capito qualcosa: tu vuoi fare in modo da distinguere 3 =
5-2 da 3 = 4-1, è così? visto che parli di sole 5 classi puoi forse
mappare f(u,v) = 5u+v vuol dire ad es.:
        5-1 -> 26
        5-2 -> 27
        ......
        4-1 -> 21
        ......
        1-5 -> 0
        1-4 -> 1
        ....
        ecc.
oviamente puoi anche usare 10u+v o in generale ku+v dove k è il numero
delle classi v;

> Grazie

se non ho capito, scusa :slight_smile: ciao,
giuliano
_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
807 iscritti al 31/03/2016

On 11/25/16, Danilo Procaccini <danilo.procaccini@gmail.com> wrote:

ciao Giuliano,

ciao,

vediamo se ho capito qualcosa: tu vuoi fare in modo da distinguere 3 =
5-2 da 3 = 4-1, è così? visto che parli di sole 5 classi puoi forse
mappare f(u,v) = 5u+v vuol dire ad es.:

Si, potrebbe essere la soluzione utile, ma non so farlo praticamente
(mappare f(u,v)?)

scusa, ho usato senza dirlo un linguaggio matematico; con "mappare
f(u,v) = 5u+v" volevo dire "stabilire una relazione biunivoca fra una
informazione binaria (le due mappe) ed una informazione unaria (la
mappa finale)";
detto più semplicemente con un esempio abbiamo:
a) tu hai due mappe raster
b) il valore di una cella sarà u nella prima e v nella seconda
c) mi sembrava volessi evitare l'equivalenza 5-2 = 4-1
d) quello che ti proponevo (ku+v) è un modo per distinguere i due
casi, infatti uno darà luogo a 5k+2, l'altro a 4k+1
e) k deve essere maggiore o uguale al numero di classi v (nel tuo
esempio mi pareva 5)
f) il modo per farlo credo risieda nelle potenzialità algebriche di
QGIS, parte che però conosco molto poco e quindi non ti so aiutare (ma
lo faranno certo altri più esperti di me)
g) sempre che io abbia capito il tuo problema :slight_smile:

Grazie

ciao,
giuliano

On 11/25/16 , Danilo Procaccini wrote:

ho 2 raster sovrapponibili (stessa area in 2 anni diversi) entrambi con 5
classi (cl 1, 2, 3, 4, 5).
Nel confronto PRIMA - DOPO, c'è un modo per ottenere indicazioni sul tipo
di cambiamento nel tempo di ogni singolo pixel?

Io farei così:
aggiungerei alla differenza tra la mappa A e la mappa B il valore
della mappa A moltiplicato per dieci

poniamodi avere, nella mappe A e B i seguneti pixel:

A B
----
4 1 --> 3x40=43
5 2 --> 3x50=53

3 1 --> 2x30=32
4 2 --> 2x40=42
2 4 --> -2x40=-42

Così sai che, in ordine, avrai una variazione:

di 3 (differenza) partendo da 4 (mappa A)
di 3 partendo da 5
di 2 partendo da 3
di 2 partendo da 4
di 2 partendo da 4 della mappa B

Potrebbe funzionare?

volevo scrivere + ma non so perchè ho scritto x ; e poi in effetti quando A è minore di B i conti non tornano più.
Comunque, credo che il problema poi sia come classificare la mappa risultante.
Moltiplicando la differenza per 10 e aggiungendo il valore della mappa A il risultato sarebbe in ordinato secondo le differenze.

Traducendo in termini pratici quanto già detto da Giuliano, penso che la cosa
più semplice sia la formula

   /raster1/ * 10 + /raster2/

in questo modo si ottengono tutti i 25 possibili valori facili da
interpretare:
11 = pixel con valore costante 1
12 = pixel cambiati da 1 a 2
13= pixel cambiati da 1 a 3
14= pixel cambiati da 1 a 4
15= pixel cambiati da 1 a 5
21 = pixel cambiati da 2 a 1
22= pixel con valore costante 2
...

-----
Alessandro Perego
www.alspergis.altervista.org
--
View this message in context: http://gfoss-geographic-free-and-open-source-software-italian-mailing.3056002.n2.nabble.com/Confronto-raster-prima-dopo-e-verso-della-variazione-tp7596474p7596480.html
Sent from the Gfoss -- Geographic Free and Open Source Software - Italian mailing list mailing list archive at Nabble.com.

On 11/26/16, AlsPer78 <alsper78@gmail.com> wrote:

ciao,

Traducendo in termini pratici quanto già detto da Giuliano, penso che la
cosa
più semplice sia la formula

   /raster1/ * 10 + /raster2/

in questo modo si ottengono tutti i 25 possibili valori facili da
interpretare:
11 = pixel con valore costante 1
12 = pixel cambiati da 1 a 2
13= pixel cambiati da 1 a 3
14= pixel cambiati da 1 a 4
15= pixel cambiati da 1 a 5
21 = pixel cambiati da 2 a 1
22= pixel con valore costante 2

confermo: k deve essere uguale al numero massimo di elementi v; nel
tuo caso 5 va bene e anche 10 che è maggiore di 5;

come avevo detto l'applicazione è biunivoca e consente di risalire dal
secondo codice al primo, cioè da ku+v = w si può ottenere:
  u = int(w/k)
  v = w mod k = w - ku
perchè l'applicazione è iniettiva;

ad es. con u = 4, v = 2, k = 5 si ha:
  f(u,v) = f(4,2) = 4*5+2 = 22 = w
o all'inverso:
  u = int(w/k) = int(22/5) = 4
  v = w mod k = w - ku = 22 - 5*4 = 2 = u;

ovviamente numeri diversi ma stesso meccanismo con k = 10;

Alessandro Perego

ciao,
giuliano