grdblend

官方文档

grdblend

简介

将多个部分重叠的网格文件合并成一个网格文件

grdblend 模块会读取多个网格文件以及一个合并参数文件,并将多个网格文件合并成一个网格文件。

合并过程中会遇到如下几种情况:

  • 某个节点只有一个值:使用该值填充该节点

  • 某个节点有多个值:对多个值计算其权重均值并赋值给该节点

  • 某个节点没有值:该节点的值由 -N 选项控制,默认为NaN

输入网格数据中,若网格节点配准方式或网格间隔与输出数据不同,则会自动调用 grdsample 对这些网格数据进行重采样。

语法

gmt grdblend [ blendfile | grid1 grid2 … ] -Goutgrid -Iincrement -Rregion [ -Cf|l|o|u[+n|p] ] [ -Nnodata ] [ -Q ] [ -Zscale ] [ -V[level] ] [ -W[z] ] [ -fflags ] [ -nflags ] [ -rreg ] [ --PAR=value ]

必选选项

grid1 grid2

要合并的网格文件

-Goutgrid

输出的网格文件名

-Ixinc[unit][+e|n][/yinc[unit][+e|n]]

指定X和Y方向的网格间隔

  • xinc X方向的网格间隔

  • yinc Y方向的网格间隔

  • unit 网格间隔的单位。对于地理坐标系而言默认值为度,也可设置为其他距离单位

  • +e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调网格间隔以适应给定的数据范围)

  • +n 表明 xincyinc 不是网格间隔,而是X和Y方向的节点数。此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。

注意:

  • yinc 设置为0,则表示其与 xinc 相同

  • 若使用 -Rgrdfile 选项,则网格间隔和配准方式已经根据网格文件自动初始化,此时依然可以使用 -I-r 覆盖相应的值

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

指定数据范围

可选选项

blendfile

合并参数文件。

文件中包含了要合并的网格文件的文件名列表,其格式为:

网格文件名(必须)  -R选项(可选)  相对权重(可选)
  • 在考虑权重的情况下,-R 范围外的部分会给零权重,-R 范围内的部分则会使用指定的相对权重,在边界处会加上2D余弦taper权重。

  • 若相对权重为负值,则整个反过来,即范围内的会给零权重,范围外的会给权重的绝对值。

  • -R 选项可以取值 -,此时会直接使用该网格文件的数据范围。

  • 若未指定权重,则默认权重为1

  • 也可以不指定 blendfile 而只将所有网格文件名列在命令行中,此时会使用网格数据的真实范围,且所有网格文件的权重都是1

-Cf|l|o|u[+n|p]

合并网格文件时,若多个网格出现重叠,则忽略权重并按照下面的规则设置重叠区域的值:

  • -Cf 将第一个访问该节点的网格数据作为该节点的值

  • -Co 将最后一个访问该节点的网格数据作为该节点的值

  • -Cl 将所有网格文件在该节点的值的最小值作为该节点的值

  • -Cu 将所有网格文件在该节点的值的最大值作为该节点的值

对于 -Cf-Co 而言,网格文件的顺序决定了这些节点的值。在这种模式下,权重和余弦tapering会被忽略。

使用 +n+p 则首先将网格节点值初始化为第一个网格文件的值,对于接下来的其它网格文件,仅当其值小于等于0或大于等于0时才考虑是否更新该节点的值。

-Nnodata

将无数据的节点的值设置为 nodata,默认值为NaN

-Q

创建一个无头段的二进制网格文件(非netCDF格式)以供其它程序使用

-V[level] (more …)

设置 verbose 等级 [w]

-W[z]

不合并数据,仅输出每个节点所使用的权重。

-Wz 表示输出 Z 值乘以权重的和。

-Zscale

在输出前先将数据乘以比例因子 scale,默认值为 1

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

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

-n[b|c|l|n][+a][+bBC][+c][+tthreshold] (more …)

设置网格文件的插值方式

-r[g|p] (more …)

设置网格配置方式 [默认为网格线配准]

-^-

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

-++

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

-? 或无参数

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

--PAR=value

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

示例

假设要合并几个网格文件,则可以设置合并参数文件 blend.job 的内容为:

piece_1.nc -R0/30/-90/90 1
piece_2.nc -R25/50/-90/90 1.5
piece_3.nc -R45/80/-90/90 0.9
piece_4.nc -R80/160/-90/90 1

执行如下命令即可实现数据合并:

gmt grdblend blend.job -Gblend.nc -R0/160/-90/90 -I1m/1m -V

将所有网格文件 MB_*.nc 以相同权重合并:

gmt grdblend MB_*.nc -Gblend.nc -R0/360/-90/90 -I1m/1m -V