GMT圖中圖模式¶
在繪製區域地圖時,爲了更清晰地顯示研究區域的地理位置,通常會額外繪製一個更大區域範圍的地圖,並在大區域地圖中標記出研究區域的位置。這種圖稱之爲 inset map。中文沒有統一的翻譯,大家一般稱之爲圖中圖、小圖或者插頁圖。
GMT 中 inset 模塊用於管理圖中圖模式。圖中圖模式以 inset begin 開始,並以 inset end 結束。
使用 inset begin 進入圖中圖模式,其作用是在紙張上規劃出一個矩形區域,並將繪圖原點移動到該矩形區域的左下角。接下來的所有繪圖命令均只在該區域內進行操作。當使用 inset end 結束圖中圖模式時,繪圖原點會自動恢復到圖中圖模式之前的位置,且所有設置參數都將回到之前的狀態。
用矩形框標記研究區域¶
下面的示例中研究區域爲日本東京周圍的一個小區域。爲了展示其地理位置,我們在大圖的左下角的小圖中繪製了日本全圖,同時在小圖中用矩形框出了大圖中的研究區域範圍。
inset begin 定義了小圖的位置位於大圖左下角(-DjBL),小圖區域的寬度爲3釐米,高度爲3.6釐米(+w3c/3.6c),並且相對大圖左下角偏移0.1釐米(+o0.1c)。同時還設置了小圖區域的背景色爲白色(+gwhite),並繪製了小圖區域的邊框(+p1p)。
在小圖區域內,我們使用 coast 模塊繪製了日本全圖,小圖投影參數爲 -JM?,其中 ? 表示根據 inset begin 中 -D 選項指定的寬度自動決定小圖寬度。同時我們使用 plot 模塊的 -Sr+s 選項在小圖中繪製了一個對應於大圖區域的矩形框,該命令需要輸入矩形區域的兩個對角頂點的經緯度。
#!/usr/bin/env bash
gmt begin inset-map png,pdf
gmt coast -R139.2/140.5/34.8/36 -JM12c -Baf -BWSne -W2p -A1000 -Glightbrown -Sazure1 --FORMAT_GEO_MAP=dddF
gmt inset begin -DjBL+w3c/3.6c+o0.1c -F+gwhite+p1p
gmt coast -R129/146/30/46 -JM? -EJP+glightbrown+p0.2p -A10000
# 使用 -Sr+s 绘制矩形区域
echo 139.2 34.8 140.5 36 | gmt plot -Sr+s -W1p,blue
gmt inset end
gmt end show
用顏色標記研究區域¶
下面的示例中研究區域爲澳大利亞。爲了展示其地理位置,我們在大圖的右上角區域繪製了全球地圖,並用特殊的顏色將澳大利亞區域標記出來。
inset begin 定義了小圖的位置位於大圖右上角(-DjTR),小圖區域寬度爲 1.5英寸(+w1.5i)。同樣的,在小圖內部我們在需要指定地圖寬度的地方使用了 ? 讓GMT自動幫我們決定小圖的寬度。
#!/usr/bin/env bash
gmt begin inset-example png,pdf
gmt coast -R110E/170E/44S/9S -JM6i -B -BWSne -Wfaint -N2/1p -Gbrown -EAU+gbisque
gmt inset begin -DjTR+w1.5i+o0.15i/0.1i -F+gwhite+p1p+c0.1c
gmt coast -JG120/30S/? -Rg -Bg -Wfaint -Gbrown -EAU+gbisque -A5000
gmt inset end
gmt end show