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' | スキッピング ハフマン |
'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);