grdconvert

官方文档:

grdconvert

简介:

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

语法

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

必选选项

ingrdfile[=id|?varname][+bband][+ddivisor][+ninvalid][+ooffset][+sscale]

要读入的网格文件。

若读入的网格文件不是标准的netCDF格式文件,则需要加上 =id 以指定网格文件格式。如果是多变量网格文件,需加上 ?varname 指定某个变量(见 网格文件格式)。此外,

  • +bband 指定抽取出某个波段,编号 band 从0开始计数

  • +ddivisor 将数据除以 divisor

  • +sscale 将数据乘以 scale

  • +ooffset 对数据做偏移,即将数据加上 offset

  • +ninvalid 数据中哪个值表示无效值

需要注意的是,在读入网格文件时,总是先进行乘除再偏移。

id=gd,则使用GDAL库检测数据格式并读入数据。实际上,当GMT遇到其无法识别的文件格式时,总是自动使用GDAL库读入数据,但可能会遇到问题,此时可以设置 id=gd强制使用GDAL库读取。

-Goutgrdfile[=id][+ddivisor][+ninvalid][+ooffset|a][+sscale|a][:driver[dataType][+coptions]]

要写入的网格文件。

若要写的网格文件格式不是标准的netCDF格式,则需要加上 =id 以指定网格文件格式(见 网格文件格式)。此外:

  • +ddivisor 将数据除以 divisor

  • +sscale 将数据乘以 scale

  • +ooffset 对数据做偏移,即将数据加上 offset

  • +ninvalid 数据中哪个值表示无效值

需要注意的是,在写网格文件时,总是先偏移再乘除。若想要将数据以整型保存以减小文件大小,子选项 +s+o 经常会用到。此外,还可以使用 +sa+oa 让GMT自动选择合适的比例因子和偏移量以生成整型网格文件。

id= gd时,网格文件将使用GDAL库写入。此时可以进一步指定 driverdatatypedriver 由GDAL提供(如 netCDF, GTiff 等),datatype 则可以取 u8|u16|i16|u32|i32|float32,其中 iu 分别表示有符号和无符号整型。datatype 默认值为 float32

写网格文件时,可以考虑设置 IO_NC4_DEFLATION_LEVEL 以减小生成的文件大小,并进一步优化读写性能。

可选选项

-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 文件

示例

从一个含有红绿蓝三个波段数据的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