从多个文件中提取 HDF 格式的变量并将堆栈转换为栅格格式

时间:2021-07-27 15:08:53

标签: r raster hdf5 netcdf hdf

我能够从一个 hdf 文件的多个变量中提取数据并绘制单个变量,但无法提取多个文件的数据Data Link here

library(raster)
library(ncdf4)
#plot TES single file 
r <- raster("E:/TES/TES-Aura_L3-O3-M2009m03_F01_12.hdf",var="Data Fields/OzoneTropColumn", ncdf=TRUE)
extent(r) <- c(-180,180,-90,90)
plot(r)

对于多个文件,我试图堆叠多个文件,然后提取单个变量“Data Fields/OzoneTropoColumn”并将每个文件转换为光栅格式。

O3 <- list.files("E:/TES", pattern = "*.hdf", full.names = TRUE) 
ncin <- raster::stack(O3, varname = "Data Fields/OzoneTropColumn")
writeRaster(ncin, file.path('E:TES/Ras', paste0(names(ncin),".tif")), bylayer=TRUE, format="GTiff", overwrite=TRUE) 

但是,我收到以下错误:

"rgdal::GDALinfo 中的错误(文件名,silent = 无声,returnRAT = RAT,returnCategoryNames = RAT): 未找到对象“RATlist” h(simpleError(msg, call)) 中的错误: 在为函数“stack”选择方法时评估参数“x”时出错:在为函数“stack”选择方法时计算参数“x”时出错:无法从此文件创建 RasterLayer 对象。 另外: 警告信息: 在 dim(x) 中:数据集中没有条带"

任何形式的帮助将不胜感激!

谢谢

0 个答案:

没有答案