目录
我近期想画一幅中国地图,无意中发现了这个GMT软件,但是在我使用的时候发现安装及使用的教程很少,或者说讲述的都很略,因此,我就想记录一下自己的安装及使用过程,也给其他人提供一点帮助。
1.GMT 下载
其实下载GMT很简单,在其官网上就有下载链接,选择好64位还是32位的安装包,直接点击就可以下载最新的GMT。
2.GMT 安装及配置
其实,官网上也给出了安装教程,但是这里我想给一些详细的过程。
tips:在安装之前需要检查下面的一些东西
-
安装前请检查你的 Windows 登录用户名:(1)是否包含空格;(2)是否包含中文。以上两种情况都可能导致 GMT 运行出错。如果用户名不符合要求,请新建一个用户。然后使用新用户登录 Windows,再安装 GMT。
-
360 等安全软件会在 GMT 安装过程中拦截 PATH 环境变量的修改。请务必关闭安全软件之后再安装。
-
GMT 提供的安装包不支持 Windows XP。
2.1 GMT 安装
1)下载好的安装包,双击进行安装。
2)点击下一步。
3)这里是添加环境变量,就不需要自己再配置了,直接选择默认的就可以了。
4)选择安装的目录,点击下一步。
5)这里是在你的安装位置下,创建文件夹,直接默认即可。
6)选择组件,这里所有的组件都需要勾选,然后点击安装即可。
tip:在官网刚中,给了你一个安装过程可能出现的警告,你可以按照他的方法解决,因为我没有出现。
2.2GMT配置
这一节只是说明一下,其实在你安装的第3步时,就已经选择好了配置。这里我们可以去查看一下。
点击“计算机”→“属性”→“高级系统设置”→“环境变量”,打开“环境变量”编辑工具
在path中,会有你安装GMT的bin文件的路径。
并且系统变量中,还会增加一个新的变量名。
2.3 测试安装
直接【win+r】,启动命令提示符。
输入命令,查看版本号:
gmt --version
若出现 GMT 版本号,则表示 GMT 安装成功。
3. 安装Bash环境
在官网中给出了安装Bash的原因,即:GMT 可以直接在 Windows 下的 Batch 脚本中使用,但由于 Batch 脚本自身功能的局限性,无法完全发挥 GMT 的强大功能。因而,建议 Windows 用户安装 Bash 环境并编写 Bash 脚本来使用 GMT。
我选择了Git的安装。
我这里的安装步骤与网上的很多教程不一致,可能是我安装过nodejs的原因,其实一般步骤就是安装然后配置环境,你们可以去参考这篇的博客。
4. 配置VsCode
Vscode这软件简直太香了,你可以在这里面实现bat/bash脚本的顺滑切换运行、jpg/gif/pdf等成图结果实时预览、脚本报错信息显示,非常适合全平台下执行GMT脚本。你按照这篇博客里面说的安装和配置就可以,其实安装及配置Vscode我之前也写过,按照我的也可以,反正我没哟再安装和配置它,直接使用我自己的。
4.1 安装插件
根据它博客里的推荐以及我自己的使用,我们安装以下插件:
- Code Runner 支持代码一键运行
- vscode-pdf pdf预览插件
打开vscode,安装插件。
其中,安装 Code Runner 插件后,你需要配置一下。
首先打开设置。
然后,勾选三个选项
4.2 添加GitBash
1)打开设置
点击文件->首选项->设置,搜索shell.windows,点击在seettings.json中编辑。
2)添加代码
tips:注意Git的安装路径,一共涉及到三处修改的地方。
当你添加完代码,保存后,shell.windows上会显示报错,这个不用管他。
"terminal.integrated.profiles.windows": {
"PowerShell": {
"source": "PowerShell",
"icon": "terminal-powershell"
},
"Command Prompt": {
"path": [
"${env:windir}\\Sysnative\\cmd.exe",
"${env:windir}\\System32\\cmd.exe"
],
"args": [],
"icon": "terminal-cmd"
},
"Git-Bash": {
"path": "G:\\software\\Nodejs\\git\\Git\\bin\\bash.exe"
}
},
"terminal.integrated.automationShell.windows": "G:\\software\\Nodejs\\git\\Git\\bin\\bash.exe",
"git.path": "G:\\software\\Nodejs\\git\\Git\\bin\\bash.exe",
"terminal.integrated.defaultProfile.windows": "Git-Bash",
3)修改terminal.integrated.Default.Profiles.Windows
5. Vscode下使用GMT
经过上述的配置,下面我们就可以在Vscode下使用GMT了。
5.1 运行.bat文件
1)安装官网的教程,首先我们在vscode下新建终端。
此时我们可能默认的终端是Git-Bsah的,因此我们需要修改一下。
如果点击PowerShell后,你的终端在anaconda下面,则退出到系统的终端。
注意:这里要在看好路径,该F盘下的路径是我创建的。
2)去启动命令提示符,输入gmt,运行GMT。
gmt
3)生成脚本模板
继续在终端中敲入:
gmt --new-script > myplot.bat
此时在你的目录下,会生成一个.bat的文件。
4)查看并编辑脚本文件
打开后的内容如下:
其中,以 REM 开头的行尾注释行,set GMT_SESSION_NAME=7492 这一行属于高级用法,可以忽略。核心内容只有两行,即 gmt begin 和 gmt end 这两行。
在 gmt begin 和 gmt end 中间添加 GMT 命令,将脚本修改如下:
@echo off
REM Date: 2023-11-13T11:27:36
REM User: dell
REM Purpose: Purpose of this script
REM Set a unique session name:
set GMT_SESSION_NAME=51536
gmt begin figurename
gmt coast -Rg -JH15c -Gpurple -Baf -B+t"My First Plot"
gmt end show
5)执行脚本画图
继续在终端中输入命令运行:
myplot.bat
你会发现根目录下出现了pdf文件,打开后就是所画的图。
5.2 运行.sh文件
1)安装官网的教程,首先我们在vscode下新建终端。
此时的终端与运行bat的终端不一样,这是Git-Bash终端。
注意这个路径是不是你运行代码的路径
2)我们新建一个sh文件(直接右键新建就可以),编写里面的代码。
#!/usr/bin/env bash
# GMT modern mode bash template
# Date: 2019-09-10T00:44:39
# User: seisman
# Purpose: Purpose of this script
export GMT_SESSION_NAME=$$ # Set a unique session name
gmt begin figurename1
gmt coast -Rg -JH15c -Gpurple -Baf -B+t"My First Plot"
gmt end show
3)执行脚本画图
myplot.sh
5.3 报错
注意:这里是重点!!!!
1. 出现 '��@' is not recognized as an internal or external command,operable program or batch file.错误
当你保存时,一定要查看一下你保存的编码方式,一定要修改成UTF-8形式。否则你回出现以下报错。
具体保存形式如下:
点击选择编码,再点击通过编码保存
选择 utf-8
此时,右下角的编码方式就会发生改变
2. 这个错误,我没有执行,但是你要注意,那就是在画图的时候,如果代码中出现了中文,那么你的编码方式就要修改成GB2312编码。
参考:
【1】GMT中文学习官网