GMT绘制各省的地形图
1. 下载地形grd数据
下载地址: https://mirrors.ustc.edu.cn/gmt/data/
上述数据中,最高分辨率为15s
(即:earth_relief_15s.grd
,约 2.77G
)。
如果需要 1s
分辨率,可从SRTM内插数据下载:
2. 绘图代码
#!/bin/bash
# gmt version: Version 5.4.5 [64-bit] [4 cores]
ps=province.ps
gmt gmtset FORMAT_GEO_MAP = dddF MAP_FRAME_WIDTH=2p
gmt gmtset FONT_ANNOT_PRIMARY 7p,Helvetica,black FONT_LABEL 7p,Helvetica,black
# 根据需要选择省界,CN.42为湖北
gmt pscoast -ECN.42 -M -Df > sd.txt
# psclip 使用省界裁切地图 Begin of the clip
gmt psclip sd.txt `gmt gmtinfo sd.txt -I0.000001` -JM2i -K > $ps
gmt makecpt -Cdem2 -T0/2000/1 > mss.cpt
# 数据的绝对路径为:/Users/name/gmt/earth_relief_15s.grd
# grdimage 添加DEM绘图,并添加方位光照效果。
gmt grdimage -J -R /Users/name/gmt/earth_relief_15s.grd -Cmss.cpt -O -K -I+a0 -Q >> $ps
# End of the clip
gmt psclip -C -O -R -J >> $ps
# 转换成pdf
gmt psconvert $ps -A -P -Tf
# 删除多余的文件
rm sd.txt mss.cpt *.ps
说明:
-
pscoast
导出省界,省界代码如-ECN.42
(湖北),可从GMT目录下dcw-states.txt
文件中找到,也可使用命令gmt coast -E+L
查看省代码(来自DCW: 世界数字图表 — GMT中文手册)。 -
以中国的数据为例,其包括全部 34 个省级行政区域:23 个省(包括台湾省), 5 个自治区,4 个直辖市,以及香港,澳门 2 个特别行政区。 中国的省代码是数字,和中国居民身份证号码相同:
- CN 11 Beijing 北京
- CN 50 Chongqing 重庆
- CN 31 Shanghai 上海
- CN 12 Tianjin 天津
- CN 34 Anhui 安徽
- CN 35 Fujian 福建
- CN 62 Gansu 甘肃
- CN 44 Guangdong 广东
- CN 52 Guizhou 贵州
- CN 46 Hainan 海南
- CN 13 Hebei 河北
- CN 23 Heilongjiang 黑龙江
- CN 41 Henan 河南
- CN 42 Hubei 湖北
- CN 43 Hunan 湖南
- CN 32 Jiangsu 江苏
- CN 36 Jiangxi 江西
- CN 22 Jilin 吉林
- CN 21 Liaoning 辽宁
- CN 63 Qinghai 青海
- CN 61 Shaanxi 陕西,注意与山西区分
- CN 37 Shandong 山东
- CN 14 Shanxi 山西,注意与陕西区分
- CN 51 Sichuan 四川
- CN 71 Taiwan 台湾
- CN 53 Yunnan 云南
- CN 33 Zhejiang 浙江
- CN 45 Guangxi 广西
- CN 15 Nei Monggu 内蒙古
- CN 64 Ningxia 宁夏
- CN 65 Xinjiang 新疆
- CN 54 Xizang 西藏
- CN 91 Xianggang (Hong Kong) 香港
- CN 92 Aomen (Macao) 澳门