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

我想补充一些内容

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

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

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

一、引入依赖

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

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

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

二、开始使用

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

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

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

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

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

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

三、代码示例

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

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

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

第一点,使其支持 两个比特 的整形添加 2 bit

Bit.Bit2To4 方法内容如下bit

本来应该有第三步,数据写入的,但是我懒了,而且 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  可以下载①②蓝奏云

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

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

c# hdf5 写string_C# hdf5 文件操作入门相关推荐

  1. python文件操作入门

    文件操作入门 单个文件读写: 下面这首诗存在一个txt文件里,文件路径为: "D:\文件集散地\白雪歌送武判官归京.txt" .请将这首诗的前5句存到另一个txt文件里. 北风卷地 ...

  2. python写二进制文件 flush_文件操作 · python笔记 · 看云

    [TOC] ## **文件读写模式概述** ### `r` 读文件模式 * r 只读模式 普通读模式,不能写入,不指定编码的话默认使用utf-8编码读取文件 * r+ 读写模式 可以写入,但默认只能将 ...

  3. python对文件的写操作方法seek_python文件操作及seek偏移详解

    一.python文件操作中的编码 本次测试是基于python 2.7.12   OS:Ubuntu16.04  pycharm环境,以及win7下2.7.12; 首先说下汉字在文件中占用的字节数,这个 ...

  4. c# hdf5 写string_C#读取风云卫星(HDF5格式)遥感数据的部分代码

    /// &ltsummary&gt /// 得到double类型的数据集 /// &lt/summary&gt /// &ltparam name=" ...

  5. scala初学之Tuple、Array、Map、文件操作入门实战

    特此声明,本文中的代码 部分或全部来源王家林的scala教程:虽然王家林一直被大家所诟病,而且也无法确定这些scala的程序代码是不是他的.但是作为一个初学者觉得就算代码不是他的,他只是拿过来翻译一次 ...

  6. C语言 文件操作 深度解析 #重点知识:文件操作函数的使用#

    文章目录 前言 1. 为什么使用文件 2. 什么是文件 程序文件 数据文件 3. 文件的打开和关闭 4. 文件的顺序读写 `fgetc` `fputc` `fgets` `fputs` `fprint ...

  7. 【C语言复习】C语言中的文件操作

    C语言中的文件操作 写在前面 文件操作 什么是文件 文件的分类 文件名 文件的操作 文件指针 文件的打开和关闭 文件的顺序读写 文件的随机读写 fseek ftell rewind feof 写在前面 ...

  8. 详解Python中的File(文件)操作

    目录 Python中的File(文件)操作 写入文件的操作: 读取文件的操作: 一.文件操作相关函数 1. open() 打开文件 2. seek() 设置文件指针的位置 3. write() 写入内 ...

  9. c/c++入门教程 - 2.5 文件操作、fstream(write写文件、read读文件、ios::binary二进制文件读写)

    目录 2.5 文件操作 2.5.1 文本文件 2.5.1.1 写文件 2.5.1.2 读文件 2.5.2 二进制文件 2.5.2.1 二进制写文件 2.5.2.2 二进制读文件 2.5 文件操作 程序 ...

最新文章

  1. 在Linux命令行下查询当前所使用的shell版本与种类的方法
  2. 生成tfreocrds
  3. Py中的heapq模块【转载】
  4. python xml解析dom_如何解析python中表示xml.dom.minidom节点的字符串?
  5. 阿里巴巴的 Kubernetes 应用管理实践经验与教训
  6. Angular input控件的click事件响应处理的调用上下文
  7. cubemx lan8720模块_通过STM32cubeMX将STM32F767+LAN8720+LwIP+FreeRTOS的以太网实现
  8. 手机电脑壁纸!让你的桌面变得超酷
  9. EASYSIZE备份
  10. 抽头延时信道模型matlab,频率选择性衰落信道模型研究与仿真.docx
  11. 玩和平精英跟刺激战场国际服都被吊打?网友:你还可以玩荒野行动
  12. tomcat+mysql+腾讯云_腾讯云服务器配置tomcat和mysql
  13. 【无标题】我们的三周年————致我的小宝贝
  14. 【ggplot】复杂柱状图:自定义颜色、标签、位置、坐标轴和主题
  15. 加湿器-香薰机的设计方案(单片机程序+PCB)超声波震荡方式 原理图+PCB+源代码+详细设计说明
  16. K线类型识别—单K线之阴线
  17. Backend TkAgg is interactive backend. Turning interactive mode on.解决办法
  18. js导出科学计数法_怎么让js不自动转换成科学计数法
  19. MPCS-314 3A 光电耦合器 用于IGBT/MOSFET隔离栅极驱动 完美代替TLP5701
  20. css如何实现毛玻璃效果

热门文章

  1. 网站加载图片速度提升
  2. 部队应急通信指挥调度方案
  3. 信息系统可行性分析报告的一般格式
  4. web安全工具库(笔记)----端口扫描(K8PortScan)
  5. fullCalendar插件的使用简单教程
  6. 并查集——奇偶性(Parity)
  7. STL容器板子(vector篇)
  8. oracle 数据类型的变更无效 clob,ORA-22858:数据类型的变更无效varchar2类型转换为clob类型...
  9. arp病毒系列——攻击类型
  10. 手机应用注册时,获取国际电话区号列表完美解决方案