航空 发表于 2011-10-10 15:21:10

基于气象数据库平台开发预报业务监视系统

**** Hidden Message *****

航空 发表于 2011-10-10 15:21:19

<P>基于气象数据库平台开发预报业务监视系统<BR>李占睿民航新疆空管局气象中心乌鲁木齐工程师(830016)<BR>内容提要:<BR>利用 SYBASE数据库软件开发技术,结合预报员在飞行保障中的工作需求,对地方航危报、民航报、重要气象情报等资料进行数据处理后,以简洁明了的方式与卫星云图、雷达图、WAFS资料共同显示在基于 C/S与 B/S结构的预报员业务监视平台。关键词:<BR>气象资料分析引擎数据分解、入库数据反演<BR>正文:一、系统简介<BR>本系统使用了 PB6.0、 SYBASE OpenClient、VISUAL C++等软件工具开发,可以运行在 WINDOWS 95以上操作平台。系统资料来源于数据库系统中的民航气象报文(SA、SP、FC、 FT、WS)及新疆地方航危报。系统通过对资料进行客观的分析、拆解、量化、翻译后,最终以简单易懂的图形化方式系统地显示在预报员业务监控平台。同时处理后的资料可以以 B/S形式在 Intranet上发布,预报员可以将这些资料结合 BROWSER平台提供的云图、雷达图、WAFS资料,对业务监控站点不同时间段的天气系统资料进行全面的分析与监控,从而对一个天气系统的整个演变过程有一个全面的掌握。为了便于预报员对过去天气系统的经验总结,本系统同时提供了天气资料的导入与导出功能,使过去天气系统资料能够简单有效的反演在预报员业务监控平台,并根据要求可以对资料进行各种格式的打印。<BR>二、实现原理。民航实况资料与航危报资料在进入数据库后,报文内容以要素形式分解存储于要素<BR>库中。但是因为分解程序对民航报文与各地的航危报分解存在 BUG,造成资料的翻译与<BR>显示与报文实际内容不一致。所以,在开发本系统时,按照新的算法重新对报文进行了分解。为了便于本系统的开发及日后维护,系统采用了面向对象的设计方法,按照功能模块设计开发,具体分为数据分析模块、数据处理模块、数据入库模块、数据显示打印模块、数据反演模块,模块关系如下:</P>
<P>恢复<BR>归档资料</P>
<P>存档<BR>数据显示打印模块</P>
<P>(图 1模块关系图)<BR>(一)、数据分析模块<BR>因为气象报文比较复杂,为了提高报文分析、拆解效率,按照民航报与航危报的格式设计了报文分析引擎,当有新的报文时,分析引擎按照报文的分析原则,可以迅速准确的得出结果。由于采用面向对象模块化设计,当报文分析原则改变时,可以较容易的维护系统。分析引擎设计为民航报分析引擎与航危报分析引擎: 1、民航报分析引擎。<BR>民航实况报文比较规整,所以分解起来相对简单,需要注意的问题主要有: <BR>①出现多个云组时云高、云量、云状的翻译。</P>
<P>当报文中出现 VV、CB、TCU字符串时,一般有较多的云层,根据云组特征字符串定位各层云组及云高,按照从低到高的顺序,以不同的颜色显著标识在预报业务监视平台。</P>
<P>② AUTO的翻译与显示。</P>
<P>如果监测的目标站点使用了自动观测系统,当观测实况报文由计算机自动编发时,报文中会有 AUTO标识。报文在拆解翻译后,显示在预报员业务平台时,需要将 AUTO明显标识。 </P>
<P>③存在 RVR数据时的编码与翻译。</P>
<P>当报文中存在跑道视程时,打乱了报文的各个要素相对位置,此时,分析引擎按照报文长度、特征字符、报文可选结构等算法,识别跑道视程等气象要素,并且进行翻译。 </P>
<P>④最大风速时、风向不定时的翻译如果监测的目标站点有阵风时,在风向、风向数据组中会出现最大风速数据,这</P>
<P><BR>时的报文内容也比较复杂,需要根据内容的位置与特征字符处理风组气象数据。 2、地方航危报分析引擎。航危报的数据格式如下:航空天气报告格式 <BR>GGgg0 IIiii Nddff VVwwWz 8NsChs 992DaDb 0TTTdTd<BR>危险天气报告格式 <BR>99999/55555 GGggWz IIii 1ddfxfx 2VVww 8Ns9hshs 992DaDb<BR>其中, 99999为危险报指示组 55555为危险报解除指示组 GGgg0和 GGggWz观测时间组 IIiii为区号、站号组 Nddff和 1ddfxfx为云组风组VVwwWz和 2VVww是能见度组与天气现象组 8NsChs和 8Ns9hshs是专为积雨云和浓积云编报的云组 992DaDb危险天气所在的方位组 0TTTdTd温度、露点组<BR>可以看出,地方航危报的数据格式并不是非常固定,所以,在设计分析引擎时,除了按照格式检测原则与要素决定原则、报文可选格式原则分解报文,还需要注意以下问题: <BR>①绘图报的翻译。</P>
<P>当地方航危报中有温度、露点数据项时,称为绘图报。绘图报在一些站点发送时间并不固定,所以,判断绘图报的依据就是地方航危报中有无温度、露点数据项。绘图报的翻译中,最困难的就是云组的翻译。首先判断云层有无 CB云,此时云层的云状有 TCU与 CB;其次,在绘图报中,云组数据判断是云高决定云状。在取得云高数据后,根据云高判断云层,不同的云层,云状的数字代码代表的云状的含义也不相同。绘图报的云层数据主要有低云:Tcu Cu CB Ns Sc;中云: As Ac;高云:Ci。云量从 1到 8的代码按照民航报文常用术语翻译为相应的 FEW、SCT、 BKN、OVC。 </P>
<P>②非绘图报的翻译</P>
<P><BR>非绘图报中云层的判断依据是云状决定云高,所以,判断云层情况是根据云状数据代码进行分解:<BR>低云的云状有 Ns、 Sc、 St、 Cu、 CB,相应云组数据代码为 5、6、7、8、9;<BR>中云的云状有:Ac、 As相应云组数据代码为 3、4;高云的云状有:Ci、Cc、Cs相应云组数据代码为 0、1、2。(二)、数据处理模块<BR>为了便于分解后的数据能够直观的显示在预报员业务监控平台,需要将分解后的数<BR>据统一为民航格式,数据处理模块主要完成下列功能: 1、处理航危报中有多个云组的情况,特别是有 CB云组时的翻译与编码; 2、处理航危报中天气现象代码的翻译与编码;<BR>航危报中的天气代码从 0-99,其中,1-3为保留,从 4-99均可以翻译为民<BR>航气象现象代码,例如 4—FU 5—HZ等等。 <BR>3、绘图报中温度、露点翻译与编码; <BR>4、航危报中的能见度、风向、风速、OK天气的翻译与编码。</P>
<P>(三)、数据入库模块。<BR>为了维护翻译好的气象数据的安全性与完整性,在 SYBASE数据库上建立民航报分解数据库,航危报分解数据库,实况资料反演库 3个数据库,三个库的库结构互相关联,便于资料的输入与输出。 1、建立民航实况资料翻译数据表格、航危报翻译数据表格,航危报资料表格、民航报<BR>资料表格、监测目标站点数据表格、历史资料表格,便于维护业务监控资料与存储数据分解的各个阶段数据。 2、为了便于数据入库保存,对分解的数据可以进行自动与手动数据入库操作。自动入库可以选择每 10分钟自动运行一次或者次日 00:10分将前一天数据全部入库保存。(四)、数据显示、查询、打印模块。<BR>系统为用户提供了多种方式资料的查询与显示功能: <BR>1、一个航站进行多个时次的查询。<BR>提供对选择的目标站点进行多天、多个时次的资料查询,便于预报员能够对一个地区或监视站的天气状况和一个天气系统产生、发展过程有一个直观、全程的把握。 2、某一个时次对多个航站进行查询。<BR>提供某一个时次对所有监控站点进行资料查询。便于预报员在统一时间对不同地区或者监视站点的天气情况进行对照,监视的站点在地图上可以动态增加。 3、填图与报文的对比检查。<BR>当气象报文以简单易懂的图形化界面显示时,为了便于预报员对系统填绘的内容与原始报文之间进行对照,特别设计了通过简单的切换,就可以在地图上以两种形式实现图形与报文的对照查询。 4、 SA、SP、FC、FT、WS在日界交换时资料的查询。<BR>为了实现在一个平台上能够对所有气象报文资料进行详尽地查询,在设计查询软件时,通过对报文分析引擎提取不同类型报文的有效时间(validate time),针对报文的有效时段存在跨日、跨月、跨年时资料存放于数据库三张表中的情况,在数据入库时设置了相应查询指针,从而可以查询到每个业务监控站点所有资料。 5、使用 VISUAL C++函数图形化输出。<BR>使用 VISUAL C++的 MFC函数,可以对翻译后的数据进行图形化的输出,同时,可以对图形产品进行 BMP标准格式输出保存。 6、数据窗口的用户对象查询与打印。<BR>使用了数据窗口的用户对象查询技术,设计了父子数据查询窗口。当查询数据父窗口相应站点内容时,数据子窗口按照用户对象脚本定义,将在数据库中自动查询资料并<BR>进行显示,因为用户对象可以在数据库中以线程形式存在,所以,对 SYBASE数据库的<BR>查询速度非常迅速,用户请求响应时间非常短,查询输出内容同时提供各种格式的打印功能。(五)、数据反演模块。 1、历史数据的备份、恢复、反演采用了文件输入输出的方法。当需要备份历史数据时,可以将 SYBASE数据库中的历史数据保存在系统规定目录的 CSV格式文件中,这种文件格式可以使用 EXCEL等工具打开操作。如果需要将保存的历史资料反演,则可以从 CSV文件中直接读取数据进入到 SYBASE实况资料反演库的相应表格中,在预报业务监控平台对数据进行显示与业务处理。 2、翻译后的数据与云图、雷达图、天气图、WAFS结合使用。因为使用了单独的数据库及数据表,可以方便地设计 SYBASE数据库 OpenClient驱动的数据库站点,在 BROWSER/SERVER平台,文字化或者图形化的民航报与航危报数据与 WEB平台已有的云图、雷达图、天气图、WAFS结合使用,提供一个完整的飞行气象服务系统。三、系统应用现状。<BR>系统经 2个月的试用后,健全了分析引擎中的报文可选格式分析报文的原则,对地方航危报中的部分天气现象进行了地域化的分析与翻译,现在正式投入业务运行。<BR>参考文献: 1、《民航气象数据库功能规格书》北京:天译计算机公司 1998: 200 <BR>2、何军刘红岩主编《PowerBuilder原理与应用开发指南》北京:电子工业出版社 1997:800 <BR>3、谭浩强编《Visual C++程序设计》北京:清华大学出版社 2000:210 <BR>4、陶蒲洲李强主编《SYBASE数据库技术大全》科学出版社 1996:510 <BR>5、萨师煊王珊《数据库系统概论》高等教育出版社 1993:260 <BR>Exploring Forecast Operation Monitoring System base on AMIDS <BR>Li ZhanRui <BR>Urumqi Meteorological center of XinJiang ATMB engineer Post code:830016 <BR>Abstract: <BR>Using Sybase exploitation technology,associated with forecaster work demands, SX reports、aviation weather reports and WS reports were transacted,with radar picture、satellite picture、WAFS product etc.,were displayed on forecast operation monitoring platform ,which using C/S or B/S structure, with straightforward mode。 <BR>K<BR>e<BR>y<BR>w<BR>o<BR>r<BR>d<BR>s<BR>: <BR>Meteorological data analyse engine data transacted data inverse </P>
<P><BR>&nbsp;</P>

yygao 发表于 2012-4-18 18:06:33

好东西,去看看,谢谢分享。
页: [1]
查看完整版本: 基于气象数据库平台开发预报业务监视系统