13.17 grdblend

官方文档:grdblend
简介:将多个部分重叠的网格文件合并成一个网格文件

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

13.17.1 必选选项

-G<outgrid>
输出的网格文件名
-I<xinc>[<unit>][+e|+n]/<yinc>[<unit>][+e|+n]

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

  • <xinc> X方向的网格间隔
  • <yinc> Y方向的网格间隔
  • <unit> 网格间隔的单位。对于地理坐标系而言默认值为度,可以设置单位为 m|s|e|f|k|M|n|u
  • +e 微调X和Y方向范围的最大值,使得其是网格间隔的整数倍(默认会微调网格间隔以适应给定的数据范围)
  • +n 表明 <xinc><yinc> 不是网格间隔,而是X和Y方向的节点数。此时会根据节点数、网格区域范围以及网格配准方式重新计算网格间隔。

注意:

  1. <yinc> 设置为0,则表示其与 <xinc> 相同
  2. 若使用 -R<grdfile> 选项,则网格网格已经根据网格文件自动初始化,此时依然可以使用 -I 覆盖网格文件中的间隔值
-R<west>/<east>/<south>/<north>
数据区域范围

13.17.2 可选选项

<grid1> <grid2>
要合并的网格文件列表
<blendfile>

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

网格文件名(必须)  -R选项(可选)  相对权重(可选)
  • 在考虑权重的情况下, -R 范围外的部分会给零权重,范围内的部分则会使用指定的相对权重,在边界处会加上2D余弦taper权重。
  • 若相对权重为负值,则整个反过来,即范围内的会给零权重,范围外的会给权重的绝对值。
  • -R选项可以取值 - ,此时会直接使用网格文件的数据范围。
  • 若未指定权重,则默认权重为1
  • 也可以不指定 <blendfile> ,只是将所有网格文件名列在命令行中,此时会使用网格数据的真实范围,且所有网格文件的权重都是1.
-C[f|l|o|u]

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

  • -Cf 将第一个访问该节点的网格数据作为该节点的值
  • -Co 将最后一个访问该节点的网格数据作为该节点的值
  • -Cl 将所有网格文件在该节点的值的最小值作为该节点的值
  • -Cu 将所有网格文件在该节点的值的最大值作为该节点的值
-N<nodata>
将无数据的节点的值设置为 <nodata> ,默认值为NaN
-Q
创建一个无头段的二进制网格文件,使得其可以被 grdraster 所用。
-W[z]
不合并数据,仅输出每个节点所使用的权重。 -Wz 表示输出 Z值乘以权重的和。
-Z<scale>
在输出前先将数据乘以比例因子 <scale> ,默认值为 1

13.17.3 示例

假设要合并几个网格文件,则可以设置 blendfile 的内容为:

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