✍️ 田冬冬 , 陈箫翰 , 何星辰 , 王亮  •  📅 2026-01-15

velo

官方文档:

velo

简介:

在地图上绘制速度矢量、各向异性矢量、应变十字和旋转楔形图

从文件或标准输入读取数据值,并在地图上绘制所选的大地测量符号。 可以选择速度矢量及其不确定度、旋转楔形及其不确定度、各向异性矢量或应变十字。 符号的填充或其轮廓可以基于固定参数或通过颜色查找表 CPT 进行着色。

https://docs.generic-mapping-tools.org/latest/_images/GMT_velo.png

四种不同的测量符号:旋转楔形、带有矢量的速度误差椭圆、各向异性矢量和应变十字。前两种符号可以为主符号及其误差部分分别选择颜色和画笔属性。

语法

gmt velo [ table ] -Sformat[scale][/args][+ffont] [ -Aparameters ] [ -B[p|s]parameters ] [ -Ccpt] [ -Dscale ] [ -Efill ] [ -Gfill ] [ -H[scale] ] [ -I[intens] ] [ -Jparameters ] [ -L[pen[+c[f|l]]] ] [ -N ] [ -Rwest/east/south/north[+r][+uunit] ] [ -U[stamp] ] [ -V[level] ] [ -W[pen][+c[f|l]] ] [ -X[a|c|f|r][xshift] ] [ -Y[a|c|f|r][yshift] ] [ -Z[m|e|n|u][+e] ] [ -dinodata[+ccol] ] [ -eregexp ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -qiflags ] [ -ttransp ] [ -:[i|o] ] [ --PAR=value ]

输入数据

table

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

必须选项

-S
-S

决定要绘制哪一种符号,及其输入数据的格式。 缩放比例的单位均为“每长度单位的数据单位”,尺寸则以长度单位表示,默认长度单位受 PROJ_LENGTH_UNIT 控制。 可以自行指定单位为 cip

-Se[velscale/]confidence[+ffont]

速度矢量,以椭圆表示不确定度。 velscale 设置速度箭头的缩放比例。如果未给出 velscale ,则数据文件中必须有 velscale 列。 confidence 设置椭圆的二维置信区间的极限,例如 0.95 代表 95% 置信椭圆。 使用 +f 设置标注文本的字体和大小 [默认值 9p,Helvetica,black]。给定 +f0 则禁用标注文本。 箭头将使用 -W 选项指定的画笔属性绘制,箭头头部通过 -G 填充。 椭圆使用 -E 选项填充 [默认透明],如果使用 -L ,则使用选定的画笔绘制其轮廓(若 -L 未指定,则使用 -W )。 注意:如果 confidence 不为零且既未设置 -L 也未设置 -E ,则使用 -W (或默认值)绘制椭圆轮廓。 输入数据中每列的含义为:

  1. 起点的经度

  2. 起点的纬度

  3. 矢量的东向分量

  4. 矢量的北向分量

  5. 东向分量的不确定度(1-sigma)

  6. 北向分量的不确定度(1-sigma)

  7. 东向分量和北向分量的 correlation

  8. 标注文本(可选)

-Sn[barscale]

绘制各向异性矢量。 barscale 设置缩放比例。如果未给出 barscale ,则数据文件中必须有 barscale 列。 矢量头参数 shape 默认为 0.1,可以使用 -A 的附加参数 +hshape 进行修改。 输入数据中每列的含义为:

  1. 经度

  2. 纬度

  3. 各向异性矢量的东向分量

  4. 各向异性矢量的北向分量

-Sr[velscale/]confidence[+ffont]

-Se 类似,区别在于输入文件不同:

  1. 起点的经度

  2. 起点的纬度

  3. 矢量的东向分量

  4. 矢量的北向分量

  5. 椭圆的半长轴

  6. 椭圆的半短轴

  7. 椭圆的长轴相对于水平方向逆时针旋转的角度

  8. 标注文本(可选)

