✍️ 田冬冬 , 陈箫翰  •  📅 2025-12-30

clip

官方文档:

clip

简介:

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

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

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

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

语法

gmt clip [ table ] -C[n] -Jparameters [ -Jz|Zparameters ] -Rwest/east/south/north[/zmin/zmax][+r][+uunit] [ -A[m|p|x|y] ] [ -B[p|s]parameters ] [ -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 ] [ -qiflags ] [ -ttransp ] [ -:[i|o] ] [ --PAR=value ]

输入数据

table

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

必须选项

-C
-C[n]

结束当前裁剪路径。

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

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

-J
-Jprojection

设置地图投影方式。 (参数详细介绍)

-Jz|Z
-Jz|Zparameters

绘制三维图时,设置垂直方向 Z 轴的线性投影尺度。 参数用法与 -Jx|X 相同。

-R
-Rwest/east/south/north[/zmin/zmax][+r][+uunit]

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

可选选项

-A
-A[m|p|x|y]

修改两点间的连接方式

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

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

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

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

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

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

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

-B
-Bparameters

设置底图边框和轴属性。 (参数详细介绍)

-N
-N

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

-T
-T

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

-U
-U[label][+c][+jjust][+odx/dy]

在图上绘制GMT时间戳logo。 (参数详细介绍)

-V
-V[level]

设置 verbose 等级 [w]。 (参数详细介绍)

-W
-Wpen

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

-X
-Y

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

-Y[a|c|f|r][yshift[u]]

移动绘图原点。 (参数详细介绍)

-bi
-bi[ncols][type][w][+l|b]

控制二进制文件的输入格式。 (参数详细介绍)

-di
-dinodata

将输入数据某些特定值当作NaN。 (参数详细介绍)

-e
-e[~]“pattern” | -e[~]/regexp/[i]

筛选或剔除匹配指定模式的数据记录。 (参数详细介绍)

-f
-f[i|o]colinfo

显式指定当前输入或输出数据中每一列的数据类型。 (参数详细介绍)

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

确定数据或线段的间断。 (参数详细介绍)

-h
-h[i|o][n][+c][+d][+msegheader][+rremark][+ttitle]

在读/写数据时跳过文件开头的若干个记录。 (参数详细介绍)

-i
-icols[+l][+sscale][+ooffset][,][,t[word]]

对输入的数据进行列选择以及简单的代数运算。 (参数详细介绍)

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

设置3D透视视角。 (参数详细介绍)

-qi
-qi[~]rows[+ccol][+a|f|s]

筛选输入的行或数据范围。 (参数详细介绍)

-t
-t[transp]

设置图层透明度(百分比)。取值范围为0(不透明)到100(全透明)。 (参数详细介绍)

-:
-:[i|o]

交换输入或输出数据的前两列。 (参数详细介绍)

-^-

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

-++

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

-? 或无参数

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

--PAR=value

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

示例

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

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