GMT(Linux)绘图学习记录(1)

#!/usr/bin/env -S bash -e
# GMT modern mode bash template
# Date:    2023-06-05T14:50:25
# User:    dell
# Purpose: Purpose of this script

gmt set FORMAT_GEO_MAP ddd:mm:ssF   #绘图时地理坐标的显示格式
gmt set FONT_TITLE 5p  #图上方标题的字体 [24p,Helvetica,black]
gmt set FONT_ANNOT_PRIMARY 7p,Times-Roman  #一级(Primary)标注的字体 [12p,Helvetica,black]
gmt set FONT_LABEL 7p #轴标签的字体 [16p,Helvetica,black]
gmt set MAP_FRAME_WIDTH 2.5p  #设置底图类型为 fancy 时的边框宽度 [5p]
gmt set MAP_FRAME_TYPE fancy  #底图边框类型
gmt set MAP_FRAME_PEN 1p  #对于 fancy 底图类型,MAP_FRAME_PEN 自动设置为 MAP_FRAME_WIDTH 的0.1倍
gmt set MAP_TITLE_OFFSET 2p  #图标题的底部与轴标注(或轴标签)的顶部之间的距离 [14p] 。可以设置为负数进一步减小距离。
gmt set MAP_ANNOT_OFFSET_PRIMARY 2p #一级标注的开始位置与刻度尾端间的距离 [5p]
gmt set MAP_ANNOT_OFFSET_SECONDARY 2p #二级标注的顶部与一级标注的底部之间的距离 [5p]
gmt set MAP_TICK_LENGTH_PRIMARY 1p #一级刻度的主刻度和次刻度的长度 [5p/2.5p]

开始绘制

export GMT_SESSION_NAME=$$	# Set a unique session name
gmt begin try png E1000

绘制底图

    R="99.8/100.10/25.50/25.85"
	gmt basemap -JM8c -R$R -Bxa4mf2m -Bya4mf2m -BWSne   #a 表示标注、f 表示刻度、g 表示网格线 m表示单位分 s表示秒

dem.tif转grd格式

gdal_translate -of GSBG -a_nodata NAN dem.tif dem.grd

以dem为底图

    gmt grdgradient dem.grd -Gtopo.grd.int -A30 -Ne0.6 -V 
	gmt grd2cpt dem.grd -CgrayC -E20 -Z -H -G0/0.15 >dem_colortab.cpt #-E生成的CPT文件会被重采样为 nlevels 个等间距的切片 -Z强制生成连续的CPT文件(默认为离散不连续的CPT)。
	gmt grdimage dem.grd -R$R -JM8c -Cdem_colortab.cpt -Itopo.grd.int -Q

#绘制线
	gmt kml2gmt line.kml -V > line.txt
    gmt plot line.txt -W1.5p,blue
	#绘制面
	gmt kml2gmt area.kml -V > area.txt
    gmt plot area.txt -W0.8p,black
	#绘制自定义指北针
	echo 100.07 25.80 0| gmt plot -Skcompass/0.8 -W0.8p 
    echo 100.07 25.82 N | gmt text -F+f10p,4

gmt end show

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值