✍️ 田冬冬 , 朱邓达 , 陈箫翰  •  📅 2025-06-11

grdconvert

官方文档:

grdconvert

简介:

将网格文件转换为其它网格文件格式

语法

gmt grdconvert ingrdfile -Goutgrdfile [ -N ] [ -Rregion ] [ -V[level] ] [ -Z[+sfactor][+ooffset] ] [ -fflags ] [ --PAR=value ]

输入数据

ingrid[=ID|?varname][+bband][+ddivisor][+ninvalid][+ooffset][+sscale]

输入网格名。通过追加 =ID 可指定 网格格式 [默认为 =nf]。 追加 ?varname 可指定 NetCDF 变量 [默认为 GMT 找到的第一个 2-D 网格]。 参数详细介绍请参考 读 netCDF 文件

必须选项

-G

-Goutgrid[=ID][+ddivisor][+ninvalid][+ooffset|a][+sscale|a][:driver[dataType][+coptions]]

输出网格文件名。通过追加 =ID 可指定 网格格式。 参数详细介绍请参考 写 netCDF 文件

可选选项

-N
-N

在生成native二进制文件时,不将GMT网格文件头段写到文件中。

-R
-Rxmin/xmax/ymin/ymax[+r][+uunit]

指定数据范围。 (参数详细介绍)

-V
-V[level]

设置 verbose 等级 [w]。 (参数详细介绍)

-Z
-Z[+sfactor][+ooffset]

在写网格文件前,从数据中减去 offset 并将结果乘以 factor

注意:该选项功能与 +s+o 子选项的功能不同。 使用 +s+o 子选项,数据也会进行缩放和偏移,修改后的数据会被写入到 网格文件中,但同时缩放因子和偏移量会写入到网格文件的元信息中。因而,在读取 这些新生成的网格时,会自动根据元信息中的值恢复数据的原始值。 而使用该选项则永久修改了网格文件中的数据值。

-f
-f[i|o]colinfo

显式指定当前输入或输出数据中每一列的数据类型。 (参数详细介绍)

-^-

显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -

-++

显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明

-? 或无参数

显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明

--PAR=value

临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数

注意事项

GMT默认只能读取并处理2D单变量网格。对于多变量、多维度网格文件,需要使用额外的语法 指定要读取的变量或维度,详情见 读 netCDF 文件

网格值精度

不管输入数据的精度如何,创建网格文件的 GMT 程序将在内部以 4 字节浮点数组的形式保存网格。 这样做是为了节省内存,而且大多数实际数据都可以使用 4 字节浮点值存储。 具有更高精度的数据(即双精度值)将在 GMT 操作网格或写入新网格时失去该精度。 为了限制处理数据时的精度损失,用户应该始终考虑在处理之前对数据进行归一化。

示例

从一个含有红绿蓝三个波段数据的tif文件中分别抽出三个波段的数据:

gmt grdconvert map.tif+b0 -Gred.nc
gmt grdconvert map.tif+b1 -Ggreen.nc
gmt grdconvert map.tif+b2 -Gblue.nc

将网格文件转换成四字节native浮点型网格:

gmt grdconvert data.nc ras_data.b4=bf -V

将网格文件转换成二字节短整型文件,将其乘以10并减去32000,并设置无数据节点的值为-9999:

gmt grdconvert values.nc shorts.i2=bs/10/-32000/-9999 -V

从一个三维网格文件中提取第二层数据:

gmt grdconvert climate.nc?temp[1] temp.nc -V

相关模块

grdmath