- 积分
- 114
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-3-19
- 最后登录
- 1970-1-1
|
发表于 2014-10-18 11:52:00
|
显示全部楼层
* china.gs
* sample Script file to draw chinese map include scs
* Created: funny / Sep.24 2002 ^_^
* modified: 漠弛 May 16 2004
function china(args)
*********************** USAGE *********************************************
usage1="usage: china [-d] [-h] [-p]"
usage2=" "
usage3=" -d if set, draw the map even if no file was opened."
usage4=" -h if set, display this help message."
usage5=" -p if set, draw the south china sea map."
usage6=" "
usage7='Notes: the option "-p" is valid unitl the number of opened file >= 1.'
usage8=" "
usage9='Example: china -p'
*********************** OPTIIONS ******************************************
i=1
help=-1
drawit=-1
placeit=-1
f=subwrd(args,i)
while (f!='')
opt = substr(f,2,1)
if (opt='d'| opt='D'); drawit=1; endif;
if (opt='p'| opt='P'); placeit=1; endif;
if (opt='h'| opt='H'); help=1; endif;
i=i+1
f=subwrd(args,i)
endwhile
*********************** HELP **********************************************
if (help=1)
say usage1;say usage2;say usage3;say usage4;say usage5;say usage6;say usage7
say usage8;say usage9
return
endif
*** keep the opened files information
'q files'
nfile = 0
count = 2
line = sublin(result,count)
while(line != '')
nfile = nfile + 1
count = count + 3
line = sublin(result,count)
endwhile
*** 'cn' is china map file
'set mpdset cn'
*'set map 15'
'set grads off'
*** set lon lat for chinese map plot:
*'set lat 15 55'
*'set lon 72 136'
if (drawit=1)
'draw map'
endif
***********************DRAW SOUTH CHINA SEA MAP *****************************
if (placeit=1)
*** keep the old coordinate values
if (nfile > 0)
'q dims'
oldx1 = sublin(result,2)
tmp = subwrd(oldx1,3)
if ( tmp = 'fixed')
oldx1=subwrd(oldx1,9)
oldx2=oldx1
else
oldx2=subwrd(oldx1,13)
oldx1=subwrd(oldx1,11)
endif
oldy1 = sublin(result,3)
tmp = subwrd(oldy1,3)
if ( tmp = 'fixed')
oldy1=subwrd(oldy1,9)
oldy2=oldy1
else
oldy2=subwrd(oldy1,13)
oldy1=subwrd(oldy1,11)
endif
oldz1 = sublin(result,4)
tmp = subwrd(oldz1,3)
if (tmp = 'fixed')
oldz1=subwrd(oldz1,9)
oldz2=oldz1
else
oldz2=subwrd(oldz1,13)
oldz1=subwrd(oldz1,11)
endif
oldt1 = sublin(result,5)
tmp = subwrd(oldt1,3)
if (tmp = 'fixed')
oldt1=subwrd(oldt1,9)
oldt2=oldt1
else
oldt2=subwrd(oldt1,13)
oldt1=subwrd(oldt1,11)
endif
* draw scs map:
'q gxinfo'
lb = sublin(result,3)
lc = sublin(result,4)
x0 = subwrd(lb,4)
y0 = subwrd(lc,4)
x1 = subwrd(lb,6)
y1 = subwrd(lc,6)
dx = (x1 - x0)/7
dy = (y1 - y0)/3.5
'set mpdset lowres'
'set lon 105 123'
'set lat 0 23'
'set parea 'x1-0.05-dx' 'x1-0.05' 'y0+0.05' 'y0+0.05+dy
'set grads off'
'set line 0'
'draw recf 'x1-0.05-dx' 'y0+0.05' 'x1-0.05' 'y0+0.05+dy
'set line 1'
'draw rec 'x1-0.05-dx' 'y0+0.05' 'x1-0.05' 'y0+0.05+dy
'set map 15'
'set grid on'
'draw map'
'set parea off'
** restore the coordinate to the old value
'set mpdset cn'
'set x 'oldx1' 'oldx2
'set y 'oldy1' 'oldy2
'set z 'oldz1' 'oldz2
'set t 'oldt1' 'oldt2
endif
endif
return
*end |
|