barb
- 贡献者:
- 最近更新日期:
2025-10-21
- 官方文档:
- 简介:
在 2D 和 3D 中绘制风羽
barb 从 files (或标准输入)读取 (x, y, 方位角, 风速) 数据, 并生成用于在地图上绘制风羽的 PostScript 代码。如果设置了 -JZ|z 则 barb 会将输入数据的第三列解释为 z 值,并在三维中绘制风羽。 如果未通过 -Q 指定风羽长度,则 barb 会将输入数据的第三列和第四列分别解释为风羽长度和宽度。 使用 -G 选择填充颜色。如果设置了 -G,则 -W 将控制是否绘制轮廓。
语法
barb [ table ] -Jparameters -Jz|Zparameters -Rwest/east/south/north[/zmin/zmax][+r][+uunit] [ -B[p|s]parameters ] [ -Ccpt ] [ -Ddx/dy[/dz] ] [ -Gfill ] [ -Iintens ] [ -N ] [ -Qlength[+aangle][+g-|fill][+jb|c|e][+p-|pen][+sscale][+wwidth][+z] ] [ -U[stamp] ] [ -V[level] ] [ -W[pen][attr] ] [ -X[a|c|f|r][xshift] ] [ -Y[a|c|f|r][yshift] ] [ -aflags ] [ -bibinary ] [ -dinodata[+ccol] ] [ -eregexp ] [ -fflags ] [ -hheaders ] [ -iflags ] [ -pflags ] [ -ttransp ] [ -:[i|o] ]
必选选项
- -Jprojection (more …)
设置地图投影方式
-Rwest/east/south/north[/zmin/zmax][+r][+uunit]
指定感兴趣的区域。 |Add_-Rgeo|
该选项可以通过多种方式来定义区域:
-Rwest/east/south/north 这是在使用经纬线呈直线的地图投影时指定地理区域的标准方式。 坐标可用十进制度表示,也可以使用 [±]dd:mm[:ss.xxx][W|E|S|N] 格式表示。
-Rwest/south/east/north+r 当使用倾斜(斜轴)投影时,经线和纬线不再适合作为地图边界。 在这种情况下,可以通过给出矩形的左下角与右上角的地理坐标,并添加 +r 修饰符, 来保证地图输出区域为矩形,即使经纬线不是直线。
-Rg 或 -Rd 用于快速指定全球范围。-Rg 表示经度 0 到 360,纬度 -90 到 +90; -Rd 表示经度 -180 到 +180,纬度 -90 到 +90。
-Rcode1,code2,…[+e|r|Rincs] 通过查阅 DCW(数字世界地图)数据库,间接地根据一个或多个国家代码来确定边界区域。 可以使用两个字符的 ISO 3166-1 alpha-2 国家代码(例如 NO)或完整国名(例如 Norway)。 如果要选择国家内的某个州(若可用),请追加 .state(如 US.TX),或使用完整州名(如 Texas)。 若要选择整个大陆,请直接拼写完整名称(如
-RAfrica
)。 还可指定 DCW数据 的缩写或完整名称。所有名称大小写不敏感。 可附加以下修饰符:
+r:将区域边界调整为 inc、xinc/yinc 或 winc/einc/sinc/ninc 的整数倍(默认不调整)。 例如,-RFR+r1 将法国的边界取整到最接近的整数度。inc 为正数表示扩大范围,负数表示缩小。
+R:在区域边界的基础上增加或减少 inc、xinc/yinc 或 winc/einc/sinc/ninc 的数值(默认不扩展)。 inc 为正数表示扩大区域,负数表示缩小。
+e:将区域边界调整为 inc、xinc/yinc 或 winc/einc/sinc/ninc 的整数倍, 并确保边界至少调整 inc 的 0.25 倍(默认不调整)。
-Rxmin/xmax/ymin/ymax[+uunit] 在投影单位(如 UTM 米制)下指定区域。 其中 xmin/xmax/ymin/ymax 为与所选投影 (-J) 兼容的笛卡尔坐标。 unit 为允许的 单位 和 -j 选项 (默认是 e)。 该选项会反算出实际的矩形地理区域。
对于以 (0,0) 为中心的投影区域,可使用简写形式 -Rhalfwidth[/halfheight]+uunit, 其中 halfheight 默认为 halfwidth。此简写形式必须带 +u 修饰符。
-Rjustifylon0/lat0/nx/ny 其中 justify 为两字符组合: L|C|R (左,中,右) and T|M|B (上,中,下),(例如, BL 为左下角) justify 指明 lon0/lat0 是矩形区域的哪个点, 而 nx 与 ny 与网格间距(通过 -I 设置)共同决定区域范围。 该形式常用于创建网格。 例如:-RCM25/25/50/50 表示一个以 (25,25) 为中心、尺寸为 50×50 的网格区域。
-Rgridfile 从指定网格文件中复制区域范围设置。 根据调用模块的不同,此方式可能同时设置网格间距与网格配准方式 (参见 网格配准 )。
-Ra[uto] 或 -Re[xact] 仅在现代模式下的绘图模块可用。自动从输入数据中确定区域:
-Re:精确匹配数据的范围(默认若未指定 -R)。
-Ra:在数据范围基础上略微扩大,使区域边界为数据范围的合理倍数。
对于三维透视图(-p 选项) ,可以加上 /zmin/zmax 指定Z轴的范围。
可选选项
- table
一个或多个ASCII或二进制表数据。若不提供表数据,则会从标准输入中读取。
- -Bparameters (more …)
设置底图边框和轴属性。
- -Ccpt
指定 CPT,或用 -Ccolor1,color2[,color3,…] 来自动构建连续线性 CPT。 此时 colorn 可以是 RGB 三元组、颜色名或 HTML 十六进制颜色(如 #aabbcc)。 填充颜色由第三列(或如果设置了 -Jz 则为第四列)的值决定。 其他字段会向后移动一列(例如风羽方位将位于第四而非第五列)。
- -Ddx/dy[/dz]
按指定偏移量 dx/dy[dz] 偏移绘图符号或线条位置 [默认无偏移]。
- -Iintens
使用提供的 intens 值(通常在 ±1 范围内)来调节填充颜色模拟光照 [默认无效果]。
- -N[c|r]
不裁剪落在地图边界之外的符号 [默认只绘制完全在地图内的点]。 该选项不适用于始终裁剪的线条和多边形。对于周期性(360°经度)地图,为避免重复边界裁剪符号需绘制两次。 使用 -Nr 关闭裁剪但保留重复符号,或 -Nc 保留裁剪但不绘制重复符号。
- -Qlength[+aangle][+g-|fill][+jb|c|e][+p-|pen][+sscale][+wwidth][+z]
修改风羽参数。附加风羽 length [默认 0.5c]。 可添加多个修饰符来指定风羽的位置、形状及对齐方式,下文左/右指从线段起点到终点方向看风羽的两侧:
+a - 设置风羽角度 [120]
+g - 关闭填充(如果为 -)或设置风羽填充 [默认填充]
+p - 设置风羽画笔属性。如果 pen 以 - 开头,则不绘制轮廓 [默认画笔,绘制轮廓]
+j - 设置输入 x, y 点相对于风羽的位置。选择 b 起点 [默认]、e 终点或 c 中心
+s - 设置对应长风羽的风速 [默认 5]
+w - 设置风羽宽度
+z - 输入 (u,v) 分量而非 (方位角, 风速)
- -U[label][+c][+jjust][+odx/dy] (more …)
在图上绘制GMT时间戳logo
- -V[level] (more …)
设置 verbose 等级 [w]
- -W[pen][attr] (more …)
设置线条或符号轮廓画笔属性 [默认:宽度=默认,颜色=黑色,样式=实线]。 若附加 +cl 修饰符,则线条颜色取自 CPT (-C);若附加 +cf, 则符号填充取 CPT 颜色。使用 +c 可同时应用两者。
-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 …)
指定输入或输出列的数据类型
- -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参数的值,可重复多次使用。参数列表见 配置参数
示例
注: 下面是该模块的一些有效语法示例。使用远程文件(文件名以 @
开头)的示例可以剪切并粘贴到您的终端中进行测试。其他需要输入文件的命令只是常见的使用类型的虚拟示例,但不能按编写的原样运行。
在三维空间 (0-10), (0-10), (0-100) 上绘制蓝色柱状图(宽度 = 1.25 cm), 位置由 heights.xyz 文件指定,每 2, 2, 10 设置刻度,从东南方向以 30° 仰角观察,可使用:
gmt barb heights.xyz -R0/10/0/10/0/100 -Jx1.25c -Jz0.125c -So1.25c -Gblue \
-Bx2+lXLABEL -By2+lYLABEL -Bz10+lZLABEL -B+t"3-D PLOT" -p135/30 -Uc -W -pdf heights
段头解析
段头记录可以包含以下一个或多个选项:
- -Gfill
使用新的 fill 并开启填充。
- -G-
关闭填充。
- -G
恢复默认填充(命令行未设置则无填充)。
- -Wpen
使用新的 pen 并开启轮廓。
- -W
恢复默认画笔 MAP_DEFAULT_PEN (如果命令行未设置)。
- -W-
关闭轮廓。
- -Zzval
根据 z 值 zval 从 CPT 获取填充颜色。
- -ZNaN
从 CPT 获取 NaN 颜色。