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 网格]。 对网格追加子选项可进行额外设置:

  • +b 选取一个波段 band(仅用于图片)[默认为 0]

  • +d 将网格除以一个数 divisor [默认为 1]

  • +n 将网格中的 invalid 替换为 NaN

  • +o 将网格中的值进行一定的偏移,即加一个数 offset [默认为 0]

  • +s 将网格中的值缩放,即乘以 scale [默认为 1]

offset 操作位于 scale 之前。

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

输出网格文件名。通过追加 =ID 可指定 网格格式。 对网格追加子选项可进行额外设置:

  • +d 将网格除以一个数 divisor [默认为 1]

  • +n 将网格中的 invalid 替换为 NaN

  • +o 将网格中的值进行一定的偏移,即加一个数 offset,或使用 a 自动对值 进行调整以保证整数网格的精度 [默认为 0]

  • +s 将网格中的值缩放,即乘以 scale,或使用 a 自动对网格缩放以保证整数 网格的精度 [默认为 1]

offset 操作位于 scale 之前;+sa 将会同时设置 +oa。如果需 使用 GDAL 指定网格格式,则 ID 应设置为 gd,并指定 :driver 和可选的数据 类型 dataType,以及 +coptions 选项传递给 GDAL 的 -co 选项。

可选选项

-N

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

-Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)

指定数据范围。

-V[level] (more …)

设置 verbose 等级 [w]

-Z[+sfactor][+ooffset]

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

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

-f[i|o]colinfo (more …)

指定输入或输出列的数据类型

-^-

显示简短的帮助信息,包括模块简介和基本语法信息(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