add RunOrEcho function
This commit is contained in:
parent
1da2101cb2
commit
86d0937b01
121
gmtxy-image2.sh
121
gmtxy-image2.sh
@ -3,6 +3,27 @@
|
||||
. gmt_shell_functions.sh
|
||||
# 包含dispOption脚本
|
||||
. dispOptions
|
||||
# 定义一个函数 执行输入的语句或者将其显示在屏幕上
|
||||
RunOrEcho()
|
||||
{
|
||||
first_str=`echo ${2// /''}`
|
||||
if [[ x${3} != x ]]; then
|
||||
sec_str=`echo ${3// /''}`
|
||||
fi
|
||||
|
||||
if [[ ${1} == 1 ]]; then
|
||||
${first_str}
|
||||
if [[ x${3} != x ]]; then
|
||||
${sec_str}
|
||||
fi
|
||||
else
|
||||
if [[ x${3} != x ]]; then
|
||||
printf "%s\n%s\n" "${first_str}" "${sec_str}"
|
||||
else
|
||||
printf "%s\n" "${first_str}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
# GMT显示平面数据脚本,输入文件为网格文件,没有包含网格化语句因为网格化过程中的情况多样化,建议在其他脚本中个别添加再调用此脚本
|
||||
# 准备几个常用的排版参数组 记录的参数包括 图片的宽度 默认坐标标示设定 色标位置 色标的大小 标示字体大小
|
||||
com_layouts=("1.5i,WesNZ,0.1i/-0.2i,1.3i/0.05i+h,10.5p" \
|
||||
@ -161,32 +182,19 @@ else
|
||||
fi
|
||||
|
||||
# 设置绘图参数
|
||||
if [[ ${run_command} == 0 && ${from_open} == '>' ]]; then
|
||||
echo "gmt gmtset \
|
||||
FONT_ANNOT_PRIMARY=${layouts[4]},Times-Roman,black \
|
||||
MAP_FRAME_PEN=thinnest,black \
|
||||
MAP_GRID_PEN_PRIMARY=thinnest,black \
|
||||
MAP_TICK_PEN_PRIMARY=thinnest,black \
|
||||
MAP_TICK_LENGTH_PRIMARY=1p/0.5p \
|
||||
MAP_TITLE_OFFSET=7.5p \
|
||||
MAP_GRID_CROSS_SIZE_PRIMARY=2p \
|
||||
FONT_LABEL=${layouts[4]},Times-Roman,black \
|
||||
MAP_FRAME_AXES=${frameset} \
|
||||
MAP_LABEL_OFFSET=2.5p \
|
||||
MAP_ANNOT_OFFSET_PRIMARY=2.5p"
|
||||
else
|
||||
gmt gmtset \
|
||||
FONT_ANNOT_PRIMARY=${layouts[4]},Times-Roman,black \
|
||||
MAP_FRAME_PEN=thinnest,black \
|
||||
MAP_GRID_PEN_PRIMARY=thinnest,black \
|
||||
MAP_TICK_PEN_PRIMARY=thinnest,black \
|
||||
MAP_TICK_LENGTH_PRIMARY=1p/0.5p \
|
||||
MAP_TITLE_OFFSET=7.5p \
|
||||
MAP_GRID_CROSS_SIZE_PRIMARY=2p \
|
||||
FONT_LABEL=${layouts[4]},Times-Roman,black \
|
||||
MAP_FRAME_AXES=${frameset} \
|
||||
MAP_LABEL_OFFSET=2.5p \
|
||||
MAP_ANNOT_OFFSET_PRIMARY=2.5p
|
||||
if [[ ${from_open} == '>' ]]; then
|
||||
RunOrEcho ${run_command} "gmt gmtset \
|
||||
FONT_ANNOT_PRIMARY=${layouts[4]},Times-Roman,black \
|
||||
MAP_FRAME_PEN=thinnest,black \
|
||||
MAP_GRID_PEN_PRIMARY=thinnest,black \
|
||||
MAP_TICK_PEN_PRIMARY=thinnest,black \
|
||||
MAP_TICK_LENGTH_PRIMARY=1p/0.5p \
|
||||
MAP_TITLE_OFFSET=7.5p \
|
||||
MAP_GRID_CROSS_SIZE_PRIMARY=2p \
|
||||
FONT_LABEL=${layouts[4]},Times-Roman,black \
|
||||
MAP_FRAME_AXES=${frameset} \
|
||||
MAP_LABEL_OFFSET=2.5p \
|
||||
MAP_ANNOT_OFFSET_PRIMARY=2.5p"
|
||||
fi
|
||||
|
||||
# 处理-B选项的参数
|
||||
@ -198,26 +206,14 @@ MAP_ANNOT_OFFSET_PRIMARY=2.5p"
|
||||
axistick[1]=${axistick[1]}g${axistick[1]}
|
||||
fi
|
||||
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "gmt grd2cpt ${data} -C${color} -R${range} -Z -D > ${cptfile}"
|
||||
else
|
||||
gmt grd2cpt ${data} -C${color} -R${range} -Z -D > ${cptfile}
|
||||
fi
|
||||
RunOrEcho ${run_command} "gmt grd2cpt ${data} -C${color} -R${range} -Z -D > ${cptfile}"
|
||||
|
||||
if [[ $plotgrad == 1 ]]; then
|
||||
gradfile=${data%.*}Grad.nc
|
||||
if [[ $gridData == 'null' ]]; then
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "gmt grdgradient ${data} -G${gradfile} -Nt -A0/45"
|
||||
else
|
||||
gmt grdgradient ${data} -G${gradfile} -Nt -A0/45
|
||||
fi
|
||||
RunOrEcho ${run_command} "gmt grdgradient ${data} -G${gradfile} -Nt -A0/45"
|
||||
else
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "gmt grdgradient ${gridData} -G${gradfile} -Nt -A0/45"
|
||||
else
|
||||
gmt grdgradient ${gridData} -G${gradfile} -Nt -A0/45
|
||||
fi
|
||||
RunOrEcho ${run_command} "gmt grdgradient ${gridData} -G${gradfile} -Nt -A0/45"
|
||||
fi
|
||||
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
@ -243,11 +239,7 @@ MAP_ANNOT_OFFSET_PRIMARY=2.5p"
|
||||
|
||||
# 画多边形
|
||||
if [[ $polyfile != 'null' ]]; then
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "gmt psxy ${polyfile} -JX${layouts[0]}/${pic_height}i -W0.25p,black,- -R${range} -L -K -O >> $psfile"
|
||||
else
|
||||
gmt psxy ${polyfile} -JX${layouts[0]}/${pic_height}i -W0.25p,black,- -R${range} -L -K -O >> $psfile
|
||||
fi
|
||||
RunOrEcho ${run_command} "gmt psxy ${polyfile} -JX${layouts[0]}/${pic_height}i -W0.25p,black,- -R${range} -L -K -O >> $psfile"
|
||||
fi
|
||||
|
||||
#添加号码
|
||||
@ -267,21 +259,11 @@ MAP_ANNOT_OFFSET_PRIMARY=2.5p"
|
||||
#如果unit等于km则在cptfile后面添加+Uk
|
||||
if [[ ${plot_colorbar} == 1 ]]; then
|
||||
if [[ ${unit} == 'km+Uk' ]]; then
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "gmt psscale -Dx${layouts[2]}+w${layouts[3]} -C${cptfile}+Uk -Bx${bartick} -By+l${unit} \
|
||||
-X${bar_origin[0]}i -Y${bar_origin[1]}i -O -K >> $psfile"
|
||||
else
|
||||
gmt psscale -Dx${layouts[2]}+w${layouts[3]} -C${cptfile}+Uk -Bx${bartick} -By+l${unit} \
|
||||
-X${bar_origin[0]}i -Y${bar_origin[1]}i -O -K >> $psfile
|
||||
fi
|
||||
RunOrEcho ${run_command} "gmt psscale -Dx${layouts[2]}+w${layouts[3]} -C${cptfile}+Uk -Bx${bartick} -By+l${unit} \
|
||||
-X${bar_origin[0]}i -Y${bar_origin[1]}i -O -K >> $psfile"
|
||||
else
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "gmt psscale -Dx${layouts[2]}+w${layouts[3]} -C${cptfile} -Bx${bartick} -By+l${unit} \
|
||||
-X${bar_origin[0]}i -Y${bar_origin[1]}i -O -K >> $psfile"
|
||||
else
|
||||
gmt psscale -Dx${layouts[2]}+w${layouts[3]} -C${cptfile} -Bx${bartick} -By+l${unit} \
|
||||
-X${bar_origin[0]}i -Y${bar_origin[1]}i -O -K >> $psfile
|
||||
fi
|
||||
RunOrEcho ${run_command} "gmt psscale -Dx${layouts[2]}+w${layouts[3]} -C${cptfile} -Bx${bartick} -By+l${unit} \
|
||||
-X${bar_origin[0]}i -Y${bar_origin[1]}i -O -K >> $psfile"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -296,25 +278,12 @@ MAP_ANNOT_OFFSET_PRIMARY=2.5p"
|
||||
fi
|
||||
|
||||
# 输出 eps 和 png 文件
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "gmt psconvert $psfile -A -TEG -E300"
|
||||
else
|
||||
gmt psconvert $psfile -A -TEG -E300
|
||||
fi
|
||||
RunOrEcho ${run_command} "gmt psconvert $psfile -A -TEG -E300"
|
||||
|
||||
# 删除临时文件 使用linux终端rm命令
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "rm $cptfile $psfile gmt.history gmt.conf"
|
||||
else
|
||||
rm $cptfile $psfile gmt.history gmt.conf
|
||||
fi
|
||||
|
||||
RunOrEcho ${run_command} "rm $cptfile $psfile gmt.history gmt.conf"
|
||||
if [[ $plotgrad == 1 ]]; then
|
||||
if [[ ${run_command} == 0 ]]; then
|
||||
echo "rm $gradfile"
|
||||
else
|
||||
rm $gradfile
|
||||
fi
|
||||
RunOrEcho ${run_command} "rm $gradfile"
|
||||
fi
|
||||
|
||||
# 在终端显示图像 此命令需要imgcat.sh脚本和iTerm终端
|
||||
|
Loading…
Reference in New Issue
Block a user