grdcontour

官方文档:

grdcontour

简介:

根据网格文件绘制等值线

语法

gmt grdcontour grid -Jparameters [ -A[n|contours][labelinfo] ] [ -B[p|s]parameters ] [ -Ccontours|cpt ] [ -Dtemplate ] [ -F[l|r] ] [ -G[d|f|n|l|L|x|X]params ] [ -Llow/high|n|N|P|p ] [ -N[cpt] ] [ -Q[n|length[unit]][+z] ] [ -Rwest/east/south/north[/zmin/zmax][+r][+uunit] ] [ -Ssmoothfactor ] [ -T[h|l][+a][+dgap[/length]][+l[labels]] ] [ -U[stamp] ] [ -V[level] ] [ -W[type]pen[+c[l|f]] ] [ -X[a|c|f|r][xshift] ] [ -Y[a|c|f|r][yshift] ] [ -Z[+oshift][+sfactor][+p] ] [ -bobinary ] [ -donodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -ho[n] ] [ -lflags ] [ -pflags ] [ -ttransp ] [ --PAR=value ]

描述

grdcontour 读取一个二维grid网格文件,并绘制等值线。或者将等值线的x、y、z位置保存到一个或多个输出文件(或标准输出),不绘制图像。

必选选项

grid

二维grid网格文件

-Jprojection (more …)

设置地图投影方式

可选选项

-A[n]|[contours][labelinfo]

-Acontours 设置标注间隔,如果在 -C 选项中指定标注间隔的话, 这里的设置会被覆盖。-An 则为不进行标注。也可以用 -A20,80,100 类似的用法,对指定的 等值线进行标注。如果只想要标注一条等值线,需要在末尾加上逗号,例如 -A20, ,这样 20 就不会被认为是标注间隔。 labelinfo 代表可以在最后追加下列额外选项:

+aangle

设置标注的旋转角度 angle 。也可以写成 +an 表示标注垂直于等值线。默认设置为 +ap 表示标注 平行于等值线。 +apu+apd 表示设置方向朝向山顶还是山底。

+cdx[/dy]

设置标签和文本框之间的间隙。后面加上 c|i|p 来指定单位或 % 来表示标签字体大小的百分比 [15%]。

+e

延迟标注。这用于基于文本构建裁剪路径,在该裁剪路径生效时放置其他图层, 使用 clip -C 关闭裁剪后再标注文本,这样使标注文本不被裁剪。 请注意,裁剪路径可能会截断没有文本重叠的其他区域。反复检查以确保得到预期的正确结果。 建议每次使用 +e 后,选择合适的位置手动运行 clip

+ffont

设置字体。默认会使用 FONT_ANNOT_PRIMARY 设定的字体,但字体大小会变成9p。

+g[color]

设置标注文本的背景颜色,默认使用 PS_PAGE_COLOR 颜色,不设置本项时标注文本的背景是透明的。

+i

隐藏等值线(默认绘制等值线)。如果你只想看标注而非等值线,可以使用它。

+j[just]

设置标注相对于等值线中点的对齐方式,默认使用 MC

+ndx[/dy]

设置标注位置的偏移,后面加上 c|i|p 来指定单位。偏移增量设定在由等值线方向定义的坐标系中 (沿等值线方向为 x ,垂直等值线方向为 y)。 将 +n 改为 +N 则所有标注在整个绘图坐标系 x/y 中整体偏移。不能和 +v 一起使用。

+o

将文本框形状设置为圆角矩形。不能和 +v 一起使用。

+p[pen]

设置文本框轮廓的线型,不设置本项时无轮廓。默认宽度0.25p,颜色black,风格solid。

+rmin_rad

等值线的曲率半径小于 min_rad 处不作标注。默认 min_rad 设置为0。

+t[file]

将等值线标注文本的坐标 x,坐标 y,旋转角度 angle 和文本保存到文件 file。 默认文件名为Contour_labels.txt。

+uunit

在所有标注后面加上单位 unit ,默认无单位。如果设置为 z,则使用输入文件的z值单位。

+v

将标注文本顺着等值线弯曲。

+wn

