首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将.hdf文件转换为数据集?

如何将.hdf文件转换为数据集?
EN

Stack Overflow用户
提问于 2022-08-11 22:05:39
回答 2查看 43关注 0票数 0

我在这里使用一个文件:http://orca.science.oregonstate.edu/1080.by.2160.monthly.hdf.vgpm.m.chl.m.sst.php

代码语言:javascript
运行
复制
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格式的文件:

我也看不懂:

代码语言:javascript
运行
复制
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文件没有填充值吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-12 02:33:32

  1. ,您应该能够在下载了该文件之后,对它进行untar。先将文件下载到工作目录,然后从工作目录:untar("vgpm.m.2002.tar", exdir = "mydir")中解压。你的问题很可能与连接有关。可能有许多原因是特定于您的计算机的设置。您需要分别对此进行故障排除。

  1. 一旦解压缩目录,其中的内容就不是.hdf文件。它们是压缩的 .hdf文件(因此它们的文件名以.gz结尾)。您需要解压缩:

代码语言:javascript
运行
复制
library(R.utils)
gunzip("mydir/vgpm.2002335.hdf.gz", remove = FALSE)

  1. 一旦真正拥有了.hdf文件,就需要打开它,然后读取它。使用ncdf4是正确的,因为它可以容纳多种.hdf文件格式。一些旧格式需要不同的软件包或软件。

要打开和读取它,需要两个不同的函数,即ncvar_get()nc_open()

代码语言:javascript
运行
复制
library(ncdf4)
dat <- nc_open("mydir/vgpm.2002335.hdf", write = TRUE)
ncvar_get(dat)

请注意,如果您没有完成文档中详细解释的先决条件设置,这些功能将无法工作。例如:

-- netCDF库和HDF5库都必须安装在您的计算机上,这样R接口才能运行.

票数 1
EN

Stack Overflow用户

发布于 2022-08-12 15:15:17

我还试着用它来渲染它:它也很有用:

代码语言:javascript
运行
复制
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) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73327326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档