GMT 主要分为两大版本 GMT4 和 GMT5 ,两个版本语法并不兼容。

GMT4 的新版本已经不再增加新功能,只是修订少量 bug 。据可靠消息, 2018 年官方将推出 GMT6 ,届时将不再对 GMT4 进行维护。

GMT6 分为 Classic Mode 和 Modern Mode 。 Modern Mode 是一种全新的语法格式,而 "Classic Mode" is all you have used so far ,因此建议新手直接学习 GMT5 。

由于很多老的脚本都是用 GMT4 的语法写的,全部修改成 GMT5 的语法很麻烦,因此记录一下如何安装 GMT4 还是很有必要的。

2017 年 6 月 GMT 官方同时发布了 GMT4 和 GMT5 的最新版本 GMT-4.5.16 和 GMT-5.4.2 。

本文简单介绍 GMT-4.5.16 在不同平台下的安装。 GMT5 的安装使用请移步 GMT 中文社区

GMT4 在 Linux 下的安装

安装依赖

对于 Ubuntu14.04

$ sudo apt-get update
$ sudo apt-get install gcc g++ make libc6    # 开发工具
$ sudo apt-get install libnetcdf-dev libgdal-dev python-gdal # netCDF 库
$ sudo apt-get install libxaw7-dev  # X 相关库
$ sudo apt-get install libice-dev libsm-dev libx11-dev
$ sudo apt-get install libxext-dev libxmu-dev libxt-dev

对于 Centos7

$ sudo yum install gcc gcc-c++ make glibc  # 开发工具
$ sudo yum install netcdf netcdf-devel gdal gdal-devel gdal-python  # netCDF 库
$ sudo yum install libXaw-devel  # X 相关库
$ sudo yum install libICE-devel libSM-devel libX11-devel
$ sudo yum install libXext-devel libXmu-devel libXt-devel

下载 gmt 和 gshhg

$ wget http://mirrors.ustc.edu.cn/gmt/gmt-4.5.16-src.tar.bz2
$ wget http://mirrors.ustc.edu.cn/gmt/gshhg-gmt-2.3.7.tar.gz
$ md5sum gmt-4.5.16-src.tar.bz2 gshhg-gmt-2.3.7.tar.gz  # 检查安装包完整性
086205d3d8a49e5edb4f79c8f2e2c58b  gmt-4.5.16-src.tar.bz2
8ee2653f9daf84d49fefbf990bbfa1e7  gshhg-gmt-2.3.7.tar.gz

安装 gmt

$ tar -xvf gmt-4.5.16-src.tar.bz2
$ cd gmt-4.5.16
$ ./configure --prefix=/opt/GMT-4.5.16  # 指定 gmt 安装路径
$ make
$ sudo make install-all       # 注意:这里是 install-all 不是 install

安装海岸线数据

$ cd ../
$ tar -xvf gshhg-gmt-2.3.7.tar.gz
$ sudo mv gshhg-gmt-2.3.7 /opt/GMT-4.5.16/share/coast

修改环境变量

$ echo 'export GMT4HOME=/opt/GMT-4.5.16' >> ~/.bashrc
$ echo 'export PATH=${GMT4HOME}/bin:$PATH'>> ~/.bashrc
$ echo 'export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${GMT4HOME}/lib64'>> ~/.bashrc  # 64位系统设置, 32 位系统中 lib64 --> lib
$ exec $SHELL -l

测试

$ psxy -
psxy 4.5.16 [64-bit] - Plot lines, polygons, and symbols on maps

安装 gs 中文支持

对于 Ubuntu14.04

$ sudo apt-get install poppler-data
$ sudo apt-get install fonts-arphic-uming fonts-arphic-ukai  # 安装 gs 默认 Linux 字体
$ sudo mkdir /usr/share/fonts/winfonts/   # 新建 winfonts 文件夹
$ sudo cp simhei.ttf simkai.ttf simsun.ttc simfang.ttf /usr/share/fonts/winfonts # 将 Windows 下的黑体、楷体、宋体、仿宋字体拷贝到 winfonts
$ sudo gedit /etc/ghostscript/cidfmap.d/90gs-cjk-resource-gb1.conf    # 修改 gs 中文配置文件

% 原配置文件的内容,与 STSong-Light 等相关的四行必须删除
/BousungEG-Light-GB <</FileType /TrueType /Path (/usr/share/fonts/truetype/arphic/uming.ttc) /SubfontId 0 /CSI [(GB1) 4] >> ;
/GBZenKai-Medium    <</FileType /TrueType /Path (/usr/share/fonts/truetype/arphic/ukai.ttc) /SubfontId 0 /CSI [(GB1) 4] >> ;
/Song-Medium /GBZenKai-Medium ;
/Adobe-GB1      /BousungEG-Light-GB ;
/Adobe-GB1-Bold /GBZenKai-Medium ;

