【R语言】根据掩膜统计不同区域显著不显著变化占比(面积)

版权归作者所有,任何形式转载请联系作者。
作者:光的格子(来自豆瓣)
来源: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))#求减少的像元个数<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值