c语言读取hdf投影信息,C语言对HDF文件数据集和属性的读写

本文介绍了如何使用C语言来操作HDF文件,包括打开文件、读取数据集、获取空间维度、读取属性、数据压缩以及写入属性和数据。通过一个三维数据读写的例子,详细阐述了HDF文件的读取和写入过程,涉及到H5Fopen、H5Dopen、H5Dget_space等关键函数的使用,并演示了将数据写入TXT和DAT文件的方法。
摘要由CSDN通过智能技术生成

用C语言对HDF文件进行操作,包括文件打开、数据集读取、属性读取、空间维度获取、数据压缩、属性和数据写入文件等操作。

以三维数据读写为例

打开,读取空间属性、维度,数据集属性,文件属性,数据集的数据;

//写入txt文件(动态定义数组——用指针),写入DAT文件(可以用ENVI打开查看图像),写入HDF文件

写入HDF文件属性、数据属性、空间属性,数据压缩。

hid_t file_id,space_id,dset_id;

hsize_t dims[3]={0,0,0};

int ndims=0;

int status;

int col = 0;

int row =0;

int high=0;

char FileName[200];

char OutFileName[200];

int N=0;

int i,j,k;

memset(FileName,0,sizeof(FileName));

memset(OutFileName,0,sizeof(OutFileName));

strcpy(FileName,"C:\\Users\\hanss\\Desktop\\FY3B_MERSI_GBAL_L1_20170301_0000_1000M_ MS.HDF");

strcpy(OutFileName,"C:\\Users\\hanss\\Desktop\\FY3B.HDF");

unsignedint* dset=newunsignedint[row * col*high];

memset(dset,0,sizeof(unsignedint)* row * col*high);

一、打开HDF文件并读取相关数据信息

1、打开HDF文件

file_id = H5Fopen(FileName, H5F_ACC_RDONLY, H5P_DEFAULT);

2、打开数据集

dset_id = H5Dopen(file_id,"EV_1KM_RefSB",H5P_DEFAULT);

3、获取空间地址

space_id = H5Dget_space(dset_id);

4、获取空间维度信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值