matlab.io.hdfeos.gd.setTileComp
네임스페이스: matlab.io.hdfeos.gd
채우기 값(Fill value)을 갖는 필드의 타일화와 압축 설정
구문
setTileComp(gridID,fieldname,tilesize,compCode,compParm)
설명
setTileComp(gridID,fieldname,tilesize,compCode,compParm)
은 채우기 값이 있는 필드의 타일화와 압축을 설정합니다. 이 함수는 gd.defField
와 gd.setFillValue
후에 적용해야 합니다. compCode
인수는 다음 값 중 하나일 수 있습니다.
'rle' | 반복 길이 부호화(Run-length Encoding) |
'skphuff' | 허프만 건너 뛰기(Skipping 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);