天天看点

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

很久前我曾发过一篇关于C# HDF4 文件读写配置 的专栏,本来想很快就续上 HDF5 结果拖到现在。

我想补充一些内容

① hdf5 的文件后缀是 H5,我忘了那个modis产品是这个格式了,就自己随便找了一张

② 用 hdf4 和 hdf5 的读写来做 modis 产品处理太浪费精力了,用 mrt 就行了

③ 文档最后附上一些关于 hdf 的工具,需要工具直接翻到最后

一、引入依赖

依赖下载位置时间太久忘了,我就把我本地的压缩包直接分享给大家

https://quqi.gblhgk.com/s/957459/9fp9kXoWmjU7nVsE

我引入的是 x86 版本的,然后 NuGet 可以找到为什么我偏用 dll 引入呢,呃,时间有点久了,我也记不清楚了,我记得好像是 NuGet 版本没办法运行而且和官方的用法差距很大,大家可以试试,我是真记不清了。

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

二、开始使用

官方文档的地址是 https://support.hdfgroup.org/HDF5/doc/H5.intro.html

我这个链接是对整个库的概况说明,同时也说明了几个模块之间的关系。

特别是第三节,说明了H5F、G、T、S、D、P、A、C、E、R、I 之间的关系

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

到这个链接 https://support.hdfgroup.org/HDF5/doc/RM/RM_H5Front.html 大家看右上角

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

一定要看做什么操作,然后去看对应的稳定,但是这个文档只有C\C++和 Fortran 版本,而且用法上和 C# 有出入。

如果大家看官方文档觉得没法入门,我推荐一个GitHub的项目,我就是看他入门的,虽然他写的东西也很乱 https://github.com/hypesystem/HDF5Reader

三、代码示例

① 获取 h5 文件的目录结构,我只截图结果的一部分

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

② 从 hdf 中读取内容,左边结果为代码输出,右边为 hdfviewer 显示

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

这里用到的 Dataset 这个类不是 C# data 的类,而是另外定义的,是从上面粉红色的GitHub链接的项目复制过来的,其中我修改了 Attribute 的 IntegerAttribute,修改如下

第一点,使其支持 两个比特 的整形

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

Bit.Bit2To4 方法内容如下

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

本来应该有第三步,数据写入的,但是我懒了,而且 hdf 官方给的工具已经满足我的用途的,就此结束吧,关于 hdf4 那一篇,我的标题是读写,取得不当,应该叫读取。

HDF4、5 工具

① h4h5converter 官方下载位置在这里,有 Windows、centos6、7 和 苹果版本

https://support.hdfgroup.org/ftp/HDF5/h4toh5/bin/

使用文档

https://support.hdfgroup.org/ftp/HDF5/releases/tools/h4toh5/h4toh5-2.2.3/src/unpacked/doc/h4toh5lib_RM.html#Tools-CommandLineUtilities

② hdf 工具箱 官方下载位置,用法大家自己百度吧(没看到苹果版本)

https://support.hdfgroup.org/ftp/HDF/HDF_Current/bin/

③ hdfviewer 官方下载位置为

2.x 下载位置 https://support.hdfgroup.org/products/java/release/download.html

3.x 下载位置(需要登陆) https://www.hdfgroup.org/downloads/hdfview/

鉴于大家可能下载比较慢,我提供了蓝奏云和曲奇网盘下载地址

https://lanzous.com/b00njjoab 密码: h63w  可以下载①②

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

https://quqi.gblhgk.com/s/957459/3bwRvbmpIIyUIs0o  可以下载③的 3.1.0 版本

C# hdf5 文件操作入门和h4h5官方工具分享一、引入依赖二、开始使用三、代码示例HDF4、5 工具

其他内容如果我没提供的大家评论给我,我去看看。

继续阅读