-Sw[wedgescale/]wedgemag

旋转楔形图,由两个同心扇形组成。一个扇形是旋转楔形图本身,另一个扇形则表示不确定度。 wedgescale 设置旋转楔形的半径。不确定度扇形的半径固定为旋转楔形的半径的三分之二。 如果未给出 wedgescale ,则数据文件中必须有 wedgescale 列。 使用 -G 设置楔形的填充色,使用 -E 设置不确定度扇形的填充色。输入数据中每列的含义为:

  1. 经度

  2. 纬度

  3. 楔形表示的年旋转率,单位 rad/yr

  4. 不确定度(1-sigma),单位 rad/yr

楔形的扇形角度为年旋转率乘以 wedgemag ,不确定度的扇形角度为不确定度乘以 wedgemag 再乘以 2(即 2-sigma)。 绘制时,固定从正北开始,顺时针绘制楔形对应的扇形。再以楔形的结束角度为中心,向顺时针和逆时针两个方向绘制不确定度扇形(2-sigma)。

-Sx[cross_scale]

绘制应变十字线。 cross_scale 控制十字线的大小。如果未给出 cross_scale ,则数据文件中必须有 cross_scale 列。输入文件中每列的含义为:

  1. 经度

  2. 纬度

  3. eps1:应变张量的最大本征值,扩张为正,压缩为负

  4. eps2:应变张量的最小本征值,扩张为正,压缩为负

  5. eps2的方位角(北方向顺时针旋转的角度)

可选选项

-A
-Aparameters

修改矢量的属性。例如令 parameters = 0.3c 设置矢量头的大小。注意默认情况下,矢量头的大小不随着矢量线的长度变化而变化。 当矢量线过短时,会出现矢量箭头不绘制的情况。此时可以添加 +nnorm 属性让箭头大小随矢量成比例变化。 更多设置和详细说明见 矢量/箭头 一节。

-B
-Bparameters

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

-C
-Ccpt

提供一个 CPT 文件,符号填充色根据 -Z 设置的数值从 CPT 中查找。不要和 -G 一起使用。

-D
-Dscale

控制 -Se-Sr 以及 -Sw 中不确定度的缩放。

-E
-Efill

设置 -Se-Sr 中速度误差椭圆的填充色,或 -Sw 中不确定度扇形的填充色。不设置本项则为透明。 注意: 使用 -C-Z+e 将会根据 -Z 设置的数值从 CPT 中查找填充色。此时本选项无效。

-G
-Gfill

设置符号的填充色。 注意: 使用 -C-Z 会覆盖本选项。

-H
-H[scale]

使用 scale 作为缩放比例对符号大小和画笔宽度进行缩放。如果不指定 scale 则输入数据中必须要提供一列 scale 数据列,位置在 zsize 列之后。

-I
-Iintens

提供光照强度 intens (范围 ±1 之间),通过模拟光照来调节符号的填充颜色 [默认无]。 如果未提供光照强度值,将从输入数据中读取 intens 列。

-J
-Jprojection

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

-L
-L[pen[+c[f|l]]]

绘制椭圆和旋转楔形的轮廓。不指定画笔属性 pen 则默认使用 -W 设置的画笔属性。

  • 附加 +cl-C 设置的 CPT 将控制画笔的颜色。

  • 附加 +cf 则 CPT 文件的颜色仅应用于误差填充 [默认]。

  • 附加 +c 则会将 CPT 设置同时应用于画笔和填充的颜色。

-N
-N

不跳过区域范围外的符号

-R
-Rxmin/xmax/ymin/ymax[+r][+uunit]

指定数据范围。 (参数详细介绍)

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

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

-V
-V[level]

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

-W
-W[pen][+c[f|l]]

设置速度箭头、椭圆轮廓和断层面边缘的画笔属性 [默认值:宽度 = 0.25p,颜色 = 黑色,样式 = 实线]。

  • 附加 +cl-C 设置的 CPT 将控制画笔的颜色。

  • 附加 +cf 则 CPT 文件的颜色仅应用于误差填充 [默认]。

  • 附加 +c 则会将 CPT 设置同时应用于画笔和填充的颜色。

