Main Content

matlab.io.hdfeos.gd.setTileComp

命名空间: matlab.io.hdfeos.gd

为具有填充值的字段设置平铺和压缩

语法

setTileComp(gridID,fieldname,tilesize,compCode,compParm)

说明

setTileComp(gridID,fieldname,tilesize,compCode,compParm) 为具有填充值的字段设置平铺和压缩。此函数必须用在 gd.defFieldgd.setFillValue 之后。compCode 参量可以是以下值之一。

'rle'行程长度编码
'skphuff'跳过霍夫曼
'deflate'Deflate
'none'无压缩

只有在压缩方案为 compParm 时,才需要指定 'deflate',该值必须是介于 0 到 9 之间的一个整数。

此函数对应于 HDF-EOS 库 C API 中的 GDsettilecomp 函数,但因为 MATLAB® 采用 FORTRAN 样式排序方法,所以 tilesize 参数与 C 库 API 相反。

示例

定义一个使用 2×2 图块分割方案的温度字段,填充值为 -999,压缩方案为 deflate 压缩。

import matlab.io.hdfeos.*
gfid = gd.open('myfile.hdf','create');
upleft = [210584.50041 3322395.95445];
lowright = [813931.10959 2214162.53278];
gridID = gd.create(gfid,'UTMGrid',120,200,upleft,lowright);
spherecode = 0; zonecode = 40;
projparm = zeros(1,13);
gd.defProj(gridID,'utm',zonecode,spherecode,projparm);
gd.defDim(gridID,'Time',10);
gd.defField(gridID,'Pollution',{'XDim','YDim','Time'},'float');
gd.setFillValue(gridID,'Pollution',single(7));
gd.setTileComp(gridID,'Pollution',[40 20 1],'deflate',5);
gd.detach(gridID);
gd.close(gfid);

另请参阅

|