Ricampiona il raster binario per dare * proporzione * nella finestra della nuova cella


9

Vorrei passare da un raster binario di foresta / non foresta con una risoluzione di 30 m a un raster con una risoluzione di 240 m con il valore di ogni cella che è la proporzione di quella cella boscosa - cioè i valori dei dati per le celle di 240 m andrebbero da 0 (dove tutte le celle del raster di 30 m erano zero / non forestali) da 0,5 (dove metà delle 30 m di celle erano foreste, metà erano non forestali) a 1 (dove tutte le celle del raster di 30 m erano coperte da foreste).

Sebbene sia stato suggerito di non utilizzare l'interpolazione bilineare su dati discreti, per quanto posso dire il risultato con dati binari 0/1 sarebbe quello di dare un valore medio (cioè una proporzione tra 1 e 0). È un modo sensato per farlo o esiste un metodo migliore?

Posso usare Arc, QGIS e Idrisi.

Risposte:


13

Usa le statistiche di blocco .

Funziona come le statistiche focali calcolando un riepilogo statistico (come la media desiderata) all'interno di un determinato quartiere di celle (come un quadrato di 8 per 8, dove 8 = 240 m / 30 m), tranne che lo esegue solo per un suddivisione regolare della griglia, piuttosto che con una serie di quartieri sovrapposti, uno per ogni cella.

Puoi anche utilizzare le statistiche focali se vuoi davvero: dopo aver calcolato la media focale su 8 per 8 quadrati, ricampiona su una griglia di 240 m usando il ricampionamento del vicino più vicino . Quando le griglie sono registrate l'una con l'altra ( cioè hanno la stessa origine), ciò dovrebbe dare lo stesso risultato di block statistics. (Non garantirò che: alcune scelte arbitrarie devono essere fatte quando i nuovi centri cellulari coincidono con i vecchi angoli delle celle - come faranno qui - e, se diversi comitati codificassero le due procedure, potrebbero aver fatto scelte diverse: piccolo in ArcGIS è veramente coerente, temo.)

Un altro approccio è quello di creare una griglia di zone, una zona per quadrato in cui si desidera una media, ed eseguire un riepilogo zonale come griglia. Le zone possono essere calcolate matematicamente da griglie di coordinate di riga e colonna (mediante la funzione flooro int, mediante riclassificazione o unendo una tabella adatta alla tabella degli attributi).

Concluderò osservando che l'interpolazione bilineare, sebbene fornirà effettivamente valori nell'intervallo 0..1, non è ciò che desideri: funziona trovando al massimo quattro celle della griglia originali (30 m) che circondano il centro di un nuovo ( 240 m) cella e interpolando solo i loro valori. Come tale, trascurerà le altre 8 * 8 - 4 = 60 celle originali che rientrano in ogni nuovo blocco. Illustro l'interpolazione bilineare su http://www.quantdec.com/SYSEN597/GTKAV/section9/map_algebra.htm : la discussione inizia vicino al centro della pagina.


Grazie whuber, questo è quello che ho fatto: ho usato Block Statistics in Arc per produrre la somma del gruppo 8x8, quindi ho usato il calcolatore raster in QGIS per dividere per 64 e allineare origine, estensione e dimensione delle celle con il resto dei miei dati.
stuckGIS

stuckGIS, è possibile saltare il secondo passaggio utilizzando Block Statistics per calcolare la media di ciascun blocco 8 x 8. Allineare la nuova griglia è una questione di specificare l'ambiente di analisi raster in modo appropriato, che - se fatto prima di iniziare i calcoli - avverrà automaticamente. Ciò riduce il flusso di lavoro a un solo passaggio: eseguire la media dei blocchi.
whuber

4

In ArcGIS quando ricampionate i dati usando il ricampionamento bilineare, guardate solo i valori delle quattro celle centrali ( ricampiona la documentazione ). Pertanto, utilizzando questo metodo, perderai comunque i dati se non compenserai la perdita di dati.

Dato che sappiamo che per le celle ricampionate stai cercando una proporzione delle celle che sono boscose, possiamo considerarlo come la somma delle celle da 30m divise per 64 (ci sono 64 celle da 30m nel blocco 240m).

Ciò significa che se siamo in grado di creare un nuovo raster con i valori centrali come la somma dei valori circostanti a una risoluzione di 30 m, abbassando la risoluzione utilizzando il ricampionamento con il vicino più vicino o l'interpolazione bilineare ci daranno 240 m di celle che sono la somma delle celle di 30 m che copertina. Possiamo farlo con lo strumento somma focale oltre il raster di 30m.

Infine, una volta ottenuto un raster di somma focale di 240 m, dividere per 64 per ottenere la risposta proporzionale.

In Idrisi non sono sicuro degli algoritmi di campionamento delle immagini, allo stesso modo in QGIS, ma immagino che ci sia qualcosa di simile. Certamente in QGIS è possibile elaborare il raster in Python usando scipy ndimage o simili.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.