当前位置:文档之家› GrADS绘图软件的汉化研究及业务应用

GrADS绘图软件的汉化研究及业务应用

GrADS绘图软件的汉化研究及业务应用
GrADS绘图软件的汉化研究及业务应用

G rADS绘图软件的汉化研究及业务应用

刘文明 李辑 蒋大凯 张凯 (辽宁省气象台 沈阳110015)

摘 要 根据点阵字库显示原理,提供了一种在GrADS中显示汉字的方法,建立了基于GrADS的具有中文操作界面的短期气候预测综合信息处理系统,并论述了与图形显示有关的部分GrADS使用方法。

关键词 GrADS绘图软件 汉化研究 图形显示 业务应用

在许多气象图形分析软件(如Micaps、Ncar、GrADS、Matlab等)中,Grid Analysis and Display System(GrADS)以图形美观、功能强大、操作简便、跨应用平台等优点得到国内外广大气象工作者的认可。在国内,GrADS中的汉字显示问题一直未得到很好解决。本文以利用GrADS制作中文界面的短期气候预测工作平台为例,来说明GrADS中的汉字显示及其相关的一些图形显示使用技巧。

1 G rADS汉化方案

1.1 原理

从16×16点阵汉字库中取得汉字的点阵字模信息,利用GrADS画点绘图指令,按点阵汉字的显示方式将汉字一点一点地画在屏幕上,以达到显示汉字的目的。

1.2 获取汉字字模

根据国标对汉字库的统一规定:汉字库分成若干个区,每个区有94个汉字,每个汉字均有一个确定的区码和位码。知道了区位码就相当于知道了汉字在字库中的位置。由于汉字的内码与区位码有确定的关系,所以只要通过汉字的内码就可以得到汉字的区位码,从而就可以获得该汉字的字模。设某个汉字的内码为zzbb,则该汉字在字库中的位置(记录号)为: Rec-(zz-161)×94+(bb-161)

得到记录号后乘以32,则为该汉字在字库中字模第一个字节的位置,连续读取32个字节,就可以得到这个汉字的字模。按上述原理用FOR TRAN90编制一字模转换程序,预先生成所需的字库文件。

源程序文件CHL IB.F90

输入文件HZK16(UCDOS系统提供的16×16

点阵汉字库)

HCSTR.TXT(汉字串或全角字符串文件)

CHSTRFIL.TXT(字库文件名文件)

输出文件CHSTRFIL.TXT中的字库文件。

1.3 显示

按图1所示流程即可显示汉字库中所有汉字,GrADS子程序代码略。

图1 汉字串字库显示流程

2 气候预测图形显示平台的制作及相关技巧

2.1 立体按钮的制作

本工作平台为汉化全文本显示平台,由一系列动、静态按钮组成,平台界面显示的核心子程序为立体按钮显示子程序。根据制作立体图形常用的叠加原理,变换原图形颜色并将显示位置增加一偏移量显示,即可显示出有凹凸感的立体按钮。GrADS代码略。

9

3

L IAON IN G Q IXIAN G 辽宁气象 2001(2)

2.2 query命令的使用

query是GrADS描述语言中的查询命令,其主要用法如下:

q gxinfo:获得图形状态信息

q xinfo:获得X Window状态信息

q shades:得到填充等值线颜色及排列顺序

q pos:等候鼠标单击然后返回单击位置状态

q w2gr:转换全球坐标到格点坐标

q gr2w:转换格点坐标到全球坐标

q w2xy:转换全球坐标到显示窗口坐标

q xy2w:转换显示窗口坐标到全球坐标

q gr2xy:转换格点坐标到显示窗口坐标

q xy2gr:转换显示窗口坐标到格点坐标

q pp2xy:转换投影坐标到显示窗口坐标

用这个命令可以得到鼠标在显示窗口中的单击位置;实现显示窗口坐标、格点坐标、经纬坐标、全球坐标等各种相对坐标之间的任意转换等。

2.3 c hbuff命令的使用

c hbuff主要起清除显示缓冲区的作用,可使图形按用户的需要正确输出。如果使用clear命令,虽然图形也能正确输出,但显示窗口上的其他部分也将被清除,如按钮菜单等。如果不使用clear或c hbuff,用显示背景色直接覆盖显示区,那么当显示下一幅图形时可能会出现混乱情况或未按用户意图显示图形。

3 气候预测信息处理系统的图形显示及相关技巧

3.1 常规经纬平面图

在本工作平台中,二维等压面、等高面均属于此种类型,它的显示和操作比较简单,在此不作赘述。

3.2 任意经(纬)向时间剖面图

通过鼠标选择显示区内任意经度或纬度,并从界面右边的一列时间选取菜单中选择任一时间段(逐年或逐月)即可得到任意时段的任意经(纬)向时间剖面图。在时间选取菜单中B 表示起始,E表示终止。制作了1951~1999年逐年1月40°N500hPa月平均高度距平时间剖面图(图略)。3.3 时序图及直方图

操作同3.2。制作了1951年1月~1997年7月逐月(40°N,120°E)500hPa月平均高度距平时序图(图略)。

3.4 海温场等值线图

利用GrADS处理无效值的功能,将非海洋格点值设为无效值,再显示格点场即可,制作了1999年7月月平均太平洋海温场图(图略)。

3.5 全国160测站等值线图

预先制作覆盖全国的格点场(变量为Chi2 na,国内点值为1,国外点值为-1),利用GrADS插值函数将160站站点资料插值到格点,再用maskout标记函数显示即可得到全国160站等值线图,制作了1993年1月全国160测站点月总降水量场图(图略)。

源文件China.f90(制作覆盖中国的格点场)

输入文件China.txt(中国边界线经纬度文件)

输出文件China.dat(覆盖中国格点场,国内为1,国外为-1)

显示命令d maskout(const(

oacres(China. 1,r160.2),0,-u),China.1)

将China.f90略作修改可得到覆盖任意闭合经纬边界的任意经纬格距格点场源文件。在此不作赘述。

3.6 图形放大和漫游

根据一般图像放大原理,在相同的图像显示区内,显示原部分图形,即可实现放大。操作略。

4

—L IAON IN G Q IXIAN G 辽宁气象 2001(2)

相关主题
文本预览
相关文档 最新文档