指定使用多少个 (x,y) 点来估计标注旋转角度,默认由程序自动指定。

+=prefix

在所有标注前面加上前缀 prefix

-Bparameters (more …)

设置底图边框和轴属性

-Ccontours

指定绘制等值线的形式,具体说明如下:

  1. 如果 contours 是一个以 “.cpt” 结尾的文件名,GMT会查找对应的CPT文件, 把CPT文件中的颜色块的边界绘制为等值线,并进行标注。如果使用了 -An 选项则只绘制等值线不标注。

  2. 如果 contours 是一个不以 “.cpt” 结尾的文件名,GMT会读取其中的内容作为等值线设置。 每行为一条等值线的设置,以如下格式给出: contour-level [angle] C|c|A|a [pen],中括号表示可选项。 Cc 表示绘制等值线但不标注,而 Aa 表示绘制等值线并进行标注。 angle 设置标注的旋转角。 pen 设置等值线的线型。

  3. 如果 contours 是一串用逗号隔开的数字,例如 -C20,80,100 ,则绘制对应的等值线。 如果只想要绘制一条等值线,需要在末尾加上逗号,例如 -C20,

  4. 如果没有指定 contours ,则默认使用当前CPT文件。

  5. 如果 contours 是一个常数,则以这个常数为间隔绘制等值线。

如果 -C-A 都没有指定的话,则自动计算合适的间隔绘制标注等值线。

-Dtemplate

将等值线转存为线段文件,不绘制图像。后面可以加上C语言的 printf 函数 的格式说明符作为输出文件名模板。如果不指定文件名模板则全部打印到标准输出。如果文件名不含格式说明符则全部输出到 单个文件。

  • 如果有浮点数格式(e.g., %6.2f),其被替换为等值线的z值。

  • 如果有整数格式(e.g., %06d),其被替换为等值线的计数索引。

  • 如果有字符格式(%c),其被替换为 C 或 O ,分别代表闭合等值线和开放等值线。

这3个说明符可以任何顺序组合在一起,以定义输出的文件名。

例如,只给定 %c 则输出两个文件,只给定 %f 则等值线的每一级输出为一个文件,给定 %d 则每条等值线输出到独立文件中。

-F[l|r]

使用 -D 时,设置按顺序输出等值线的线段。 -Fl (默认值)表示沿着高z值在左侧的等值线方向, -Fr 表示沿着高z值在右侧的等值线方向,不使用 -F 则为任意方向。

警告

某些时候等值线图会出现标注数字消失不见的情况。这是由于数字被标注在绘图范围外所致。 这种情况应该使用下面的 -G 选项手动设置标注在等值线上的位置。

-Gddist[c|i|p] 或 -GDdist[d|e|f|k|m|M|n|s]

该选项控制标注在等值线上的位置。 使用小写的 d ,并指定标注之间的距离 dist 和单位 c (cm)、 i (inch)或 p (points)。 如果使用大写的 D,则表示距离 dist 是地图上的距离,单位也应该从以下几个地理距离单位中选择: e (m), f (foot), k (km), M (mile), n (nautical mile), u (US survey foot), d (arc degree), m (arc minute), s (arc second)。

-Llow/high|n|N|P|p

不绘制小于 low 大于 high 的等值线。 也可以设置为 -Ln 只绘制负值, 或 -Lp 只绘制正值。使用大写的 -LN-LP 表示包括0等值线。

-N[cpt]

指定 cpt 文件,对等值线之间的区域填充颜色。

-Q[n|length[unit]][+z]

不绘制少于 n 个点的等值线(默认绘制所有等值线)。或者,以距离 unit 为单位给出最小等值线长度 length , 其中 unit 可使用地理距离单位 d|m|s|e|f|k|M|n|u , 也可使用 c(用户坐标的笛卡尔距离)和 C(坐标投影后的笛卡尔距离)。可加上 +z 以去除零等值线。

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

指定数据范围

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

-Ssmoothfactor

网格尺寸/smoothfactor 间隔下重采样等值线。

-T[h|l][+a][+dgap[/length]][+l[labels]]

