Main Content

matlab.io.hdfeos.gd.defComp

名前空間: matlab.io.hdfeos.gd

グリッド フィールド圧縮の設定

構文

defComp(gridID,compscheme,compparm)

説明

defComp(gridID,compscheme,compparm) は、後続のフィールド定義に対して HDF フィールド圧縮を設定します。圧縮方式は 1 次元フィールドには適用されません。compscheme は次の値のいずれかです。

'rle'連長圧縮
'skphuff'スキッピング ハフマン
'deflate'Gzip deflate
'none'圧縮なし

圧縮方式が 'deflate' の場合、compparm は、deflate 圧縮レベル (0 ~ 9 の整数) です。その他の圧縮方式では、compparm を省略することができます。

フィールドが圧縮を指定して定義される場合、gd.writeField の 1 回の呼び出しで書き込まれなければなりません。それが不可能な場合は、タイル配置の使用を検討してください。

この関数は、HDF-EOS ライブラリ C API の関数 GDdefcomp に相当します。

連長圧縮を使用して極心平射図法の Pressure フィールドのあるグリッドを作成し、次に deflate 圧縮を指定して Opacity フィールドを作成します。

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);