basemap

官方文档

basemap

简介

绘制底图及边框

该命令用于绘制:

  • 绘制底图边框(标注、刻度、标签等)、网格线和标题

  • 绘制比例尺

  • 绘制方向玫瑰、磁场玫瑰图

语法

gmt basemap -Jparameters -Rwest/east/south/north[/zmin/zmax][+r][+uunit] [ -A[file] ] [ -Bparameters ] [ -Fbox ] [ -Jz|Zparameters ] [ -Lscalebar ] [ -U[stamp] ] [ -Trose ] [ -Tmag_rose ] [ -V[level] ] [ -X[a|c|f|r][xshift[u]] ] [ -Y[a|c|f|r][xshift[u]] ] [ -fflags ] [ -pflags ] [ -ttransp ] [ --PAR=value ]

必选选项

-B -L -T 三个选项中必须至少使用一个。

-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指定地图上的参考点

    • g 指定某地图坐标位参考点

    • j|J 通过2字母的对齐方式码指定矩形区域的某个锚点作为参考点

    • n 在归一化坐标系(即0-1)中指定参考点

    • x 在绘图坐标系下指定参考点

  • +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配置参数可以控制比例尺的外观:

-Td[g|j|J|n|x]refpoint+wwidth[+f[level]][+jjustify][+lw,e,s,n][+odx[/dy]]

在指定位置绘制方向玫瑰图

简单介绍各子选项的含义,详情见 修饰物

  • g|j|J|n|x]refpoint指定地图上的参考点

    • g 指定某地图坐标位参考点

    • j|J 通过2字母的对齐方式码指定矩形区域的某个锚点作为参考点

    • n 在归一化坐标系(即0-1)中指定参考点

    • x 在绘图坐标系下指定参考点

  • +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指定地图上的参考点

    • g 指定某地图坐标位参考点

    • j|J 通过2字母的对齐方式码指定矩形区域的某个锚点作为参考点

    • n 在归一化坐标系(即0-1)中指定参考点

    • x 在绘图坐标系下指定参考点

  • +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 而不使用其它子选项,则会在比例尺或方向玫瑰的周围绘制矩形边框。下面简单介绍各子选项,详细用法见 修饰物

  • +ppen 指定背景面板的画笔属性(默认画笔属性由 MAP_FRAME_PEN 决定)

  • +gfill 设置背景面板的填充色 [默认不填充]

  • +cclearances 以设置不同方向的空白间隔

  • +igap/pen 在背景面板内部绘制一个额外的内边框。gap 为外边框与内边界之间的距离 [2p],默认边界属性由 MAP_DEFAULT_PEN 控制

  • +rradius 控制圆角矩形边框,圆角矩形半径 radius 默认为 6p

  • +s 绘制背景面板阴影区。dx/dy 是阴影区相对于背景面板的偏移量 [4p/4p]。 shade 为阴影区的颜色 [gray50]。

该选项默认会同时控制比例尺和方向玫瑰的背景边框。加上 l|t 则表示只控制 -L-T 选项绘制的特征。

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

示例

下图展示了绘制方向玫瑰图时 +f 取不同值的效果:

#!/bin/bash
# Showing map directional roses
gmt begin basemap_ex3 pdf,png
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
../../_images/basemap-gmtplot-01.png

方向玫瑰图

下图展示了磁场玫瑰图以及相关配置参数:

#!/bin/bash
# Magnetic rose with a specified declination
gmt begin basemap_ex4 pdf,png
gmt basemap -R-10/-2/12.8812380332/0.661018975345r -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 basemap -DjTR+w2.9i/3.9i+o0.05i -F+p+ggray95
echo "5.5 3.8 GMT DEFAULTS" | gmt text -R0/7/0/5 -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
../../_images/basemap-gmtplot-11.png

磁场玫瑰图