pretendo obter uma matriz de dissimilaridade ambiental entre as 814 ecoregiões da WWF com base em algumas variáveis do worldclim. As ecoregiões são polígonos e as variáveis do worldclim são raster, então tenho que colocar os dois dados na mesma resolução pra extrair valores e então ter a matriz de ecoregiões x variáveis.
Para isto estou criando um raster vazio com a resolução de uma das variáveis do worldclim e então utilizando a função
rasterize para colocar as ecoregiões em uma mesma resolução. Isto está correto?
Segue o código que estou usando.
empty<-raster (resolution = c(1, 1))
extent (empty)<-extent (npp) ## npp= var worldclim
projection (empty)<-projection (ecor) # ecor = ecoregiões
test1<-rasterize (ecor,empty,field="ECO_CODE",mask=T)
Então o resultado é um Rasterlayer sem valores, como no empty
> test1
class : RasterLayer
dimensions : 180, 360, 64800 (nrow, ncol, ncell)
resolution : 1, 1 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84
data source : in memory
names : layer
values : NA, NA (min, max)
Então faço um rasterstack com as ecoregiões rasterizadas:
> test2<-stack (test1,npp)
> test2
class : RasterStack
dimensions : 180, 360, 64800, 2 (nrow, ncol, ncell, nlayers)
resolution : 1, 1 (x, y)
extent : -180, 180, -90, 90 (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +ellps=WGS84
names : layer, sta
min values : ?, -0.014
max values : ?, 1.321
se peço as.data.frame (test2) ele dá os valores de npp para algumas células e não para cada ecoregião como quero.
| sta |
layer |
|
| 1 |
NA |
NA |
| 2 |
NA |
NA |
| 3 |
NA |
NA |
| 4 |
NA |
NA |
| 5 |
NA |
NA |
| 6 |
NA |
NA |
| 7 |
NA |
NA |
| 8 |
NA |
NA |
| 9 |
NA |
NA |
| 10 |
NA |
NA |
| 11 |
NA |
NA |
| 12 |
NA |
NA |
| 13 |
NA |
NA |
| 14 |
NA |
NA |
| 15 |
NA |
NA # lá pela célula 10000 tem valores |
Alguém poderia me ajudar com isto ou indicar algum material? Estou migrando há dias por vários blogs do R mas ainda n tenho sucesso.
Obrigado.
André Luís Luza