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 _______________________________________________ [hidden email] 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 <[hidden email]> 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 :-) 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 :-) ciao, giuliano _______________________________________________ [hidden email] 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 |
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 <[hidden email]> ha scritto: > On 11/25/16, Danilo Procaccini <[hidden email]> 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 :-) > 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 :-) ciao, > giuliano > _______________________________________________ > [hidden email] > 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 _______________________________________________ [hidden email] 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 <[hidden email]> 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 :-) > Grazie ciao, giuliano _______________________________________________ [hidden email] 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 |
In reply to this post by Danilo Procaccini
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? _______________________________________________ [hidden email] 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 |
In reply to this post by Danilo Procaccini
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. _______________________________________________ [hidden email] 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 |
In reply to this post by Danilo Procaccini
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
|
On 11/26/16, AlsPer78 <[hidden email]> 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 _______________________________________________ [hidden email] 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 |
Free forum by Nabble | Edit this page |