matlab.io.hdfeos.gd.defComp
네임스페이스: matlab.io.hdfeos.gd
그리드 필드 압축(Grid Field Compression) 설정
구문
defComp(gridID,compscheme,compparm)
설명
defComp(gridID,compscheme,compparm)
은 이후의 필드 정의에 대해 HDF 필드 압축을 설정합니다. 이 압축 방식은 1차원 필드에는 적용되지 않습니다. compscheme
은 다음 값 중 하나일 수 있습니다.
'rle' | 반복 길이 부호화(Run-length Encoding) |
'skphuff' | 허프만 건너 뛰기(Skipping Huffman) |
'deflate' | Gzip deflate |
'none' | 무압축 |
압축 방식이 'deflate'
인 경우 compparm
은 Deflate 압축 수준으로, 0과 9 사이의 정수입니다. 다른 압축 방식에 대해서는 compparm
을 생략할 수 있습니다.
압축을 사용하여 필드를 정의하는 경우 gd.writeField
를 한 번 호출하여 기록해야 합니다. 이렇게 할 수 없으면 타일화를 사용하는 것을 고려해 볼 수 있습니다.
이 함수는 HDF-EOS 라이브러리 C API의 GDdefcomp
함수에 대응합니다.
예제
반복 길이 부호화(Run-length Encoding)를 사용하여 극심 입체(Polar Stereographic) 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);