我在这里使用一个文件:http://orca.science.oregonstate.edu/1080.by.2160.monthly.hdf.vgpm.m.chl.m.sst.php
untar(tarfile = "http://orca.science.oregonstate.edu/data/1x2/monthly/vgpm.r2018.m.chl.m.sst/hdf/vgpm.m.2010.tar", exdir = "./foo")
我得到错误: ar.exe:错误打开归档:未能打开'http://orca.science.oregonstate.edu/data/1x2/monthly/vgpm.r2018.m.chl.m.sst/hdf/vgpm.m.2010.tar‘
因此,我不得不手动下载该文件并解压缩它(这就是为什么不能在这里提供一个可重复的示例)。在里面有.hdf格式的文件:
我也看不懂:
library(ncdf4)
ncin <- nc_open(".\\vgpm.m.2010\\vgpm.2010001.hdf")
ncin
lon <- ncvar_get(ncin,"fakeDim0")
head(lon)
lat <- ncvar_get(ncin,"fakeDim1")
head(lat)
fillvalue <- ncatt_get(ncin,"npp","_FillValue")
您能帮助解释为什么我不能utar文件和为什么.hdf文件没有填充值吗?
发布于 2022-08-12 02:33:32
untar
。先将文件下载到工作目录,然后从工作目录:untar("vgpm.m.2002.tar", exdir = "mydir")
中解压。你的问题很可能与连接有关。可能有许多原因是特定于您的计算机的设置。您需要分别对此进行故障排除。library(R.utils)
gunzip("mydir/vgpm.2002335.hdf.gz", remove = FALSE)
ncdf4
是正确的,因为它可以容纳多种.hdf文件格式。一些旧格式需要不同的软件包或软件。要打开和读取它,需要两个不同的函数,即ncvar_get()
和nc_open()
。
library(ncdf4)
dat <- nc_open("mydir/vgpm.2002335.hdf", write = TRUE)
ncvar_get(dat)
请注意,如果您没有完成文档中详细解释的先决条件设置,这些功能将无法工作。例如:
-- netCDF库和HDF5库都必须安装在您的计算机上,这样R接口才能运行.
。
发布于 2022-08-12 15:15:17
我还试着用它来渲染它:它也很有用:
library(raster)
x <- raster("~.\\vgpm.2010001.hdf")
extent(x) <- extent(-180, 180, -90, 90)
crs(x) <- "+proj=longlat +datum=WGS84"
NAvalue(x) <- -9999
#plot(x)
f1<- as.data.frame(x, xy=TRUE)
https://stackoverflow.com/questions/73327326
复制相似问题