matlab.io.hdfeos.gd.defComp
包: matlab.io.hdfeos.gd
设置网格区域压缩
语法
defComp(gridID,compscheme,compparm)
说明
defComp(gridID,compscheme,compparm)
为后续字段定义设置 HDF 字段压缩。压缩方案不适用于一维字段。compscheme
可以为以下值之一。
'rle' | 行程长度编码 |
'skphuff' | 跳过 Huffman |
'deflate' | Gzip deflate |
'none' | 无压缩 |
当压缩方案为 'deflate'
时,compparm
为 deflate 压缩级别,它是一个介于 0 和 9 之间的整数。对于其他压缩方案,可以忽略 compparm
。
在定义某个字段时如果定义了压缩,则必须单独调用 gd.writeField
来写入它。如果无法进行此操作,应考虑使用平铺。
此函数对应于 HDF-EOS 库 C API 中的 GDdefcomp
函数。
示例
创建一个极球面网格,对 Pressure
字段使用行程长度编码压缩方案,对 Opacity
字段使用 deflate 压缩方案。
import matlab.io.hdfeos.* gfid = gd.open('myfile.hdf','create'); gridID = gd.create(gfid,'PolarGrid',100,100,[],[]); projparm = zeros(1,13); projparm(6) = 90000000; gd.defProj(gridID,'ps',[],'WGS 84',projparm); dims = { 'XDim', 'YDim' }; gd.defComp(gridID,'rle'); gd.defField(gridID,'Pressure',dims,'float'); gd.defComp(gridID,'deflate',5); gd.defField(gridID,'Opacity',dims,'float'); gd.detach(gridID); gd.close(gfid);