【发布时间】:2022-01-26 12:05:56
【问题描述】:
我正在处理 1.460 个 HDF 文件(4 年每日数据)。我有兴趣从所有文件中获取 MEAN AOD。使用以下代码,我只从最后一个文件中获取信息,而不是我正在使用的所有文件的组合,我不确定为什么这不起作用。 (我对在此过程中获取 TIF 文件不感兴趣,但我不确定这是否有必要获得我想要的)
read_hdf = function(file, n) {
sds = get_subdatasets(file)
f = tempfile(fileext = ".tif")
gdal_translate(sds[1], f)
brick(f)
}
files <- dir(pattern = ".hdf")
for(f in files) {
sds = get_subdatasets(f)
Optical_Depth_047 = read_hdf(f, grep("grid1km:Optical_Depth_047", sds))
names(Optical_Depth_047) = paste0("Optical_Depth_047.", letters[1:nlayers(Optical_Depth_047)])
r = stack(Optical_Depth_047)
}
meanAOD <- stackApply(r, indices = rep(1,nlayers(r)), fun = "mean", na.rm = T)
【问题讨论】: