Mac OS GMT安装与使用

原创 2018年04月17日 08:51:17

引言

GMT(Generic Mapping Tools)是一个被地学界广泛使用的绘图工具,可以完成海岸线、国界、河流等的绘制。GMT免费开源,且可以运行于Windows、Linux、Mac OS X三大主流操作系统。GMT软件是命令行模式的,用户需要输入各种参数,如经纬度、颜色配置等,生成ps或eps格式的地图文件。
具有多种开发语言API,如:GMT/FORTRAN API, GMT/Julia API, GMT/MATLAB API, GMT/Python API,使用上更加灵活。

Mac OS GMT安装

官网安装教程:http://gmt.soest.hawaii.edu/projects/gmt/wiki/Installing
Mac系统可以使用独立安装包进行安装,也可以使用Macports或者fink或者homebrew进行安装。
这里使用Macports进行安装GMT,如果你的系统中没有macports,就从官网下载macports一路安装就好。
macports安装结束后,打开终端,执行下面两段代码:

sudo port install gdal +curl +geos +hdf5 +netcdf
sudo port install gmt5

这两行命令分别执行,分别需要10分钟左右就可以完成gmt的安装。
gmt的安装过程可以说简单点不得了,因此这篇博文侧重gmt的使用去讲解。

GMT的几个简单例子

GMT官网教程:http://gmt.soest.hawaii.edu/projects/gmt/wiki/Documentation
GMT的使用,个人觉得入门还是挺复杂的,因为要通过各种命令进行做图。作为新手,还是低调做人的好,这里的例子也是源于官网。

Mac下建立.sh脚本文件

在写GMT命令时候,往往需要众多命令组合才能做出美观的插图,这时候在终端写命令可能不利于代码的调试,这里就讲一下如何建立脚本文件并运行。
首先我们需要建立一个脚本文件,可以用文本编辑器或者其它工具建立,注意保存为.sh格式。如,建立一个名为test1的.sh文件:test1.sh。在文件中我们可以写一段最简单的命令:echo Hello World!
赋予脚本可执行的权限

  • 进入Mac终端(快捷键:command+Space,输入Terminal 回车);
  • 进入test1.sh文件所在的目录:命令:cd /Users/desktop (后面是上面所建立的test1.sh文件所在的目录);
  • 赋予脚本可执行权限,输入命令:chmod +x test1.sh 回车

运行脚本

经过上述步骤,test1.sh已经成为一个可执行脚本,输入命令:./test1.sh 回车,终端输出“Hello World!”

以后建立脚本可以直接对这个脚本进行复制修改其中的命令就可以了。

例子1

步骤:
- 打开终端(command+space)
- cd/ filePath
- 将写好的脚本拖入终端

脚本中代码:

gmt pscoast -R-90/-70/0/20 -JM6i -P -Ba -Gchocolate > GMT_tut_3.ps
gmt ps2raster GMT_tut_3.ps -Tf

效果


这里写图片描述

命令解释
blockmean
对网格间隔框内的值取平均值。
数据预处理,从标准输入读离散的ASCII 数据文件,并将每个非空块的平均位置和值写入标准输出到由-R和-I参数定义的网格区域中,没有原始数据点的块空白。

gmt blockmean hawaii.xyg -R198/208/18/25 -I5m > hawaii_5x5.xyg

5*5单位求平均。

surface
通过程序 surface 网格化我们的数据,surface的一些选项:
-A aspect对向各项异性的网格设置方向比值
-C limit设置收敛极值。缺省为数据范围的 1/1000
-T 设值张性系数 [ 缺省为 0]
surface程序假定数据已经被预处理过,预处理可以使用blockmean等。
用 surface 把数据网格化,重要的一点是:blockmean, blockmedian, blockmode 命令一定要在 surface 前运行,而且这两步一定要用同样的网格间隔。
cpt文件
Cpt 文件可以用任何方法创建。GMT 提供两种模式:
1. 创建一个简单的、线性的颜色表作为主色表(有几种是内置的),确定拟表示 的颜色边界的 z–值(makecpt )
2. 由内置主 cpt 颜色表创建颜色表,在一个网格数据文件中 z 值的直方图均衡分 布。(grd2cpt )
makecpt
–C 给出所调用的主 cpt 文件名
–I 倒转颜色级数指向
–V 在 verbose 模式下运行
–Z 构筑一个连续的而不是离散的表

