爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: breeze_li

[图形美化] grads绘制市县地图问题

[复制链接]

新浪微博达人勋

发表于 2016-10-13 16:10:00 | 显示全部楼层
四叶草 发表于 2016-9-21 16:29
这个要在gs里用if语句来进行选择,调用脚本格式像cnty.gs  A 之类的。

这种边界坐标的底图我能够画了,又遇到问题了
我先用自己的范围画了变量的图,正常显示了60-160,20-70范围的图
又用这个画,结果被覆盖了。
先用这个画,不能画,显示很多错误,大概意思好像是没有规定经纬度
求指导
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-14 08:44:06 | 显示全部楼层
山山山山 发表于 2016-10-13 16:10
这种边界坐标的底图我能够画了,又遇到问题了
我先用自己的范围画了变量的图,正常显示了60-160,20-70范 ...

不懂你表达的意思,抱歉……
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-14 09:06:37 | 显示全部楼层
你好 关于边界坐标的底图画图问题我还是没有弄好,请你点拨。
我的gs很简单
'open D:\gc\shuju\lspr.ctl'
'set lon 60 160'
'set lat 20 70'
'set t 1'
'd lsprate'
然后我用的内蒙古地图,
但是不知道在什么时候用,放到这个后面重新运行nm.gs,原来的lsprate画的图就被覆盖了。如果先运行nm.gs,就显示很多错误,大概意思就是没有定义经纬度一类的。
求指导,怎么才能在画好的图中显示内蒙古底图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-10-21 09:06:48 | 显示全部楼层
山山山山 发表于 2016-10-14 09:06
你好 关于边界坐标的底图画图问题我还是没有弄好,请你点拨。
我的gs很简单
'open D:\gc\shuju\lspr.ctl' ...

你贴个完整的gs我看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-24 15:43:04 | 显示全部楼层
neimeng_map.gs
file='D:\gc\shuju\nm.txt'
file2='D:\gc\shuju\nm_ms.txt'
aa=read(file)
a=sublin(aa,2)
lon1=subwrd(a,1)
lat1=subwrd(a,2)
'q w2xy 'lon1' 'lat1
x1=subwrd(result,3)
y1=subwrd(result,6)
x0=x1
y0=y1
point1=' 'x0' 'y0
'set line 6'
i=1
while(i<=945)
bb=read(file)
b=sublin(bb,2)
lon2=subwrd(b,1)
lat2=subwrd(b,2)
'q w2xy 'lon2' 'lat2
x2=subwrd(result,3)
y2=subwrd(result,6)
point1=point1%' 'x2' 'y2
'draw line 'x1' 'y1' 'x2' 'y2
i=i+1
x1=x2
y1=y2
endwhile
'set line 0'
ff=close(file)
'set line 5 1 4'
'q gxinfo'
rec=sublin(result,3)
xmin=subwrd(rec,4)
xmax=subwrd(rec,6)
rec=sublin(result,4)
ymin=subwrd(rec,4)
ymax=subwrd(rec,6)
xmin=xmin+0.02
xmax=xmax-0.03
ymin=ymin+0.03
ymax=ymax-0.02
point2=xmin' 'y0' 'xmin' 'ymin' 'xmax' 'ymin' 'xmax' 'ymax' 'xmin' 'ymax' 'xmin' 'y0' 'x0' 'y0
points=' '
points=points% point1' 'point2
'set line 0'
'draw polyf' points
ff=close(file)
'q gxinfo'
aa=read(file2)
a=sublin(aa,2)
lon1=subwrd(a,1)
lat1=subwrd(a,2)
'q w2xy 'lon1' 'lat1
x1=subwrd(result,3)
y1=subwrd(result,6)
'set line 1'
i=1
while(i<=2183)
bb=read(file2)
b=sublin(bb,2)
lon2=subwrd(b,1)
lat2=subwrd(b,2)
'q w2xy 'lon2' 'lat2
x2=subwrd(result,3)
y2=subwrd(result,6)
'draw line 'x1' 'y1' 'x2' 'y2
i=i+1
x1=x2
y1=y2
endwhile
ff=close(file2)
return
nm.txt和nm_ms.txt都是
97.078566 42.902591
98.188566 42.721314
99.501038 42.617842
99.780487 42.668167
99.964646 42.701973
100.264726 42.690837
100.322694 42.749447
100.865718 42.737139
...
gs是
'open D:\gc\shuju\lspr.ctl'
'set lon 60 160'
'set lat 20 70'
'set t 1'
'set grads off'
'd lsprate'
'run d:\gc\shuju\neimeng_map.gs'
这种状况只有内蒙古底图没有lsprate变量绘制的图
'run d:\gc\shuju\neimeng_map.gs'
'd lsprate'
这样没有底图,只有lsprate变量绘制的图

求指导

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

新浪微博达人勋

 楼主| 发表于 2016-10-24 16:53:00 | 显示全部楼层
山山山山 发表于 2016-10-24 15:43
neimeng_map.gs
file='D:\gc\shuju\nm.txt'
file2='D:\gc\shuju\nm_ms.txt'

不好意思,你这种方法我没有用过,但估计是后画的图将先画的图覆盖了,你要不试试先d lsprate 再run nm.gs 再 d lsprate试试。
我这种绘制底图,是用.shp文件在meteoinfo中制作map文件,和边界数据,然后用province-basemap绘制的
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-25 08:44:55 | 显示全部楼层
哦 ,那还是谢谢你,欢迎继续指导交流。我也有shp数据,我在练习练习。
谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-10-25 08:52:31 | 显示全部楼层
breeze_li 发表于 2016-10-24 16:53
不好意思,你这种方法我没有用过,但估计是后画的图将先画的图覆盖了,你要不试试先d lsprate 再run nm.g ...

谢谢,你说的用shp数据转换地图的方式我试过了,很简单好用。
谢谢。
问题已经解决
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-10-25 09:16:21 | 显示全部楼层
山山山山 发表于 2016-10-25 08:52
谢谢,你说的用shp数据转换地图的方式我试过了,很简单好用。
谢谢。
问题已经解决

没事,有用就好
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-1-12 16:15:31 | 显示全部楼层
{:eb513:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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