爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4428|回复: 5

画多条台风路径的gs

[复制链接]

新浪微博达人勋

发表于 2014-10-19 09:27:32 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
*prompt 'input the latstart :'
*pull latstart
*prompt 'input the latend :'
*pull latend
*prompt 'input the lonstart :'
*pull lonstart
*prompt 'input the lonend :'
*pull lonend
'open e:\WORK\analysis2\track\ctrl.ctl'
*'set lat 'latstart' 'latend''
*'set lon 'lonstart' 'lonend''
'set grads off'
'set xlopts 1 4 0.18'
'set ylopts 1 4 0.18'
'set xlint 1'
'set ylint 1'

prompt 'input the maprojection :'
prompt '1 : latlon ; '
pull mproj
y1=latstart
y9=latend
x1=lonstart
x9=lonend
yb=y1
xb=x1
if(mproj=1)
   'set mproj latlon'
   'set ylint 5'
   'set xlint 5'
   'set grid on'
   'set cmin 22220.0'
   'd hgt'        
endif
'draw title 'The' 'track' 'of' 'typhoon''
status=0
i=0
i1=0
i2=0
i3=0
i4=0
i5=0
i6=0
i7=0
i8=0
j=0
lat0=12.3
lon0=138.5
lat1=12.31
lon1=138.51
lat2=12.32
lon2=138.57
while(status<2)
      i=i+1
      status=read('E:\work\analysis2\track\trace.txt')

      out=sublin(status,2)
      rlat.i=subwrd(out,1)
      rlon.i=subwrd(out,2)
      if(lat0=rlat.i&lon0=rlon.i&i>1)
         j=j+1
      endif
      if(lat1=rlat.i&lon1=rlon.i&i>1)
         j=j+1
      endif
      if(lat2=rlat.i&lon2=rlon.i&i>1)
         j=j+1
      endif
      if(lat3=rlat.i&lon3=rlon.i&i>1)
         j=j+1
      endif            
      if(lat4=rlat.i&lon4=rlon.i&i>1)
         j=j+1
      endif            
        
      if(j=1)
         
          i2=i2+1
         'q w2xy 'rlon.i' 'rlat.i''
          zx2.i2=subwrd(result,3)
          zy2.i2=subwrd(result,6)                                                                                                                                       
         if(i2=1)
           'draw mark 2 'zx2.i2' 'zy2.i2' 0.1'
         endif
   
         if(i2>1)
           j2=i2-1
           'draw mark 2 'zx2.i2' 'zy2.i2' 0.1'
           'draw line 'zx2.j2' 'zy2.j2' 'zx2.i2' 'zy2.i2''
         endif
      endif
      if(j=2)
                                                                                                      
          i3=i3+1
         'q w2xy 'rlon.i' 'rlat.i''
          zx11.i3=subwrd(result,3)
          zy11.i3=subwrd(result,6)                                                                                                      
         if(i3=1)
           'draw mark 3 'zx11.i3' 'zy11.i3' 0.1'
         endif
                                                                                                      
         if(i3>1)
           j3=i3-1
           'draw mark 3 'zx11.i3' 'zy11.i3' 0.1'
           'draw line 'zx11.j3' 'zy11.j3' 'zx11.i3' 'zy11.i3''
         endif
      endif
      
      if(j=3)
                                                                                                      
          i4=i4+1
         'q w2xy 'rlon.i' 'rlat.i''
          zx11.i4=subwrd(result,3)
          zy11.i4=subwrd(result,6)                                                                                                      
         if(i4=1)
           'draw mark 4 'zx11.i4' 'zy11.i4' 0.1'
         endif
                                                                                                      
         if(i4>1)
           j4=i4-1
           'draw mark 4 'zx11.i4' 'zy11.i4' 0.1'
           'draw line 'zx11.j4' 'zy11.j4' 'zx11.i4' 'zy11.i4''
         endif
      endif
      if(j=4)
                                                                                                      
          i5=i5+1
         'q w2xy 'rlon.i' 'rlat.i''
          zx11.i5=subwrd(result,3)
          zy11.i5=subwrd(result,6)                                                                                                      
         if(i5=1)
           'draw mark 5 'zx11.i5' 'zy11.i5' 0.1'
         endif
                                                                                                      
         if(i5>1)
           j5=i5-1
           'draw mark 5 'zx11.i5' 'zy11.i5' 0.1'
           'draw line 'zx11.j5' 'zy11.j5' 'zx11.i5' 'zy11.i5''
         endif
      endif
      
      
      if(j=5)
                                                                                                      
          i6=i6+1
         'q w2xy 'rlon.i' 'rlat.i''
          zx11.i6=subwrd(result,3)
          zy11.i6=subwrd(result,6)                                                                                                      
         if(i6=1)
           'draw mark 6 'zx11.i6' 'zy11.i6' 0.1'
         endif
                                                                                                      
         if(i6>1)
           j6=i6-1
           'draw mark 6 'zx11.i6' 'zy11.i6' 0.1'
           'draw line 'zx11.j6' 'zy11.j6' 'zx11.i6' 'zy11.i6''
         endif
      endif
      
      if(j=6)
                                                                                                      
          i7=i7+1
         'q w2xy 'rlon.i' 'rlat.i''
          zx11.i7=subwrd(result,3)
          zy11.i7=subwrd(result,6)                                                                                                      
         if(i7=1)
           'draw mark 7 'zx11.i7' 'zy11.i7' 0.1'
         endif
                                                                                                      
         if(i7>1)
           j7=i7-1
           'draw mark 7 'zx11.i7' 'zy11.i7' 0.1'
           'draw line 'zx11.j7' 'zy11.j7' 'zx11.i7' 'zy11.i7''
         endif
      endif
      if(j=7)
                                                                                             
          i8=i8+1
         'q w2xy 'rlon.i' 'rlat.i''
          zx11.i8=subwrd(result,3)
          zy11.i8=subwrd(result,6)                                                                                                      
         if(i8=1)
           'draw mark 8 'zx11.i8' 'zy11.i8' 0.1'
         endif
                                                                                                      
         if(i8>1)
           j8=i8-1
           'draw mark 8 'zx11.i8' 'zy11.i8' 0.1'
           'draw line 'zx11.j8' 'zy11.j8' 'zx11.i8' 'zy11.i8''
         endif
      endif
      
      if(j=0)
         i1=i1+1
        'q w2xy 'rlon.i' 'rlat.i''
         zx1.i1=subwrd(result,3)
         zy1.i1=subwrd(result,6)
   
          if(i1=1)
             'draw wxsym 41 'zx1.i1' 'zy1.i1' 0.25'
          endif
   
          if(i1>0)
            j1=i1-1
           'draw wxsym 41 'zx1.i1' 'zy1.i1' 0.25'
           'draw line 'zx1.j1' 'zy1.j1' 'zx1.i1' 'zy1.i1''
          endif
      endif
