爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4324|回复: 6

[脚本编辑] cnbasemap 如何只画自己指定的等值线

[复制链接]

新浪微博达人勋

发表于 2018-4-17 17:11:53 | 显示全部楼层 |阅读模式

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

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

x
画降水站点插值成格点图,想只画自己指定的等值线,但是使用cnbasemap 命令后,会出现原来自带的等值线,相当于是和我自己指定的线都画出来了,想问问如何消除原来的那些等值线,自己试了好多次都不行,gs和图如下
'reinit'
'open e:/js/grid.ctl'
'open e:/js/sta.ctl'
'set grads off'
'set mpdset cnworld'
'set map 1 1 1'
'set lon 108 118'
'set lat 20 26'

'define rgrid=oacres(g,rain2.2(t=19))'

'set clevs 25'
'd rgrid'

'set clevs 50'
'd rgrid'

'set clevs 80'
'd rgrid'

'cnbasemap rgrid'

'printim e:/js/123.png white'
;

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

新浪微博达人勋

发表于 2018-4-17 18:53:53 | 显示全部楼层
本帖最后由 river 于 2018-4-17 18:55 编辑

你打开看看cnbasemap里面的命令,它本身自带了display的命令了·····而且你先了解一下set clevs 命令的用法吧
set clevs
set clevs lev1 lev2 lev3 ... levN
Sets specific contour levels.

Usage Notes
  • Contour levels are reset with every execution of clear or display.
  • set clevs is often used with set ccols to override the default settings and specify exact contour levels and the colors that go with them.
  • See section of User's Guide on controlling colors in Grads for more details.

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

新浪微博达人勋

 楼主| 发表于 2018-4-17 21:04:44 | 显示全部楼层
river 发表于 2018-4-17 18:53
你打开看看cnbasemap里面的命令,它本身自带了display的命令了·····而且你先了解一下set clevs 命令的 ...

我改了cnbasemap.gs里面的内容
say args
  if (args='')
   say usage1 ;say usage2
  return
  endif
  varname = subwrd(args,1)
color   = subwrd(args,2)
if (color = '')   ; color = 0  ; endif   
  'set clevs 10 25 50 80'
  'd 'varname

file = 'D:\OpenGrADS\Contents\out\CN_OUT.TXT'
就是只在'd 'varname之前加上  'set clevs 10 25 50 80',其他命令没变
然后的确只显示指定的值了,但是发现出图png格式就能正常屏蔽掉国界外的线
而出图gmf格式,就不能屏蔽掉而且还提示有错误,
见楼下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-17 21:21:58 | 显示全部楼层
本帖最后由 爱喝柠檬汁 于 2018-4-17 21:27 编辑

下面是出图png的gs
'reinit'
'open e:/js/grid.ctl'
'open e:/js/sta.ctl'

'set grads off'
'set mpdset cnworld'
'set map 1 1 1'
'set lon 108 118'
'set lat 20 26'

'define rgrid=oacres(g,rain2.2(t=19))'

'set gxout contour'
'cnbasemap1 rgrid'

'printim e:/js/1.png white'
;

然后是gmf格式
'reinit'
'open e:/js/grid.ctl'
'open e:/js/sta.ctl'

'enable print e:/js/3.gmf'
'set grads off'
'set mpdset cnworld'
'set map 1 1 1'
'set lon 108 118'
'set lat 20 26'

'define rgrid=oacres(g,rain2.2(t=19))'

'set gxout contour'
'cnbasemap1 rgrid'

'print'
'disable print'
;


图1是png格式的图就能正常屏蔽,
图2是出图gmf格式时弹出的提示:“内部错误:多段线太长了不能继续画画”
图3是gmf格式的图,无法屏蔽
以前就遇到过类似的问题,自己思考过但是没有解决,
感谢river的无私帮助
1.png
2.png
3.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-18 09:26:54 | 显示全部楼层
{:eb315:}{:eb315:}{:eb315:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-4-18 20:13:57 | 显示全部楼层
求助各位路过的大神们!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-18 21:03:42 | 显示全部楼层
爱喝柠檬汁 发表于 2018-4-17 21:21
下面是出图png的gs
'reinit'
'open e:/js/grid.ctl'

这个可能就是cnbasemap的问题了。你升级你的grads到2.1版本的吧,即使出png的图,质量也会好不少
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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