R语言空间数据处理:Part1-nc/hdf数据裁剪后逐张导出tif
学习记录~~~
·
需要处理的变量格式很多,在python中当时读取hdf文件一直不成功,所以又只能问度娘,看看网上的大佬们都是怎么做,然后对于hdf数据,有相关博客用R语言提供了一些方法,于是乎转战R语言处理hdf数据;
主要参考以下代码:
全球陆表特征参量数据产品GLASS数据批量下载、裁剪、格式转换
修改自己的参数后代码如下:
# library(foreach)
# library(doParallel)
library(terra)
# cl = makeCluster(8) #指定核心数
# registerDoParallel(cl)
###hdf/nc文件都可以,根据自己的需求来
gllist = list.files(path = "F:/soil moisture/SMCI_1km_2000-2020_10cm", pattern = ".nc") #读取HDF列表
gldir = paste0("F:/soil moisture/SMCI_1km_2000-2020_10cm/", gllist)
###裁剪矢量
cmr = vect("F:/region/studyarea.shp")
###逐幅导出
for (i in 1:length(gldir)){
gll<-rast(gldir[i])
crs(gll) <- "epsg:4326"###指定坐标系
gilname<-as.character(time(gll))
glcmr <- trim(mask(gll, cmr))
writeRaster(glcmr, filename=paste0("F:/soil_moisture_tif/", gilname, ".tif"))
print(paste0(as.character(i)," is ok"))
}
遇到的问题:原本也想参照博主的来一个多核运行,但是老出错,也没有深究为什么出错,转而还是用for循环了~~~

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)