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 控制
-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 中。

說明:

  1. 該選項似乎僅適用於矩形底圖邊框,非矩形邊框會輸出一堆NaN
  2. 邊框的採樣間隔由參數 MAP_LINE_STEP 決定
-F[d|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]。

該選項默認會同時控制比例尺和方向玫瑰的背景邊框。加上 d|l|t 則表示只控制 -D-L-T 選項繪製的特徵。

-U[label][+c][+jjust][+odx/dy] (more …)
在图上绘制GMT时间戳logo
-V[level] (more …)
设置 verbose 等级 [c]

-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-0.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-1.png

磁場玫瑰圖