由于日常接触的地图和地形文件比较多,而日常使用的NCL、Python、R就绘制地形图或者行政区域地图,就功能上还是没那么专一,而作为气象背景的人,天然地长期处于技术封闭、交流不畅的氛围之下。源于之前处理GeoTIFF的一点启发,觉得把地图绘制得科学性很强,同时又极具视觉感,是大有裨益的。而暂时手头没有Windows的电脑,无法使用arcGIS,那就自然想到了更多跨平台、开源的软件,GMT是不二之选!
0.啥也别说,先上图!(图床,七牛云免费服务器空间由于需要备案,否则链接失效,macOS上开源客户端:Qbox)
1.GMT安装,以macOS为例
安装 Homebrew:$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装 GMT:$ brew update && brew upgrade
$ brew install gmt
安装 ghostscript:$ brew install ghostscript
测试安装是否成功:
$ gmt –version
5.4.5
*如果是使用的dmg安装包安装的话,
*
2.双击 dmg 包以解压,将解压得到的 GMT-5.4.5.app 拖动到 Applications 目录即可。GMT 默认会安装到 /Applications/GMT-5.4.5.app/ 目录下。
3.将如下语句:
export PATH=${PATH}:/Applications/GMT-5.4.5.app/Contents/Resources/bin
加入到 ~/.bashrc 中即可。
4.测试安装是否成功:
$ gmt --version
5.4.5
2.GMT环境变量配置、中文支持、运行
- 以macOS为例,如果之前用是zsh的终端环境,在此最好,切换为bash环境,至少是环境变量文件:
/.bashrc或/.bash_profile要修改过来,并添加。(homebrew安装最为推荐!!!)
1 | GMT |
- 中文支持
ghostscript的中文支持
下载脚本 cjk-gs-integrate.pl 3. cjk-gs-integrate.pl 脚本的执行依赖于命令 kpsewhich,该命令由 TeXLive 提供。
执行 kpsewhich –version 检查 kpsewhich 这个命令是否存在。若不存在,则需要单独安装。使用homebrew安装安装:
brew cask install basictex
- 执行脚本:
$ sudo perl cjk-gs-integrate.pl
该脚本会自动搜索系统中自带的中文字体,并生成gs支持中文所需的配置文件。
如果操作无效,说明basictex的环境变量没有起作用,需要手动添加到~/.bashrc中:export PATH=/usr/local/texlive/2018basic/bin/x86_64-darwin:$PATH
- GMT的中文支持
在 ~/.gmt(若无该文件夹,请自行新建)下创建字体配置文件:
$ touch ~/.gmt/PSL_custom_fonts.txt
$ open ~/.gmt/PSL_custom_fonts.txt
- 打开 GMT 字体配置文件,在文件中加入如下语句:
1 | STSong-Light-UniGB-UTF8-H 0.700 1 |
这几句话分别添加了宋体、仿宋、黑体和楷体四种字体的横排和竖排两种方式。
- 用
gmt pstext -L
命令查看 GMT 当前的字体配置:
1 | $ gmt pstext -L |
其中 39-46 号字体为新添加的中文字体。以后要用中文字体时,需要用这些编号来指定字体,也许你的机器上的编号和这里不同。请自行确认你的中文字体编号。如果编号不是39到46,请自行修改以下测试脚本。
1 | !/bin/bash |
注意:生成的 PNG、JPG格式的图片中可直接显示中文,而生成的 PDF 文件用 macOS 自带的 PDF 预览工具打开无法显示中文,使用 Adobe Reader 打开则可以正常显示中文。
3.GMT绘图示例
示例1
1 | !/bin/bash |
chmod 777 GMT_tutor3.sh
./GMT_tutor3.sh
出图效果:
示例2
1 | !/bin/bash |
执行:chmod +x CN-capitals.sh
./CN-capitals.sh
出图:
4.GMT相关资源汇总
参考网站:(表示感谢!)
官方网站:夏威夷大学
官方手册
中文社区
中文手册
台湾手册
推荐博客:赵志远博客
推荐博客:GMT5 教程 | 編者: Po-Chin Tseng
推荐博客:SeiMan USTC地球物理学博士
推荐博客:Beauty is life
推荐博客:Gina Schmalzle
推荐博客:科学网-杨峰峰
colorbar一览(cpt-city)
Hue取色器
有任何问题都欢迎交流探讨,共同学习进步!