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[+e|n][/yinc[+e|n]]
指定X和Y方向的网格间隔
xinc 和 yinc 为 X 和 Y 方向的网格间隔。对于地理坐标,可以指定网格间隔单位 [默认单位为度]
+e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调网格间隔以适应给定的数据范围)
+n 表明 xinc 和 yinc 不是网格间隔,而是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