下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、以三维数据读写为例打开,读取空间属性、维度,数据集属性,文件属性,数据集的数据;/写入txt文件(动态定义数组一一用指针),写入DAT文件(可以用ENVI打开查看图像), 写入HDF文件写入HDF文件属性、数据属性、空间属性,数据压缩。hid_t , space_id,dset_id;hsize_t dims3=0,0,0;int n dims=0;int status;int col = 0;int row =0;int high=0;char 200;char 0ut200;int N=0;int i,j,k;memset(, sizeof ();memset(Out, sizeof (O
2、ut);strcpy(, "C:UsershanssDesktopFY3B_MERSI_GBAL_L1_20170301_0000_1000M_MS.HDF")Jstrcpy(Out, "C:Usersha nssDesktopFY3B.HDF" );unsigned int * dset= new unsigned int row * col*high;memset(dset,0, sizeof (unsigned int )* row * col*high);一、打开HDF文件并读取相关数据信息1、打开HDF文件=H5Fope n(, H5F_ACC
3、_RDONLY, H5P_DEFAULT);2、打开数据集dset_id = H5Dope n(, "EV_1KM_RefSB;H5P_DEFAULT);3、获取空间地址space_id = H5Dget_space(dset_id);4、获取空间维度信息n dims=H5Sget_simple_exte nt_dims(space_id,dims,NULL);5、读取数据集status=H5LTread_dataset(, "EV_1KM_RefSB"H5T_NATIVE_UINT,dset);6、读取数据属性float Slope30;int _FillVal
4、ue1;char band_n ame41;H5LTget_attribute_float(, "EV_1KM_RefSB""Slope" ,Slope);for (int i=0;i<15;i+)printf( "Slope:%fn" ,Slopei);H5LTget_attribute_i nt(, "EV_1KM_RefSB""_FillValue" ,_FillValue);printf( "_FillValue:%dn",FillValueO);H5LTget
5、_attribute_stri ng(,”EV_1KM_RefSB","ba nd_n ame",ba nd_n ame);pri ntf("%sn",ba nd_n ame);或者用H5LTget_attribute_float(dset_id, "/EV_1KM_RefSB" "Slope" ,Slope);(推荐) H5LTget_attribute_float(, "/EV_1KM_RefSB" "Slope" ,Slope);或者char dset_ na
6、me20= "EV_1KM_RefSB"H5LTget_attribute_float(, "In tercept" ,In tercept);【注释】1、如果是的话,不加斜杠也是可以的,但是如果时dse_id则一疋要加斜杠2、如果是,加斜杠也可以3、输出数组时遍历每个元素才行,直接输出数组名,其实是输岀了数组地址,需要加*,那就是输出数组第一个兀素值;也可以定义指针,首先分配空间float *ln tercept;In tercept=(float*)malloc(sizeof(float)*15);H5LTget_attribute_float(ds
7、et_id,"/EV_1KM_RefSB","I ntercept",l ntercept);pri ntf("l ntercept:n");for(int i=0;i<15;i+)prin tf("%fn",*(I ntercept+i);4、不要把IDL语法放到C中5、C+中的 unsigned char 就是 byte 型,0-255 值unsigned char DQ1;H5LTget_attribute_uchar(,"/","Data Quality",DQ
8、); /读取文件属性prin tf("Data Quality:%dn",*DQ);H5LTset_attribute_uchar(o,"/","Data Quality",DQ,1); /写入文件属性最后显示的数据类型是8-bit un sig ned in teger 7、读取文件属性float BB200;H5LTget_attribute_float(, "/" , "BB start time" ,BB); for (int i=0;i<200;i+)printf( "
9、BB:%fn" ,BBi);二、将数据和信息写入HDF文件hid_t ;hid_t dataset_id;hid_t ;1、创建HDF文件=H5Fcreate(Out, H5P_DEFAULT,H5P_DEFAULT);2、设置空间维度属性=H5Screate_simple(3,hdims,NULL);3、创建数据集(或组)dataset_id = H5Dcreate();4、写入数据H5Dwrite(dataset_id,H5T_NATIVE_UINT,H5S_ALL,H5S_ALL,H5P_DEFAULT,pData);5、写文件属性"/" , "A
10、dditionalAnotation",AA);"/" ,"BB start time" ,BB,200);H5LTset_attribute_stri ng(o,H5LTset_attribute_double(o,6、写数据集属性H5LTset_attribute_float(o,"EV_1KM_RefSB,""l ntercept",In tercept,15);H5LTset_attribute_string(odset_id,"/EV_1KM_RefSB", "band_name",band_name);7、数据压缩hid_t plist_id;/创建数据集生成的性质列表 plist_id = H5Pcreate(H5P_DATASET_CREATE);hsize_t cdims3;cdims0 = 1;cdims1 = 256;cdims2 = 2048;/ /创建分块的性质status = H5Pset_chu nk(plist_id,3,cdims);/设置压缩方法,zlib 同gzipstatus = H5Pset_deflate(plist_id,5);压缩后,创建数据集时要用odset_i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务礼仪培训心得体会14篇
- 关于留守儿童关爱行动活动总结
- 卫生院保密工作制度
- 全数驱动 致胜未来-数字化敏捷银行白皮书-2024.08-55正式版-WN8
- 湖北省襄樊市保康县2024-2025学年六年级数学第一学期期末达标检测模拟试题含解析
- 湖北省枣阳市2024年六年级数学第一学期期末质量跟踪监视模拟试题含解析
- 垃圾填埋场处理处置及环卫设施配套建设项目可行性研究报告写作模板-备案审批
- 湖南省怀化市靖州苗族侗族自治县2024-2025学年三上数学期末调研试题含解析
- 无缝钢管尺寸规格对应表
- 湖南省衡阳市高新区2023-2024学年四年级上学期质检数学试卷
- 建设单位住宅工程质量信息公示表
- 材料科学基础-金属的凝固
- 传输网线路++施工组织设计方案模板
- 医院病案统计室工作总结暨述职报告2020课件
- 建设工程施工现场生活区设置和管理导则
- 《新课标》小学语文学科课堂教学基本要求
- 医学精品课件邵逸夫医院进修感想
- 2022版云南财经大学推免管理办法
- Q∕GDW 11304.41-2021 电力设备带电检测仪器技术规范 第4-1部分:油中溶解气体分析仪(气相色谱法)
- 原发性肝癌讲课PPT课件
- 金属材料与热处理ppt课件
评论
0/150
提交评论