-X
-Y

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

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

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

-Z
-Z[m|e|n|u][+e]

选择与 -C 配合使用设置填充颜色的物理量。可选择:

  • m :矢量长度或楔形的旋转率

  • e :东西方向速度

  • n :南北方向速度

  • u :用户提供的数据列(位于必需列之后提供)

若要改用相应的不确定度估计值(即矢量不确定度或楔形的不确定度)来查询颜色并为误差椭圆或楔形着色,请附加 +e

-di
-dinodata

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

-e
-e[~]"pattern" | -e[~]/regexp/[i]

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

-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参数的值,可重复多次使用。参数列表见 配置参数

数据列顺序

-S 选项决定了输入数据需要多少个数据列。 此外,使用 -H-I-t 选项, 以及不带 size-S 选项或通过 -Zu 选择用于颜色查询的用户列,都需要额外的数据列。 数据列的顺序是固定的,与选项出现的顺序无关。数据列要求按以下顺序排列:

lon lat symbol-columns [usercol] [size] [scale] [intens] [transp [transp2]] [trailing-text]

其中 symbol-columns 代表 -S 选项通常需要的列。方括号中的项是可选的,受对应选项的控制。尾部文本始终是可选的。 注意:可以使用 -i 来重新排列数据记录以匹配预期的格式。

示例

生成带有绿色椭圆的大红色箭头,并带有红色轮廓。请注意,39% 的置信度缩放将生成一个正好嵌入在尺寸为 Esig 乘以 Nsig 的矩形内的椭圆:

#!/usr/bin/env bash

gmt begin velo_ex1
gmt velo -R-10/10/-10/10 -W0.6p,red -Egreen -L -Se0.2/0.39/18 -B1g1 -Jx0.4/0.4 -A0.3c+p1p+e+gred << EOF
#Long. Lat. Evel Nvel Esig Nsig CorEN SITE
#(deg) (deg) (mm/yr) (mm/yr)
0. -8. 0.0 0.0 4.0 6.0 0.500 4x6
-8. 5. 3.0 3.0 0.0 0.0 0.500 3x3
0. 0. 4.0 6.0 4.0 6.0 0.500
-5. -5. 6.0 4.0 6.0 4.0 0.500 6x4
5. 0. -6.0 4.0 6.0 4.0 -0.500 -6x4
0. -5. 6.0 -4.0 6.0 4.0 -0.500 6x-4
EOF
gmt end show
../../_images/13ddd260821917efa99215847cc41819.png

velo示例图1

绘制加利福尼亚州西横向山脉(Western Transverse Ranges)的一些残余旋转速率。楔形将呈现为深灰色,并使用浅灰色楔形表示 2-sigma 不确定度:

#!/usr/bin/env bash

gmt begin velo_ex2
gmt velo -Sw0.4i/1.e7 -W0.75p -Gdarkgray -Elightgray -D2 -Jm2.2i -Ra -Baf -BWeSn << EOF
#lon lat spin(rad/yr) spin_sigma (rad/yr)
241.4806 34.2073 5.65E-08 1.17E-08
241.6024 34.4468 -4.85E-08 1.85E-08
241.0952 34.4079 4.46E-09 3.07E-08
241.2542 34.2581 1.28E-07 1.59E-08
242.0593 34.0773 -6.62E-08 1.74E-08
241.0553 34.5369 -2.38E-07 4.27E-08
241.1993 33.1894 -2.99E-10 7.64E-09
241.1084 34.2565 2.17E-08 3.53E-08
EOF
gmt end show
../../_images/b3a1d800be2bb7691162da255c239312.png

velo示例图2

Kurt L. Feigl, Department of Geology and Geophysics at University of Wisconsin-Madison, Madison, Wisconsin, USA

相关模块

basemap, plot