版权归作者所有,任何形式转载请联系作者。
作者:光的格子(来自豆瓣)
来源:https://www.douban.com/note/683097786/
#########################################################
#####根据mask求不同区域显著变化及不显著变化占比##########
#########################################################
#数据选取
library(sp)
library(raster)
library(rgdal)
k_value<- raster("E:\\Zhangbh\\ali ndvi\\qz2000_2017_mean_k.tif")#k值
p_value<- raster("E:\\Zhangbh\\ali ndvi\\qz2000_2017_mean_p.tif")#p值
mask<- raster("E:\\Zhangbh\\ali ndvi\\xianjie.tif")#master
#mask修订
mask1<-mask
mask1[mask1==0]<- 8
index<- c()
#修改mask个数
for(i in 1:8){
test <- c()
mask2 <- mask1
mask2[mask2 != i] <- NA
mask2[mask2 == i] <- 1
k_value1<-k_value*mask2
p_value1<-p_value*mask2
p1<- p_value1###计算显著变化区域
p1[p1>0.05]<-NA
p1[p1<=0.05]<-1
p2<- p_value1###计算不显著变化区域
p2[p2<=0.05]<-NA
p2[p2>0.05]<- 1
k1<- k_value1###计算减少区域
k1[k1>=0]<-NA
k1[k1<0]<-1####第二步
k2<- k_value1###计算增加区域
k2[k2>=0]<-1
k2[k2<0]<-NA####第二步
cou1<- as.matrix(p1)
coun1 <-c(which(cou1>0))#求有显著变化的像元个数
count1 <- length(coun1)
cou2<- as.matrix(p2)
coun2 <-c(which(cou2>0))#求有不显著的像元个数
count2 <- length(coun2)
cou3<- as.matrix(k1)
coun3 <-c(which(cou3>0))#求增加的像元个数
count3 <- length(coun3)
cou4<- as.matrix(k2)
coun4 <-c(which(cou4>0))#求减少的像元个数<