欢迎光临散文网 会员登陆 & 注册

R语言栅格数据处理_月数据(降水气温蒸散)合成年度数据

2023-08-27 22:55 作者:qmy乐乐  | 我要投稿

数据来源GEE平台

ERA5 DAILY

其中era5数据降水单位是M,转换为mm可在gee平台✖1000,气温K转换成摄氏度℃是➖273.15

代码随后补上

降水的年度数据是月平均的累加

温度的年度数据是一年12个月取平均

21行:降水为sum,气温为mean
数据格式为:0X


数据格式要求:年内数据中要有相同的字符,比如1970年中的月数据都包含1970

本人用的重命名工具



library("raster")


tifdir <- paste("F:/data/",tifnames,sep="")


tifnames <- list.files(path = "F:/data", pattern = '.tif$')


tifdir#每个tif文件的路径


tifnames#每个tif文件名


#思路,循环读取每一年内的栅格,栅格成块进行计算均值输出


for (i in 1970:1972) {


    namefl=paste(i)


    allrt <-  lapply(tifdir[grep(pattern =namefl, tifnames)], raster)#


    all <-brick(allrt)#读取成栅格块,这里是包含i(如1970)的所有栅格


    m2<- calc(all,mean)#计算块内的均值,mean可以换成其他的比如sum或自定义


    csvfile=paste(i,".tif",sep="")# name


    flie=paste("F:/data/year/", csvfile ,sep = "")#path+name


    writeRaster(m2,flie)#写出


    print(csvfile)


}

结果

run完一个数据集要清除,不然run下一个数据集会有影响

注:run完的数据空间参考会清除,可以定义投影


参考来源:R语言栅格处理-月数据转年均值 - 哔哩哔哩 (bilibili.com)

R语言栅格数据处理_月数据(降水气温蒸散)合成年度数据的评论 (共 条)

分享到微博请遵守国家法律