clip

官方文档:

clip

简介:

打开或关闭多边形裁剪路径

该模块会从输入文件中读取XY数据,由此构成一个或多个多边形,进而构建出一个或 多个裁剪路径。接下来的所有绘图命令中,只有在多边形内部的部分才会被绘制。

为了判断某个点是在裁剪区域内还是在裁剪区域外,clip使用了“奇偶规则”。从任意 一点绘制一条任意方向的射线,若该射线穿过裁剪路径线段奇数次,则该点位于裁剪 区域内;若穿过偶数次,则该点位于裁剪区域外。-N 选项可以颠倒内外的定义。

最后,记得再次调用 gmt clip -C 以关闭裁剪区域。

语法

gmt clip [ table ] -Jparameters -C[n] -Rwest/east/south/north[/zmin/zmax][+r][+uunit] [ -A[m|p|x|y] ] [ -B[p|s]parameters ] -Jz|Zparameters ] [ -N ] [ -T ] [ -U[stamp] ] [ -V[level] ] [ -W[pen] ] [ -X[a|c|f|r][xshift] ] [ -Y[a|c|f|r][yshift] ] [ -bibinary ] [ -dinodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -ggaps ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -ttransp ] [ -:[i|o] ] [ --PAR=value ]

必选选项

-C[n]

结束当前裁剪路径。

默认会关闭所有已开启的裁剪路径。使用 -Cn 则仅关闭当前所有处于激活状态下的 裁剪路径中的其中 n 个。

若在开启裁剪后有使用 -X-Y 移动过坐标原点,则在关闭裁剪路径时也需要 使用 -X-Y 选项。

-Jprojection (more …)

设置地图投影方式

-Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)

指定数据范围

对于三维透视图(-p 选项) ,可以加上 /zmin/zmax 指定Z轴的范围。

可选选项

table

一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。

-A[m|p|x|y]

修改两点间的连接方式

地理投影下,两点之间默认沿着大圆弧连接。

  • -A:忽略当前的投影方式,直接用直线连接两点

  • -Am:先沿着经线画,再沿着纬线画

  • -Ap:先沿着纬线画,再沿着经线画

笛卡尔坐标下,两点之间默认用直线连接。

  • -Ax 先沿着X轴画,再沿着Y轴画

  • -Ay 先沿着Y轴画,再沿着X轴画

-Bparameters (more …)

设置底图边框和轴属性

-N

反转“区域内”和“区域外”的概念,即只有在多边形外的部分才是裁剪区域,绘图时 只有在多边形外的才会被绘制。该选项不能与 -B 选项连用。

-T

不需要任何输入数据。根据 -R 选项将整个地图区域裁剪出来, 该选项不能与 -B 选项连用。

-U[label][+c][+jjust][+odx/dy] (more …)

在图上绘制GMT时间戳logo

-V[level] (more …)

设置 verbose 等级 [w]

-Wpen

绘制裁剪路径的轮廓 [默认不绘制]

-X[a|c|f|r][xshift[u]]

-Y[a|c|f|r][yshift[u]] (more …)

移动绘图原点

-bi[ncols][type][w][+l|b] (more …)

设置二进制输入数据的格式

-dinodata (more …)

将输入数据中值为 nodata 的列替换为 NaN

-e[~]“pattern” | -e[~]/regexp/[i] (more …)

筛选或剔除匹配指定模式的数据记录

-f[i|o]colinfo (more …)

指定输入或输出列的数据类型

-g[a]x|y|d|X|Y|D|[col]zgap[+n|p] (more …)

确定数据或线段的间断

-h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle] (more …)

跳过或生成指定数目的头段记录

-icols[+l][+sscale][+ooffset][,][,t[word]] (more …)

设置输入数据列及简单变换(0表示第一列,t 表示文本列)

-p[x|y|z]azim[/elev[/zlevel]][+wlon0/lat0[/z0]][+vx0/y0] (more …)

设置3D透视视角

-t[transp] (more …)

设置图层透明度(百分比)。取值范围为0(不透明)到100(全透明)

-:[i|o] (more …)

交换输入或输出中的第一和第二列

-^-

显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -

-++

显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明

-? 或无参数

显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明

--PAR=value

临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数

示例

gmt begin example
# 打开裁剪路径
gmt clip -R0/6/0/6 -Jx2.5c -W1p,blue << EOF
0 0
5 1
5 5
EOF
# 其他绘图命令
gmt plot @tut_data.txt -Gred -Sc2c
# 关闭裁剪路径
gmt clip -C -B
gmt end show

限制作图范围,仅在指定范围内对陆地填色

gmt begin example2
   gmt basemap -Rg -JG120/30N/10c -Bg
   gmt coast -Gbrown -Wfaint
   # 创建多边形边界数据文件,按逆时针顺序给出各个顶点坐标
   echo 74 4 > tmp.txt
   echo 135 4 >> tmp.txt
   echo 135 53 >> tmp.txt
   echo 74 53 >> tmp.txt
   # 打开裁剪
   gmt clip tmp.txt
   # 画图命令仅在多边形范围内有效:只对范围内陆地填色
   gmt coast -Gbisque
   # 关闭裁剪路径
   gmt clip -C
   # 绘制边界轮廓
   gmt plot tmp.txt -W2p,blue -L
gmt end show
../../_images/7f70c36326b72a3a140e1465b8dd8396.png

相关模块

basemap, grdmask, mask