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

# grdconvert

官方文档:

  grdconvert

简介:

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

## 语法

gmt grdconvert ingrdfile `-G` outgrdfile [ `-N` ] [ `-R` region ] [ `-V`[level] ] [ `-Z`[+s factor][+o offset] ] [ `-f` flags ] [ --PAR=value ]

## 输入数据

ingrid[=ID|?varname][+b band][+d divisor][+n invalid][+o offset][+s scale]

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

## 必须选项

-G

-G outgrid[=ID][+d divisor][+n invalid][+o offset|a][+s scale|a][:driver[dataType][+c options]]

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

## 可选选项

-N

-N

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

-R

-R xmin/xmax/ymin/ymax[+r][+u unit]

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

-V

-V[level]

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

-Z

-Z[+s factor][+o offset]

  在写网格文件前，从数据中减去 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