IDL读写hdf5数据
来源:互联网 发布:淘宝保健品类目怎么找 编辑:程序博客网 时间:2024/05/16 10:29
转载于:http://rssthome.com/forum.php?mod=viewthread&tid=50&extra=page=1
pro hdf5
filter=['*.HDF','*.*']
files=DIALOG_PICKFILE(/MULTIPLE_FILES,FILTER=filter,title='打开hdf5数据',GET_PATH=path)
CD,path
if (files[0] EQ '') then return
storage_path=dialog_pickfile(/directory,title='选择存储路径')
n=n_elements(files)
for i=0,n-1 do begin
;-----------------------------读取hdf5--------------------------------
basename=file_basename(files[i],'.HDF')
;H5F_OPEN打开hdf5
file_id = H5F_OPEN(files[i])
;H5G_OPEN打开group
group_id=H5G_OPEN(file_id,'Data')
;H5D_OPEN打开数据集
dataset_id=H5D_OPEN(group_id,"EV_1KM_RefSB")
;H5D_READ读取数据集数据,存入SdsData中
SdsData=H5D_READ(dataset_id)
weishu=size(SdsData,/dimensions)
;读取属性数据
Attribute_num= H5A_GET_NUM_ATTRS(dataset_id)
for j=0,Attribute_num-1 do begin
;H5A_OPEN_IDX按照属性索引打开属性
Attribute_id= H5A_OPEN_IDX(dataset_id,j)
;H5A_OPEN_Name按照属性名字打开属性
;Attribute_id= H5A_OPEN_Name(dataset_id,'units')
;得到属性的名字
Attribute_name= H5A_GET_NAME(Attribute_id)
;读取属性
AttData=H5A_READ(Attribute_id)
endfor
;-----------------------------输出hdf5--------------------------------
outname=storage_path+basename+'_out2.HDF'
;创建hdf5文件
outfid=H5F_CREATE(outname)
;创建group
OutGroupId = H5G_CREATE(outfid,"FrameSampleMeasurements")
;创建数据集
datatype_id = H5T_IDL_CREATE(SdsData)
dataspace_id = H5S_CREATE_SIMPLE(weishu)
Outdataset_id = H5D_CREATE(OutGroupId,"sample_measurements_o2",datatype_id,dataspace_id)
OutData=SdsData
H5D_WRITE,Outdataset_id,OutData
;写数据集的属性
Attribute_num=H5A_GET_NUM_ATTRS(dataset_id)
for k=0,Attribute_num-1 do begin
;获取属性
sds_att_id=H5A_OPEN_IDX(dataset_id,k)
sds_att_name=H5A_GET_NAME(sds_att_id)
sds_att_value=H5A_READ(sds_att_id)
sds_att_type=H5A_GET_TYPE(sds_att_id)
;写出属性
;属性dataspace的大小必须和属性包含的内容的个数一致
dataspace_id = H5S_CREATE_SIMPLE(n_elements(sds_att_value))
attr_id = H5A_CREATE(Outdataset_id,sds_att_name,sds_att_type,dataspace_id)
H5A_WRITE,attr_id,sds_att_value
H5A_CLOSE,attr_id
endfor
pro hdf5
0 0
- IDL读写hdf5数据
- Matlab读写hdf5数据
- ENVI IDL读写数据
- HDF5文件读写
- hdf5格式的matlab读写操作
- Julia :HDF5数据文件读写与更新
- hdf5和las文件的读写
- hdf5文件的创建以及读写
- hdf5
- HDF5
- caffe中HDF5层及数据生成
- caffe中HDF5层及数据生成
- python fuel 操作HDF5格式数据
- IDL读写F77_UNFORMATTED文件的一个特点
- IDL新特性 数据可视化
- c++的一种配置文件读写封装——HDF5 DSM
- IDL
- IDL
- Quartus 仿真时间设置为大于1us
- Android Studio中文乱码解决
- HDU 5950 矩阵快速幂
- C++第九周mooc在线测评—第9周 数据的抽象与封装——类与对象(1)
- 一个字符串中查找第一个只出现一次的字符 ,时间复杂度为O(N)
- IDL读写hdf5数据
- 《天才在左 疯子在右》读书笔记
- Android退出监听
- ISD9160学习笔记01_大联大Nuvoton ISD9160语音识别开发板初体验
- 11.06
- Redis的五种结构
- 微信为什么不丢消息
- 一个草根程序员如何进入BAT
- java编程打开记事本