netcdf.defVarDeflate
定义 netCDF 变量的压缩参数
说明
示例
为 NetCDF 变量创建和设置压缩级别
此示例创建一个维度为 [1800 3600]
且压缩级别为 5
的变量。结果是 10
×10
网格的分块布局。使用 netcdf.defVarChunking
函数定义您自己的分块方式,否则 netcdf.defVarDeflate
将使用默认库值。
ncid = netcdf.create("myfile.nc","NETCDF4"); latdimid = netcdf.defDim(ncid,"lat",1800); londimid = netcdf.defDim(ncid,"col",3600); varid = netcdf.defVar(ncid,"earthgrid","double",[latdimid londimid]); netcdf.defVarChunking(ncid,varid,"CHUNKED",[180 360]); netcdf.defVarDeflate(ncid,varid,true,true,5); netcdf.close(ncid);
输入参数
ncid
— 文件标识符
非负整数标量
由 netcdf.create
或 netcdf.open
返回的 netCDF 文件标识符,或者由 netcdf.defGrp
返回的 netCDF 组标识符,指定为非负整数标量。
数据类型: double
varid
— NetCDF 变量标识符
非负整数标量
NetCDF 变量标识符,指定为非负整数标量。变量标识符由 netcdf.defVar
函数返回。
数据类型: double
varid
— 变量标识符
非负整数标量
netCDF 变量的标识符,由 netcdf.defVar
返回,指定为非负整数标量。
数据类型: double
shuffle
— Shuffle 过滤器的状态
false
或 0
| true
或 1
Shuffle 过滤器的状态,指定为数值或逻辑值 0
(false
) 或 1
(true
)。值 false
表示禁用 Shuffle 过滤器,true
表示启用它。shuffle 过滤器通过改变数据流中的字节顺序来辅助整型数据的压缩。如果 varid
引用类型为 NC_STRING
或 NC_VLEN
的变量,则无法将 shuffle
设置为 true
。
数据类型: logical
deflate
— Deflate 过滤器的状态
false
或 0
| true
或 1
Deflate 过滤器的状态,指定为数值或逻辑值 0
(false
) 或 1
(true
)。将 deflate
指定为 true
以启用压缩,然后将 deflateLevel
指定为预期的正压缩级别。将 deflate
指定为 false
以禁用压缩。如果将 deflateLevel
指定为 0
,则 deflate
的值会自动设置为 false
。
数据类型: logical
deflateLevel
— 压缩的级别
介于 0
和 9
之间的整数标量值
压缩级别,指定为 0
和 9
之间的整数标量值。值 0
表示没有压缩,等效于将 deflate
的值指定为 false
。值 1
表示最小压缩,值 9
表示最大压缩。如果 deflate
是 false
,则忽略 deflateLevel
值。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
局限性
如果
varid
引用类型为NC_STRING
或NC_VLEN
的变量,则无法将deflate
设置为true
和将deflateLevel
设置为正值。
提示
此函数对应于 netCDF 库 C API 中的
nc_def_var_deflate
函数。
版本历史记录
在 R2010b 中推出R2023b: 将 deflateLevel
设置为 0
会禁用 deflate 过滤器
将压缩级别设置为零会禁用 deflate 过滤器。先前,deflate 过滤器可以在压缩级别为零的情况下启用。
R2023b: 仅对固定长度的数据类型使用压缩和 Shuffle 过滤器
压缩和 shuffle 过滤器只能用于固定长度的数据类型,如果应用于 NC_STRING
或 NC_VLEN
类型的变量,则会生成错误。先前,如果您为 NC_STRING
或 NC_VLEN
变量指定压缩或 Shuffle 过滤器,则该设定不起作用。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)