% 新增 Windows 字体的支持
/STSong-Light <</FileType /TrueType /Path (/usr/share/fonts/winfonts/simsun.ttc) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STFangsong-Light <</FileType /TrueType /Path (/usr/share/fonts/winfonts/simfang.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STHeiti-Regular <</FileType /TrueType /Path (/usr/share/fonts/winfonts/simhei.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STKaiti-Regular <</FileType /TrueType /Path (/usr/share/fonts/winfonts/simkai.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;

$ sudo update-gsfontmap

对于 Centos7

$ sudo yum install ghostscript-chinese-zh_CN  # 安装 gs 简体中文配置文件
$ sudo mkdir /usr/share/fonts/winfonts/   # 新建 winfonts 文件夹
$ sudo cp simhei.ttf simkai.ttf simsun.ttc simfang.ttf /usr/share/fonts/winfonts # 将 Windows 下的黑体、楷体、宋体、仿宋字体拷贝到 winfonts
$ sudo gedit /usr/share/ghostscript/conf.d/cidfmap.zh_CN    # 在 gs 中文配置文件中添加 Windows 字体

% 原内容保持不变
/BousungEG-Light-GB <</FileType /TrueType /Path (/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc) /SubfontId 0 /CSI [(GB1) 4] >> ;
/GBZenKai-Medium    <</FileType /TrueType /Path (/usr/share/fonts/wqy-zenhei/wqy-zenhei.ttc) /SubfontId 0 /CSI [(GB1) 4] >> ;
/MSungGBK-Light     /BousungEG-Light-GB ;
/Adobe-GB1      /BousungEG-Light-GB ;

% 新增 Windows 字体的支持
/STSong-Light <</FileType /TrueType /Path (/usr/share/fonts/winfonts/simsun.ttc) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STFangsong-Light <</FileType /TrueType /Path (/usr/share/fonts/winfonts/simfang.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STHeiti-Regular <</FileType /TrueType /Path (/usr/share/fonts/winfonts/simhei.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;
/STKaiti-Regular <</FileType /TrueType /Path (/usr/share/fonts/winfonts/simkai.ttf) /SubfontId 0 /CSI [(GB1) 4] >> ;

安装 gmt 中文支持

$ gedit /opt/GMT-4.5.15/share/pslib/PS_font_info.d

# 在文末添加字体
STSong-Light--UniGB-UTF8-H  0.700    1
STFangsong-Light--UniGB-UTF8-H  0.700    1
STHeiti-Regular--UniGB-UTF8-H   0.700   1
STKaiti-Regular--UniGB-UTF8-H   0.700   1

$ pstext -L  # 查看 gmt 当前支持字体
...
35	STSong-Light--UniGB-UTF8-H
36	STFangsong-Light--UniGB-UTF8-H
37	STHeiti-Regular--UniGB-UTF8-H
38	STKaiti-Regular--UniGB-UTF8-H

脚本测试

$ gedit gmt4_cn.sh

#!/bin/bash
gmtset HEADER_FONT 35
pstext -R0/10/0/3 -JX15c/3c -B1/1:."GMT中文支持": -P > cn.ps <<EOF
1.5 2 30 0 35 LM GMT宋体
1.5 1 30 0 36 LM GMT仿宋
5.5 2 30 0 37 LM GMT黑体
5.5 1 30 0 38 LM GMT楷体
EOF
rm .gmt*

$ bash gmt4_cn.sh  # 执行脚本
$ gs cn.ps  # 查看 ps 图像

GMT4 在 Windows 下的安装

下载安装包后按照以下顺序进行安装,建议都安装在 C:\programs\xxx 下。

  • 安装 gs919w32.exe
  • 安装 gsv50w32.exe
  • 安装 gmt-4.5.16-win32.exe
  • 安装 gmt-4.5.16-pdf-win32.exe
  • 安装 gshhg-2.3.4-win32.exe
- gsview 破解
name : Registered
s/n  : 32411-26380

- gmt 中文支持
拷贝 PS_font_info.d 到路径 C:\programs\gmt4\share\pslib\ 中,替换原有文件

- gsview 中文支持
在 gsview -> options -> advanced configure... -> Ghostscript Include Path 最后添加 ;C:\windows\fonts;

- 将 Unixtools 文件夹中的 exe 文件拷贝到 gmt4\bin 目录下

- 重启生效

参考文献