grdsample
- 官方文档:
- 简介:
对网格文件做重采样
grdsample 模块读取一个网格文件,并对其做插值以生成一个新的网格文件。 新旧网格文件可能的区别在于:
不同的配准方式(-r 或 -T)
不同的网格间隔或网格节点数(-I)
不同的网格范围(-R)
网格文件插值方式有多种,默认使用 bicubic 插值,可以使用 -n 选项设置其它插值方式。 该模块可以安全地将粗网格插值为细网格;反之,将细网格插值为粗网格时,则可能 存在混叠效应,因而需要在插值前使用 grdfft 或 grdfilter 对网格文件做滤波。
若省略 -R 选项,则输出网格与输入网格的区域范围相同;若省略 -I 选项, 则输出网格间距与输入网格间距相同。-r 和 -T 均可用于修改网格配准方式。 若省略这两个选项,则输出网格的配准方式与输入网格相同。
语法
gmt grdsample in_grdfile -Gout_grdfile [ -Iincrement ] [ -Rregion ] [ -T ] [ -V[level] ] [ -fflags ] [ -nflags ] [ -rreg ] [ -x[[-]n] ] [ --PAR=value ]
必选选项
- in_grdfile
要重采样的2D网格文件
- -Gout_grdfile
输出的网格文件名
可选选项
- -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 …)
指定数据范围
- -T
交换网格文件的配准方式。即若输入是网格线配准,则输出为像素点配准;若输入 是像素点配准,则输出为网格线配准。注意,转换配准方式会导致高频信息的丢失, 详情见 网格配准。
- -V[level] (more …)
设置 verbose 等级 [w]
- -f[i|o]colinfo (more …)
指定输入或输出列的数据类型
- -n[b|c|l|n][+a][+bBC][+c][+tthreshold] (more …)
设置网格文件的插值方式
- -r[g|p] (more …)
设置网格配置方式 [默认为网格线配准]
- -x[[-]n] (more …)
限制多核算法中能使用的核数(需要GMT开启OpenMP支持)
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数
注意事项
网格插值过程中可能会导致插值后的值出现失真或意外值。例如,使用样条插值可能会导致 插值后的数据的最大最小值超过原始数据的最大最小值。若这一结果不可接受,可以通过 给 -n 选项加上 +c 以对超过原始数据最值的部分做裁剪。
若某个插值点不在输入数据的网格节点上,则插值时若该节点周围的节点值为NaN,则 该节点的值也会被插值为NaN。默认的bicubic插值算法会生成连续的一阶导数但需要 周围4x4个节点。bilinear插值算法只需要周围的2x2个节点,但其只是零阶连续。 若光滑性很重要,则使用bicubic算法;若需要尽量避免NaN值的传播,则使用bilinear算法。
除了插值之外,还可以使用 grd2xyz 将网格数据转换为表数据,然后 将输出交给 surface 或 greenspline 重新网格化。
示例
将5x5分的数据采样成1x1分:
gmt grdsample @earth_relief_05m -R0/20/0/20 -I1m -Gtopo_1m.nc
将网格线配准的网格文件修改为像素配准的网格文件:
gmt grdsample @earth_relief_05m -T -Gpixel.nc
参考文献
Marks, K. M., and W. H. F. Smith, 2007, Some remarks on resolving seamounts in satellite gravity, Geophys. Res. Lett., 34 (L03307), https://doi.org/10.1029/2006GL028857.