endwhile
j=0
m=0
i=0
status=0
while(status<2)
      j=j+1
      i=i+1
      status=read('E:\work\analysis2\track\initial.txt')
      initial=sublin(status,2)
      ilat.j=subwrd(initial,1)
      ilon.j=subwrd(initial,2)
      'q w2xy 'ilon.j' 'ilat.j''
      x.i=subwrd(result,3)
      y.i=subwrd(result,6)
      if(i=3)
      m=i-2
      'draw rec 'x.m' 'y.m' 'x.i' 'y.i''
      endif      
endwhile
j=0
m=0
i=0
status=0
while(status<2)
      j=j+1
      i=i+1
      status=read('E:\work\analysis2\track\end.txt')
      initial=sublin(status,2)
      ilat.j=subwrd(initial,1)
      ilon.j=subwrd(initial,2)
      'q w2xy 'ilon.j' 'ilat.j''
      x.i=subwrd(result,3)
      y.i=subwrd(result,6)
      if(i=3)
      m=i-2
      'draw rec 'x.m' 'y.m' 'x.i' 'y.i''
      endif      
endwhile













密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-10-23 21:06:15 | 显示全部楼层
{:eb502:}{:eb502:}{:eb502:}{:eb502:}{:eb502:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-1-11 16:22:48 | 显示全部楼层
已收藏,感谢楼主的分享。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-1-11 16:28:23 | 显示全部楼层
楼主有没有现成的图 拿出来分享一下!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-1-13 15:19:05 | 显示全部楼层
已下载 谢谢楼主分享
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-2-21 15:18:09 | 显示全部楼层
希望能把图一起贴出来分享。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表