basemap
- 官方文档:
- 简介:
绘制底图及边框
该命令用于绘制:
绘制底图边框(标注、刻度、标签等)、网格线和标题
绘制比例尺
绘制方向玫瑰、磁场玫瑰图
语法
gmt basemap -Jparameters -Rwest/east/south/north[/zmin/zmax][+r][+uunit] [ -A[file] ] [ -B[p|s]parameters ] [ -Fbox ] [ -Jz|Zparameters ] [ -Lscalebar ] [ -U[stamp] ] [ -Trose ] [ -Tmag_rose ] [ -V[level] ] [ -X[a|c|f|r][xshift] ] [ -Y[a|c|f|r][yshift] ] [ -fflags ] [ -pflags ] [ -ttransp ] [ --PAR=value ]
必选选项
- -Jprojection (more …)
设置地图投影方式
- -Rxmin/xmax/ymin/ymax[+r][+uunit] (more …)
指定数据范围
对于三维透视图(-p 选项) ,可以加上 /zmin/zmax 指定Z轴的范围。
- -Bparameters (more …)
设置底图边框和轴属性
- -L[g|j|J|n|x]refpoint+c[slon/]slat+wlength[e|f|k|M|n|u][+aalign][+f][+jjustify][+l[label]][+odx[/dy]][+u][+v]
在地图上指定位置绘制比例尺
简单介绍各子选项的含义,详情见 修饰物
g|j|J|n|x]refpoint指定地图上的参考点
glon/lat 指定数据坐标为参考点
jcode 或者 Jcode 通过 2 个字母的对齐方式码指定锚点作为参考点
nxn/yn 指定归一化坐标系(即 0-1)为参考点
xx/y 指定绘图坐标 为参考点, 追加 cm, inch, 或者 point 用来指定单位
+jjustify 指定比例尺上的锚点(默认锚点为比例尺的中心)
+odx/dy 在参考点的基础上设置比例尺的额外偏移量
+c[slon/]slat 要绘制哪一个点的比例尺,对于倾斜投影,slon 默认取中央经线
+wlength[e|f|k|M|n|u] 指定比例尺长度及其单位 [默认为km]
+aalign 修改比例尺标签的对齐方式。标签默认位于比例尺上方中部, 可以取 l|r|t|b分别代表左右上下
+f 默认是简单的比例尺,使用该选项则绘制fancy比例尺,即黑白相间的火车轨道比例尺
+llabel 为比例尺添加标签;若不指定 label,默认的标签是比例尺所使用的长度单位
+u 比例尺的标注默认只有值没有单位,该选项会给所有标注加上单位
+v 垂直比例尺(仅限于笛卡尔坐标系)
以下GMT配置参数可以控制比例尺的外观:
FONT_LABEL 控制比例尺的标签字体
FONT_ANNOT_PRIMARY 控制比例尺的标注字体
MAP_SCALE_HEIGHT 控制比例尺的高度
MAP_TICK_PEN_PRIMARY 控制比例尺的线及刻度属性
- -Td[g|j|J|n|x]refpoint+wwidth[+f[level]][+jjustify][+lw,e,s,n][+odx[/dy]]
在指定位置绘制方向玫瑰图
简单介绍各子选项的含义,详情见 修饰物
g|j|J|n|x]refpoint指定地图上的参考点
glon/lat 指定数据坐标为参考点
jcode 或者 Jcode 通过 2 个字母的对齐方式码指定锚点作为参考点
nxn/yn 指定归一化坐标系(即 0-1)为参考点
xx/y 指定绘图坐标 为参考点, 追加 cm, inch, 或者 point 用来指定单位
+jjustify 指定比例尺上的锚点 [MC]
+odx/dy 在参考点的基础上设置方向玫瑰图的额外偏移量
+wwidth 玫瑰图宽度
+flevel 绘制fancy玫瑰图。level 取不同值代表不同类型的玫瑰图。 level 可以取:
1
绘制E-W和N-S四个方向2
绘制8个方向3
绘制16个方向
+lw,e,s,n 为四个方向分别指定标签。 默认标签是四个方向的单字母代码(英文语言下是W、E、S、N),四个方向的 标签之间用逗号分隔,若留空则表示不添加标签。 比如
+lw,e,s,n
或+l",,Down,Up"
。 标签的文字属性由 FONT_TITLE 控制,而文字相对于方向箭头的位置偏移则由 MAP_TITLE_OFFSET 控制。
- -Tm[g|j|J|n|x]refpoint+wwidth[+ddec[/dlabel]]][+ipen][+jjustify][+lw,e,s,n][+ppen][+tints][+odx[/dy]]
在指定位置绘制磁场玫瑰图
磁场玫瑰包括两个同心圆环,其中外环用于展示方向信息,内环用于显示磁场方向。
简单介绍各子选项的含义,详情见 修饰物
g|j|J|n|x]refpoint指定地图上的参考点
glon/lat 指定数据坐标为参考点
jcode 或者 Jcode 通过 2 个字母的对齐方式码指定锚点作为参考点
nxn/yn 指定归一化坐标系(即 0-1)为参考点
xx/y 指定绘图坐标 为参考点, 追加 cm, inch, 或者 point 用来指定单位
+jjustify 指定比例尺上的锚点 [MC]
+odx/dy 在参考点的基础上设置玫瑰图的额外偏移量
+wwidth 玫瑰图宽度
+ppen 绘制外环并设置其画笔属性
+ipen 绘制内环并设置其画笔属性
+ddec/dlabel 设置磁倾角以及罗盘指针上的磁倾角标签。 若 dlabel 为空,则使用默认标签 d = dec;若 dlabel 为 -, 则不绘制标签。当使用 +d 子选项时,会同时绘制地理方向和磁场方向
+lw,e,s,n 为四个方向分别指定标签。 默认标签是四个方向的单字母代码(英文语言下是W、E、S、N),四个方向的 标签之间用逗号分隔,若留空则表示不添加标签;若 n 取值为 *, 则会在北方向标签处绘制星代表北极星。 比如
+lw,e,s,n
或+l",,Down,Up"
或+l,,,*
。 标签的文字属性由 FONT_TITLE 控制内外环都可以设置标注、刻度和网格的间隔。内外环的间隔默认值都是
30/5/1
。 可以使用 +tints 选项,后面接6个斜杠分隔的值,以分别指定两个圆环的 3种刻度值,其中前三个值控制内环属性,后三个值控制外环属性
可选选项
- -A[file]
不绘制图形,仅输出矩形底图的边框坐标。
该选项会将矩形底图的边框坐标输出到标准输出或文件中。使用该选项时,必须通过 -J 和 -R 指定绘图区域,且不能再使用其他选项。 若不指定 file 则默认输出到标准输出,否则输出到文件 file 中。
说明:
该选项似乎仅适用于矩形底图边框,非矩形边框会输出一堆NaN
边框的采样间隔由参数 MAP_LINE_STEP 决定
- -F[l|t][+cclearances][+gfill][+i[[gap/]pen]][+p[pen]][+r[radius]][+s[[dx/dy/][shade]]]
控制比例尺和方向玫瑰的背景面板属性
若只使用 -F 而不使用其它子选项,则会在比例尺或方向玫瑰的周围绘制矩形边框。 下面简单介绍各子选项,详细用法见 修饰物
+gfill 指定面板填充颜色 [默认不填充]
+ppen 绘制面板边框。pen 为边框的画笔属性,若不指定 pen, 则默认使用 MAP_DEFAULT_PEN
+r[radius] 绘制圆角边框,radius 为圆角的半径
+i[[gap/]pen] 在边框内部绘制一个内边框,gap 为内外边框空白距离 [默认为 2p], pen 为内边框的画笔属性 [默认使用 MAP_DEFAULT_PEN]
+cclearance 设置修饰物与面板之间的空白距离。 默认情况下面板的大小由修饰物的大小决定,使用该子选项可以为面板增加额外的尺寸。 clearance 的具体设置包括下面 3 种情况:
gap 为四个方向增加相同的空白距离
xgap/ygap 分别为 X 方向和 Y 方向指定不同的空白距离
lgap/rgap/bgap/tgap 分别为四个方向指定不同的空白距离
+s[[dx/dy/][shade]] 设置面板背景阴影。dx/dy 为阴影区相对于面板的偏移量, shade 为阴影区颜色 [默认为 4p/-4p/gray50]
- -U[label][+c][+jjust][+odx/dy] (more …)
在图上绘制GMT时间戳logo
- -V[level] (more …)
设置 verbose 等级 [w]
-X[a|c|f|r][xshift[u]]
- -Y[a|c|f|r][yshift[u]] (more …)
移动绘图原点
- -f[i|o]colinfo (more …)
指定输入或输出列的数据类型
- -p[x|y|z]azim[/elev[/zlevel]][+wlon0/lat0[/z0]][+vx0/y0] (more …)
设置3D透视视角
- -t[transp] (more …)
设置图层透明度(百分比)。取值范围为0(不透明)到100(全透明)
- -^ 或 -
显示简短的帮助信息,包括模块简介和基本语法信息(Windows下只能使用 -)
- -+ 或 +
显示帮助信息,包括模块简介、基本语法以及模块特有选项的说明
- -? 或无参数
显示完整的帮助信息,包括模块简介、基本语法以及所有选项的说明
- --PAR=value
临时修改GMT参数的值,可重复多次使用。参数列表见 配置参数
示例
下图展示了绘制方向玫瑰图时 +f 取不同值的效果:
#!/usr/bin/env bash
# Showing map directional roses
gmt begin basemap_ex3
gmt set FONT_LABEL 10p FONT_TITLE 12p MAP_ANNOT_OBLIQUE 34 MAP_TITLE_OFFSET 5p \
MAP_FRAME_WIDTH 3p FORMAT_GEO_MAP dddF FONT_ANNOT_PRIMARY 10p
gmt basemap -R-5/5/-5/5 -Jm0.15i -Ba5f -BWSne+t"-Tdg0/0+w1i+l" -Tdg0/0+w1i+l -X1i
gmt basemap -Ba5f -BwSne+t"-Tdg0/0+w1i+l+f1" -Tdg0/0+w1i+l+f1 -X2i
gmt basemap -R-7/7/-5/5 -Ba5f -BwSnE+t"-Tdg0/0+w1i+l+f3" -Tdg0/0+w1i+l+f3 -X2i
gmt end show
下图展示了磁场玫瑰图以及相关配置参数:
#!/usr/bin/env bash
# Magnetic rose with a specified declination
gmt begin basemap_ex4
gmt basemap -R-10/-2/12.8812380332/0.661018975345+r -JOc0/0/50/60/7i -Baf -BWSne -X1.25i \
--MAP_ANNOT_OBLIQUE=34 --FONT_ANNOT_PRIMARY=12p
gmt basemap -Tmg-2/0.5+w2.5i+d-14.5+t45/10/5+i0.25p,blue+p0.25p,red+l+jCM \
--FONT_ANNOT_PRIMARY=9p,Helvetica,blue --FONT_ANNOT_SECONDARY=12p,Helvetica,red \
--FONT_LABEL=14p,Times-Italic,darkgreen --FONT_TITLE=24p --MAP_TITLE_OFFSET=7p \
--MAP_FRAME_WIDTH=10p --COLOR_BACKGROUND=green --MAP_DEFAULT_PEN=2p,darkgreen \
--COLOR_BACKGROUND=darkgreen --MAP_VECTOR_SHAPE=0.5 --MAP_TICK_PEN_SECONDARY=thinner,red \
--MAP_TICK_PEN_PRIMARY=thinner,blue
gmt inset begin -DjTR+w2.9i/3.9i+o0.05i -F+p+ggray95
gmt inset end
echo "5.5 3.8 GMT DEFAULTS" | gmt text -R0/7/0/4 -Jx1i -F+f14p,Helvetica-Bold+jCM
gmt text -F+f12p+jLM << EOF
4.1 3.50 FONT_TITLE
4.1 3.25 MAP_TITLE_OFFSET
4.1 3.00 MAP_DEGREE_SYMBOL
4.1 2.75 @;blue;FONT_ANNOT_PRIMARY@;;
4.1 2.50 @;blue;MAP_TICK_PEN_PRIMARY@;;
4.1 2.25 @;blue;MAP_ANNOT_OFFSET_PRIMARY@;;
4.1 2.00 @;blue;MAP_TICK_LENGTH_PRIMARY@;;
4.1 1.75 @;red;FONT_ANNOT_SECONDARY@;;
4.1 1.50 @;red;MAP_TICK_PEN_SECONDARY@;;
4.1 1.25 @;red;MAP_ANNOT_OFFSET_SECONDARY@;;
4.1 1.00 @;red;MAP_TICK_LENGTH_SECONDARY@;;
4.1 0.75 @;darkgreen;FONT_LABEL@;;
4.1 0.50 @;darkgreen;MAP_DEFAULT_PEN@;;
4.1 0.25 @;darkgreen;COLOR_BACKGROUND@;;
EOF
gmt end show