grdmask
- 官方文档:
- 简介:
根据多边形数据或点数据创建mask网格文件
必选选项
<pathfiles>
一个或多个ASCII数据文件,其中包含了多边形或数据点
-G<mask_grd_file>
生成的mask网格文件的文件名
- -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 覆盖相应的值
可选选项
-A[m|p|x|y]
控制两点之间的连接方式,见 plot 命令中对
-A
选项的介绍-N[z|Z|p|P]<values>
设置位于多边形外部、边界和内部的节点值,默认值为
0/0/1
,即多边形内部节点值为1,其他节点值为0。<values>
的形式为<out>/<edge>/<in>
,可以是任意数值,也可以是NaN。-Nz
将多边形内的节点设置为从多段数据的段头记录中获取的Z值,比如多边形段头记录中的-Z<zval>
、-L<header>
或-aZ=<name>
-NZ
与-Nz
类似,只是其会将多边形的边界也当做是多边形的内部-Np
使用一个从0递增的数字作为多边形的ID,也可以在其后加上一个数字以指定序列的起始值-NP
与-Np
类似,只是其会将多边形的边界当做多边形的内部
需要注意,
-Nz|Z|p|P
不能与-S
连用。-S<search_radius>[<unit>]
对所有数据点设置一个搜索半径,设置圆内、圆边界、圆外部的节点值。
若
<search_radius>
为z
,则取输入数据的第三列作为半径。对于地理数据而言,可以在-Sz
后加上距离单位。若未使用
-S
选项,则认为输入数据是一个或多个闭合多边形。
注意事项
grdlandmask
生成的网格文件属于 分类型 数据,即所有数据只能取几个固定的值,比如 -N0/1
会将水域内的网格值设置为0,将陆地内的网格值设置为1。在这种情况下,对这种数据用标准方法(比如样条)进行插值通常会得到无意义的结果,使用时需要小心。
然而,当你使用该网格文件绘制地图时,网格数据会被重新投影使得在投影后的坐标下变成一个矩形。这个过程中涉及到了网格插值,默认使用的插值算法是样条插值,因而可能会在图中产生假象。因而建议在使用 grdimage
绘制此类数据时使用 -nn
选项即 nearest neighbor 插值算法以避免这一问题。
示例
多边形内和边界上的节点值为0,外部值为1:
gmt grdmask coastline_*.xy -R-60/-40/-40/-30 -I5m -N1/0/0 -Gland_mask.nc=nb -V
数据点周围50千米范围的节点值为1,其余为NaN:
gmt grdmask data.xyz -R-60/-40/-40/-30 -I5m -NNaN/1/1 -S50k -Gdata_mask.nc=nb -V
将多边形的ID作为多边形内部节点的值:
gmt grdmask plates.gmt -R-40/40/-40/40 -I2m -Nz -Gplate_IDs.nc=ns -aZ=POL_ID -V
将多边形的ID作为多边形内部节点的值,但多边形ID从100开始:
gmt grdmask plates.gmt -R-40/40/-40/40 -I2m -Np100 -Gplate_IDs.nc=ns -V