在最内层闭合等值线上每隔一段 gap 距离向着下降方向的刻度。 用户可以加上 hl 来选择分别只在极大值区域或极小值区域绘制。还支持以下选项:

  • +a - 对所有闭合等值线绘制刻度,而不只是最内层。

  • +d - 后面加上 gap[/length] 来设置刻度间的距离 gap 以及刻度线长度 length (可加上单位 cip),默认 15p/3p

  • +l - 在极小值和极大值区域中的最内层闭合等值线中心进行标注。 如果不设置 label 则使用 -+ 作为标注。如果正好为两个字符,例如 +lLH , 则极小值和极大值区域各取一个字符作为标注( LH )。 对于更复杂的标签,用逗号分隔字符串(例如,+llo,hi )。 如果使用 -C 给定了文件,且设置了 -T ,则只有被标记为大写字母 C 或 A 的等值线才会有刻度和极大极小值标注。 注意: 极大极小值标注有时可能在最内层等值线的外面, 因为仅使用了等值线坐标的平均值来确定标注坐标。

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

在图上绘制GMT时间戳logo

-V[level] (more …)

设置 verbose 等级 [w]

-W[type]pen[+c[l|f]] (more …)

设置等值线的线型。默认情况下,有标注的等值线线型 pen0.75p,black , 无标注的等值线线型 pen0.25p,black 。如果要设置有标注的等值线线型,type 应该设置为 a , 例如 -Wa1.75p,red 。无标注的等值线线型,type 应该设置为 c ,例如 -Wc1.25p,red 。 如果加上 +cl ,则使用 -C 选项所指定的CPT文件为不同的等值线设置颜色; 如果使用 +cf ,则为标注设置颜色; 使用 +c 则同时为等值线和标注设置颜色。

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

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

移动绘图原点

-Z[+oshift][+sfactor][+p]

在计算等值线之前,从数据中减去 shift 再乘以 factor (默认-o0+s1)。 在 -A-C-L中指定的值是缩放之后的。 后面加上 -p 表明网格数据的z值是360度周期循环的(例如相位数据,角度分布), 这要求零等值线必须特殊处理。

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

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

-donodata (more …)

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

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

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

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

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

-l[label][+Dpen][+Ggap][+Hheader][+L[code/]txt][+Ncols][+Ssize[/height]][+V[pen]][+ffont][+gfill][+jjust][+ooff][+ppen][+sscale][+wwidth] (more …)

为当前绘制的符号或线段增加一个自动图例记录

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

设置3D透视视角

-t[transp] (more …)

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

-^-

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

-++

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

-? 或无参数

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

--PAR=value

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

示例

使用网格文件AK_gulf_grav.nc,以25为间隔绘制等值线,以50为间隔标注,标注文字大小10p:

gmt grdcontour @AK_gulf_grav.nc -JM16c -C25 -A50+f10p -B -pdf alaska_grav1

只绘制50和150两条等值线,只标注100等值线:

gmt grdcontour @AK_gulf_grav.nc -JM16c -C50,150 -A100,+f10p -B -pdf alaska_grav2

以10为间隔绘制等值线,以50为间隔标注,设置图标题为”Gravity Anomalies”。 将有标注的等值线设置为粗红线,将无标注的等值线设置为蓝色的细短划线:

gmt grdcontour @AK_gulf_grav.nc -C10 -A50 -B -B+t"Gravity Anomalies" -Wathick,red -Wcthinnest,blue,- -pdf alaska_grav3

将负值等值线设置为蓝色,正值等值线设置为红色,0等值线设置为黑色:

gmt begin alaska_grav4
  gmt grdcontour @AK_gulf_grav.nc -C10 -A50 -B -B+t"Gravity Anomalies" -Ln -Wathick,blue -Wcthinnest,blue,-
  gmt grdcontour @AK_gulf_grav.nc -C10 -A50 -Lp -Wathick,red -Wcthinnest,red,-
  gmt grdcontour @AK_gulf_grav.nc -A0,
gmt end show

分两个文件 contours_C.txt 和 contours_O.txt 保存闭合等值线和开放等值线:

gmt grdcontour @AK_gulf_grav.nc -C150 -S4 -DAK_contours_%c.txt