Esse comando instala os pacotes que eu preciso
install.packages("raster")
install.packages("rgeos")
Library
library(raster)
## Warning: package 'raster' was built under R version 4.3.3
## Carregando pacotes exigidos: sp
## Warning: package 'sp' was built under R version 4.3.3
pai<-raster(ncol=6, nrow=6, xmn=1, xmx=60, ymn=1, ymx=60, res=10)
values(pai)<-1:ncell(pai)
plot(pai)
text(pai, digits=2)
Fazendo Simulação dos valores
set.seed(1229)
values(pai) <-rpois(ncell(pai), lambda=1)
plot(pai)
text(pai, digits=2)
P1: Explique o que é a função rpois e o que ela fez nessa linha de código R: A função rpois distribui numeros para cada um dos pixels do plot
table(values(pai))
##
## 0 1 2 3 4 5
## 10 11 9 4 1 1
P2: Inclua esses valores no formulário de respostas R: 0 1 2 3 4 5 10 11 9 4 1 1
Alterando a resolução (juntando os pixels [4 em 1])
pai_media<-aggregate(pai, fact=2, fun=mean)
plot(pai_media)
text(pai_media, digits=2)
P3: Agora mude o digits para digits=3 e explique o que ocorreu R:O comando muda a quantidade de digitos apos a virgula, porem na imagem não ocorreu alteração
Valor mais comum da area
pai_dom<-aggregate(pai, fact=2, fun=modal)
plot(pai_dom)
text(pai_dom, digits=2)
P4: Confira os resultados e explique o que aconteceu R:Ele usou o valor mais comum da area do pixel
P5: Após esse comando, qual o tamanho do pixel resultante? R:O tamanho do pixel aumentou, pois juntou 2x2 pixels em 1, diminuindo a resolução
P6: Compare os resultados obtidos pelos dois métodos numa mesma resolução e discuta R:Na dominancia, os resultados gerados são a media de maneira resumida
Media e Variancia
cellStats(pai, mean)
## [1] 1.388889
cellStats(pai, var)
## [1] 1.55873
P7: Execute os mesmos comandos para os mapas pai_media e pai_dom e discuta os resultados comparando-os com os do mapa original.
Executando os mesmos comandos
cellStats(pai_media, mean)
## [1] 1.388889
cellStats(pai_media, var)
## [1] 0.4236111
cellStats(pai_dom, mean)
## [1] 1.222222
cellStats(pai_dom, var)
## [1] 1.194444
Diminuindo tamanho do pixel
pai_dis<-disaggregate(pai, fact=2)
par(mfrow=c(1,2))
plot(pai)
text(pai, digits=2)
plot(pai_dis)
text(pai_dis, digits=2)
Reamostrando com interpolação bilinear
pai_bil<-disaggregate(pai, fact=2, method="bilinear")
par(mfrow=c(1,2))
plot(pai)
text(pai, digits=2)
plot(pai_bil)
text(pai_bil, digits=2)
Alterando extensão
e<-extent(10,40,10,40)
plot(pai)
plot(e, add=TRUE)
Recortando a area
pai_crop<-crop(pai, e)
plot(pai_crop)
par(mfrow=c(1,2))
plot(pai, col=c("white", "pink", "orange", "green", "blue", "red"))
text(pai, digits=2)
plot(e, add=TRUE)
plot(pai_crop, col=c("white", "pink", "orange", "green"))
text(pai_crop, digits=2)
P8: Qual é a extensão em número de pixels desse recorte? R:São 9 pixels, 3x3
Agora com reamostragem bilinear
bil_crop<-crop(pai_bil, e)
par(mfrow=c(1,2))
plot(pai_crop)
text(pai_crop, digits=2)
plot(bil_crop)
text(bil_crop, digits=2)
P9: Sabendo que o método bilinear considera os 4 pixels do entorno no cálculo (ver figura acima), explique quando você optaria por usar esse método em uma análise. Aborde aspectos como que tipo de espécie, de pergunta, etc. R:Ele seria bem utilizado em imagens de avaliação ambiental, como a degradação de uma determinada area.
Paisagem mais complexa
set.seed(1142)
pai.c<-raster(ncol=10, nrow=10, xmn=1, xmx=10, ymn=1, ymx=10)
d<-rmultinom(100, size = 1, prob = c(0.3, 0.6, 0.1))
j<-vector()
for (i in 1:length(which(d==1))){
dd<-which(d==1)[i]-3*(i-1)
j<-c(j, dd)
}
values(pai.c)<-j
plot(pai.c, col=c("green", "yellow", "pink"))
P10: Mude a resolução pela média e utilize fact=2. Posteriormente, mude a resolução pela dominante (moda). Gere uma figura com os dois mapas lado a lado utilizando par(mfrow=c(1,2)). Inclua a figura no formulário de respostas. R:
par(mfrow=c(1,2))
plot(pai_media)
text(pai_media, digits=2)
plot(pai_dom)
text(pai_dom, digits=2)
P11: Crie uma área para recortar a paisagem de 10x10. Recorte a paisagem para uma extensão menor. Plote a paisagem de 10x10 e inclua a área a ser recortada em preto. Ao lado, plote apenas a áreas recortada. Inclua a figura no formulário de respostas.
par(mfrow=c(1,2))
corte<-raster(ncol=10, nrow=10, xmn=1, xmx=100, ymn=1, ymx=100, res=10)
values(corte)<-1:ncell(corte)
plot(corte)
text(corte, digits=2)
plot(e, add=TRUE)
corte_crop<-crop(corte, e)
plot(corte_crop)
P12: Ao invés de plotar uma figura ao lado da outra, plote uma em cima da outra. Como você alteraria o comando para que o R execute dessa maneira. Inclua apenas a linha de código no formulário.
par(mfrow=c(2,1))
corte<-raster(ncol=10, nrow=10, xmn=1, xmx=100, ymn=1, ymx=100, res=10)
values(corte)<-1:ncell(corte)
plot(corte)
text(corte, digits=2)
plot(e, add=TRUE)
corte_crop<-crop(corte, e)
plot(corte_crop)