爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3652|回复: 4

[图形美化] 如何批量直线连接坐标点

[复制链接]

新浪微博达人勋

发表于 2017-11-24 11:38:58 | 显示全部楼层 |阅读模式

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

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

x
大神们,是这样的:我有一组中国部分地区的位置坐标点,需要将他们在中国地图中依次直线连接起来,类似于将各个主要铁路站点连接起来在地图上显示一样,求程序???即使没有的话,也希望可以附一下如何单纯的连接两个坐标点,可以手工一个一个连,本人grads小白,求教了~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-11-24 12:45:59 | 显示全部楼层
本帖最后由 guzhong 于 2017-11-24 12:47 编辑

关键语句就是
'set line xxx'
'draw line 'x1' 'y1' 'x0' 'y0''
set语句的xxx是线型线色线宽的设置,查一眼手册就知道对应的了,draw语句是把对应(x1,y1)(x0,y0)连起来,之前你要定义这些的位置,可以一个个定义,也可以通过read读取在txt文件里的数据。如果是经纬度lat0和lon0,需要用
'q w2xy ' lon0 ' ' lat0
语句转化成虚页英寸单位,之后
x0=subwrd(result,3)
y0=subwrd(result,6)
读取所得,再带回draw命令
当然如果你需要把点标出来就需要draw mark命令,定义一下颜色位置大小。
附一个例子吧,我用过的
'reinit'
'open D:\grib\fnl.ctl'

'enable print D:\grib\track.gmf'
'set font 1'
'set grads off'  
'set grid off'

'set lon 118 125'
'set lat 20 30'
'set cmax 0'
'set xlint 2'
'set ylint 2'
'set xlopts 1 4 0.18'
'set ylopts 1 4 0.18'
'set clopts -1 -1 0.20'
'set grads off'
'set grid off'
'd PRMSLmsl'
'basemap l 15 0 m'


read_file=read('D:/grib/loc_pre3.txt')
read_line=sublin(read_file,2)
read_line=sublin(read_file,2)
lon0=subwrd(read_line,2)
lat0=subwrd(read_line,3)
date0=subwrd(read_line,1)
*rate0=subwrd(read_line,4)
low0=subwrd(read_line,4)
'q w2xy ' lon0 ' ' lat0
x0=subwrd(result,3)
y0=subwrd(result,6)
'set line 1 1 3'
'draw mark 2 'x0' 'y0' 0.07'

i=1
while(i<=10)
xbefore=x0
ybefore=y0
ratebefore=rate0
read_file=read('D:/grib/loc_pre3.txt')
read_code=sublin(read_file,1)
if(read_code>0);break;endif
read_line=sublin(read_file,2)
lon0=subwrd(read_line,2)
lat0=subwrd(read_line,3)
date0=subwrd(read_line,1)
*rate0=subwrd(read_line,4)
low0=subwrd(read_line,4)
'q w2xy ' lon0 ' ' lat0
x0=subwrd(result,3)
y0=subwrd(result,6)


'draw mark 2 'x0' 'y0' 0.07'


'set line 1 1 3'
'draw line 'xbefore' 'ybefore' 'x0' 'y0''

i=i+1
endwhile'print'
'c'
'disable print'
'reinit'
对应的loc_pre3.txt格式
date lon lat slp wind  这样的排列方式 ,排了11行,照猫画虎做就行了,你可以只在你的txt里写lon lat,然后把我的gs里对应位置改一下
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2017-11-24 12:46:57 | 显示全部楼层
本帖最后由 guzhong 于 2017-11-24 12:48 编辑
guzhong 发表于 2017-11-24 12:45
关键语句就是
'set line xxx'
'draw line 'x1' 'y1' 'x0' 'y0''

我才记起来这里有编辑功能,贴吧玩多了。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-11-24 18:12:39 | 显示全部楼层
guzhong 发表于 2017-11-24 12:45
关键语句就是
'set line xxx'
'draw line 'x1' 'y1' 'x0' 'y0''

多谢多谢,我试试,哈哈哈~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-11-24 21:30:15 | 显示全部楼层
guzhong 发表于 2017-11-24 12:45
关键语句就是
'set line xxx'
'draw line 'x1' 'y1' 'x0' 'y0''

可以加一下您的qq吗,我的是373776053,和我之前的内容衔接不起来啊,尴尬~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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