下面练习是分别创建离散的和连续的彩色 cpt 文件,数据范围由 –20 到 60, 每 10 个单位改变一次颜色。试分析两种表示的区别:

makecpt –Crainbow –T–20/60/10 –> disc.cpt
makecpt –Crainbow –T–20/60/10Z > cont.cpt

psscale
绘制色谱表。
–Ccptfile 必需的cpt 文件
–D xpos/ ypos/ length/ width[ h] 设定色谱图例的左侧中心坐标和图例的长/宽。默认是垂直的,加上h变为水平。其中位置是通过指定颜色棒左边框中点(水平颜色棒是顶边框中点)的位置来实现。
–I max_intensity 增加照明效应
–B 选项可用来绘制标题和单位符号(以及随意设定色谱图例的标注, 记号和网格线宽度)。x轴标签一般指定颜色对应数据的意义,y轴指定数据的单位。如-B5:elebation:/:m:,其中5代表刻度线的间隔,/线前指定y轴标签,/后指定x轴标签,如果/:m:改为/:m@+2:即显示为平方米。
-A选项指定颜色的注释(a)和(或)标签(l)的位置在水平刻度条的上方或垂直刻度条的左侧。c选项可将标签显示为垂直的一列。
-E选项作用为给颜色条上下分别加三角,其中b表示背景色,f表示前景色,/length设置三角的高度(默认颜色条宽度的一半)。
如果标签字体过大,可以使用gmtset LABEL_FONT_SIZE 12P自行设置字号。

grdimage
由 2–D 网格数据构筑彩色影像图。
–E dpi 设置所需要的影像分辨率[缺省为数据分辨率]
–I intenfile 使用intensfile文件的亮度数据建立虚拟照明
–M 使用(电视)YIQ 转换改为灰度
-B 设置边框上每隔?有一个标记

-K -O -V
–K 省略了文件尾,说明更多的 PostScript 代码将会加到后面[缺省是结束绘图过程]。
–O 选择覆盖绘图模式并省略了文件头[缺省是初始化一个新的绘图过程]。
–V 选择verbose模式,将建立程序运行报告文件stderr [Default runs “silently”].

pscoast
“–R130/150/35/50”就是一个区域范围,格式为“[W|E|S|N]” ,经度纬度区间。
“–JM6i”就是设置墨卡托投影—– “Jm与JM的区别在于绘图大小不一样的规定方法。m是规定的一度的大小,比如Jm1i,就是用1 inch来代表一度。JM则是规定的整幅图的大小,例如:JM5i 就是定义图片是5inch大。”
“–B5”坐标轴增量是5
“–G200” 填充颜色 灰度
“–Lf134/49/42.5/500” 比例尺绘制 500km的比例134/49/42.5 是比例尺的定位
“–K” 暗示,其后这个文件会被其他元素输入而覆盖上。。

ps2raster
-A:一般ps文件的尺寸为一张A4纸的大小(PAPER_MEDIA),很多时候绘图只占用了纸张的一小部分。这个选项可以重新定义BoudingBox,将空白的部分去除。-Au可以额外去除GMT的时间戳(-U)。(觉得这个选项去空白去得有点过了,图像周围基本一点空白都没有)
-E:设置位图的精度。默认pdf格式dpi=720,其他格式dpi=300。pdf格式是矢量格式,但是其中的图案填充以及字体是以位图的格式存储的,-E选项对这部分是有效的。
-T:指定输出格式,默认为jpeg格式。b指bmp,e代表eps,f代表pdf,j代表jpeg,g代表png,G代表透明的png,m代表ppm,t代表tiff。对于bgjt后可加-以产生灰度图。EPS是格式转换过程的中间文件,因而可以和其他格式同时生成,比如可以使用-Tef同时产生pdf和eps文件。

