Пакет: matlab.io.hdfeos.gd
Установите плиточное размещение и сжатие для поля со значением заливки
setTileComp(gridID,fieldname,tilesize,compCode,compParm)
setTileComp(gridID,fieldname,tilesize,compCode,compParm)
устанавливает плиточное размещение и сжатие для поля, которое имело значение заливки. Эта функция должна быть применена после gd.defField
и gd.setFillValue
. compCode
аргумент может быть одним из следующих значений.
'rle' | Кодирование по длинам серий |
'skphuff' | Пропуск Хаффмана |
'deflate' | Выкачать |
'none' | Никакое сжатие |
compParm
потребность только быть заданным, когда схемой сжатия является 'deflate'
, и затем должно быть целое число между 0 и 9.
Эта функция соответствует GDsettilecomp
функция в API библиотеки HDF-EOS C, но потому что MATLAB® использует упорядоченное расположение FORTRAN-style, tilesize
параметр инвертируется относительно Library API C.
Задайте температурное поле со схемой плиточного размещения 2 на 2, значением заливки-999, и выкачайте сжатие.
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);