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