psmask
创建剪裁路径或覆盖模板。
psmask 命令可以读同样的预处理数据并根据 数据的分布设置等值线的 mask。一旦剪裁路径被激活,我们可以绘出最后等值 线区的轮廓,然后第二次调用 psmask 来最终解除剪裁。表示如下:

psmask –R245/255/20/30 –I5m ship_5m.xyz –JM6i –B2 –P –K –V > map.ps 
grdcontour ship.grd –JM –OK –C250 –A1000 >> map.ps
psmask –CO >> map.ps

psclip

例子2

未完待续

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wokaowokaowokao12345/article/details/79969426

OS X安装和使用Anaconda

安装 Anaconda后找不到conda命令,无法导入sklearn包,原来是环境变量配置的原因。...
  • Zhu_Lei_
  • Zhu_Lei_
  • 2016-11-01 12:12:43
  • 19219

在Mac OS X(10.7.5)下安装和使用GO语言

在Mac OS X(10.7.5)下安装和使用GO语言 转载自:http://blog.prosight.me/index.php/2010/08/655,进行部分修改; Go语言是Googl...
  • dabiaoyanjun
  • dabiaoyanjun
  • 2012-11-03 11:52:01
  • 3433

在Mac OS使用VMware安装Linux的方法

CentOS完整版官网下载:http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1708.iso...
  • SPENCER_HALE
  • SPENCER_HALE
  • 2018-02-27 13:50:53
  • 54

Ubuntu下使用VirtualBox安装Mac OS X Mavericks(10.9)上篇

本文介绍如何在Ubuntu下安装Mac OS X Mavericks系统。具体如下: 1)安装前准备工作 下载Mac OS X Mavericks系统,地址:http://pan.baidu.co...
  • iAm333
  • iAm333
  • 2014-08-14 13:28:32
  • 8356

Mac OS X安装软件和使用入门

打开终端Terminal---搜索或者应用程序-实用工具--Terminal 快捷键 command+H:隐藏窗口; command Q:退出应用程序; commandZ:恢复上一步; ...
  • q383700092
  • q383700092
  • 2016-11-25 09:25:00
  • 1112

在Mac os x 安装 Redis

1、打开浏览器输入地址:http://download.redis.io/redis-stable.tar.gz 下载 redis 最新稳定安装包 2、mac os下载的文件默认会保存在Downloa...
  • lijingronghcit
  • lijingronghcit
  • 2015-08-21 14:07:20
  • 2762

Mac OS系统使用笔记

一、使用帮助和系统设置1. 触摸板手势设置的位置:系统偏好设置->触控板选中以下设置或设置:1) 【光标与点按->轻点来点按】每次点击时不再需要将触控板用力按下,而只需轻轻...
  • zhiyuan411
  • zhiyuan411
  • 2015-10-07 02:36:08
  • 3336

最新Mac OS X 10.11之后 安装cocoapods及使用详解

iOS 最新版 CocoaPods 的安装流程 一、安装方法:1、移除现有Ruby默认源 gem sources --remove https://rubygems.org/ 为了提高安...
  • mgr406176009
  • mgr406176009
  • 2016-08-04 17:32:50
  • 1572

GMT5.1.2_基础_Windows下安装GMT过程

本文介绍的是win8.1下安装GMT5.1.2 首先要下载3个文件: 1、GMT安装包:http://gmt.soest.hawaii.edu/projects/gmt/wiki/Download 2...
  • u012839396
  • u012839396
  • 2015-09-11 00:43:08
  • 3327

在Mac OS环境安装Composer

简介Composer 是 PHP 的一个依赖管理工具安装流程打开终端,输入下面指令:进入用户根目录 cd ~ 执行安装指令 php -r "readfile('https://getcompos...
  • a2824256
  • a2824256
  • 2016-03-16 22:06:46
  • 6062
收藏助手
不良信息举报
您举报文章:Mac OS GMT安装与使用
举报原因:
原因补充:

(最多只允许输入30个字)