matlab.io.hdfeos.gd.setTileComp
包: matlab.io.hdfeos.gd
为具有填充值的字段设置平铺和压缩
语法
setTileComp(gridID,fieldname,tilesize,compCode,compParm)
说明
setTileComp(gridID,fieldname,tilesize,compCode,compParm)
为具有填充值的字段设置平铺和压缩。此函数必须用在 gd.defField
和 gd.setFillValue
之后。compCode
参数可以是以下值之一。
'rle' | 行程长度编码 |
'skphuff' | 跳过 Huffman |
'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);