grdmask¶
官方文档: | grdmask |
---|---|
简介: | 根据多边形数据或点数据创建mask网格文件 |
必选选项¶
<pathfiles>
- 一个或多个ASCII数据文件,其中包含了多边形或数据点
-G<mask_grd_file>
- 生成的mask网格文件的文件名
- -Ixinc[unit][+e|n][/yinc[unit][+e|n]]
指定X和Y方向的网格间隔
- xinc X方向的网格间隔
- yinc Y方向的网格间隔
- unit 网格间隔的单位。对于地理坐标系而言默认值为度,也可设置为其他距离单位
- +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