2-14-GMT绘制精美地形图

08 Jul 2018

  1. 设置变量
PS=Li.ps  #图名
#R代表经纬度范围,经度82-90度,纬度42-45度
RR=R82/90/42/45 
#J代表投影方式,即把球形投影到平面上的方式;
#M为墨卡托投影,18c表示全图长18cm,宽根据长宽比自动调整。
JJ=JM18c
#这是色彩文件,用来把地形数据映射为颜色,
#如多少米用哪种颜色表示,GMT自带了一些常用的cpt文件。
CPT=etopo1.cpt
GRD=Li_topo.grd#grd为网格数据,这里是地形数据
ILLU=topo.i#梯度数据,后面会讲到
TXT1=GPS_this.txt
TXT2=GPS_K.txt#两个GPS速度场
  1. 绘制地形图
 #求梯度,调用grdgradient模块,让地形图有立体感,
#或者理解为在某一个方向加光照效果,—G表示生成的梯度文件。
# 这里,输入文件是Li_topo.grd,即$GRD变量,-A表示光照的方向为135度,
#-G表示输出文件(-G也是一种表示输入输出文件的方式)
gmt grdgradient $GRD -A135 -Nt -G$ILLU
#画地形图
#这里终于开始画图了。
#-I表示光照文件,-B定义轴属性,a为坐标轴显示的间隔,
#2表示2度一个刻度,NWse分别是北西南东,大写表示那个方向的轴会画出来,
#-K表示开始画图,-V是输出错误信息,-P,因为GMT默认输出画布大小为A4规格,P表示旋转,把画布横着放。
gmt grdimage $GRD -$RR -I$ILLU  -Ba2 -BNWse -$JJ -C$CPT  -V -P >$PS

结果

加梯度

如果不加入梯度

image.png

完整脚本

PS=Li.ps  #图名
#R代表经纬度范围,经度82-90度,纬度42-45度
RR=R82/90/42/45 
#J代表投影方式,即把球形投影到平面上的方式;
#M为墨卡托投影,18c表示全图长18cm,宽根据长宽比自动调整。
JJ=JM18c
#这是色彩文件,用来把地形数据映射为颜色,
#如多少米用哪种颜色表示,GMT自带了一些常用的cpt文件。
CPT=etopo1.cpt
GRD=Li_topo.grd#grd为网格数据,这里是地形数据
ILLU=topo.i#梯度数据,后面会讲到
TXT1=GPS_this.txt
TXT2=GPS_K.txt#两个GPS速度场
gmt grdgradient $GRD -A135 -Nt -G$ILLU
gmt grdimage $GRD -$RR -I$ILLU  -Ba2 -BNWse -$JJ -C$CPT  -V -P >$PS