基于WebGIS的全国降水实况监测系统设计
2011-07-24薛胜军郑卫江郑金伟
薛胜军,王 鑫,郑卫江,郑金伟
(1.武汉理工大学计算机科学与技术学院,湖北武汉430063;2.南京信息工程大学计算机与软件学院,江苏南京210044;3.国家气象中心系统开放实验室,北京100081)
随着信息技术与气象行业的融合日新月异,利用先进的技术手段来获取、分析、处理和展现气象信息是我国气象事业发展的必由之路。GIS技术,即地理信息系统也正逐渐应用在气象领域,给气象业务带来了极大的便利[1]。随着国际互联网技术飞速发展,以Web的方式来获取气象信息也是一种必然趋势。
在中央气象台的业务需求中,对全国自动站降水量进行实况监测的需求一直存在。该项业务可以使相关业务人员对全国的降水信息进行实时监测,直观了解当前及历史的气象自动站降水信息,但是目前还没有一个完好的系统或平台来完成这项任务。针对中央气象台实际的业务需求,阐述了如何依托先进的WebGIS技术,建立全国降水实况监测系统的过程,可为气象监测和预测工作提供辅助与参考。
1 WebGIS与RIA技术
WebGIS(网络地理信息系统)是基于Internet平台,客户端应用软件采用网络协议,运用在Internet上的地理信息系统[2]。它是为适应当前计算机网络技术演进而来的一种新兴GIS应用方式[3-4]。
由于Internet带宽的增加、速度的大幅提升,使得Web表现层技术由传统的HTML页面方式正逐渐发展为更注重用户体验,更具有互动性的富互联网应 用(rich internet applications,RIA) 方 式[5]。RIA客户端开发技术包括Adobe公司的Flash/Flex、微软公司的SilverLight和SUN公司的JavaFX等。在GIS领域,美国环境系统研究公司(environmental systems research institute,inc.简称 ESRI公司)所发布的ArcGISAPI for Flex就是将RIA技术运用在WebGIS系统中的一门新兴技术[6]。
使用ArcGIS API for Flex能够开发出具有ArcGISServer服务的WebGIS应用程序。该项技术运用在气象软件领域中,可以使用户获得的气象信息更加直观,更具有互动性。全国降水实况监测系统是根据中央气象台业务相关人员的需求,以ArcGISAPI for Flex开发出的具有实时监测全国自动站实况降水功能的气象业务系统。
2 系统设计思想与系统结构
2.1 系统技术路线
全国降水实况监测系统,采用B/S(浏览器/服务器)的架构方式。系统开发所用语言是Java和Flex,浏览器端程序采用Flex语言进行开发,服务器端程序采用Java进行开发。开发工具使用Eclipse 3.6,Flash Builder 4插件。Web服务器使用Tomcat 5.5与Blaze DS,地理信息GIS服务器使用ArcGISServer 9.3,数据库服务器使用My SQL 5.1。系统技术路线如表1所示。
表1 系统技术路线
2.2 系统结构
系统采用B/S系统的架构模式,可有效地将客户浏览器端、Web服务器端、数据库服务器端和GIS服务器端整合在一起,系统总体结构如图1所示。
图1 系统总体结构
(1)浏览器端。浏览器端程序的开发主要使用了 ArcGIS Server API for Flex技术。通过该API可创建用户界面直观、视觉效果丰富且易响应的富互联网 GIS 应用程序[7-8]。
ArcGISServer是一个基于Web的企业级GIS解决方案,ArcGISServer为创建和管理基于服务器的GIS应用提供了一个高效的框架平台。它充分利用了ArcGIS的核心组件库ArcObjects,并且基于工业标准提供 WebGIS 服务[9]。ArcGIS Server为开发WebGIS应用提供了不同开发平台使用的WebAPI,其中包括:ArcGIS API for JavaScript、Arc-GIS API for Flex、ArcGIS API for Microsoft Silverlight/WPF、.NETWeb ADF、JavaWeb ADF[10]。
(2)服务器端。该系统的主要数据来源于国家气象中心Micaps服务器中的实况降水数据。该服务器中存放了来自于全国自动站的每个小时的降水信息,均以文件形式进行保存,文件名以时间进行命名。
后台服务器Java程序包括两个基本模块:数据定时导入模块,数据库查询模块。
数据定时导入模块是按一定的时间间隔定时访问Micaps服务器,遍历每小时自动站降水文件,将最新的降水信息导入到My SQL数据库中。
数据库查询模块部署在JavaEE服务器Tomcat中,用来处理浏览器端Flex应用程序的数据查询请求。在技术上使用了Blaze DS,它是一个基于服务器的Java远程调用和Web消息传递技术,能够让后台的Java应用程序和运行在浏览器上的Flex应用程序相互通信。
3 数据库设计
全国降水实况监测系统的数据来源是Micaps文件服务器中的实况降水文件。文件是以每小时降水的时间来命名的,例如(10120513)。某一时次的文件内容为:气象自动站站号、经度、纬度、降水值。例如(724611 131.13 45.34 3.2)。
数据库采用轻量级的My SQL。根据Micaps文件信息,建立两个基本表(降水值表和站点表)如表2和表3所示。
表2 降水值表
表3 站点表
在站点表中存储全国气象自动站信息,包括143个基准站,1 591个一般站,29 341个区域站的基本信息。
在表2中,数据包括记录id、降水时间、站点id、纬度、经度和降水值等,该表提供了查询自动站降水的基本信息。
在表3中,数据包括全国自动站的站号、站名、纬度、经度、站类及所属省、市、县等信息,可以结合表2提供完整的全国某一时次的降水信息。
数据定时导入模块中的降水值表数据维护程序是指在Tomcat中,部署有定时读取MICAPS文件,并导入到数据库降水值表的Java程序。该程序使用Java Web开发中的listener监听器,该监听器在服务启动之前初始化一个Timer定时器实例,即每隔一段时间(该时间可由服务器管理员自己设定)执行数据导入程序。考虑到数据库查询效率问题,在数据库中只存放48小时以内的全国气象自动站降水数据,超出时间范围的数据由程序自动删除。
4 系统功能实现
4.1 总体功能
全国降水实况监测系统的主要功能是对全国气象自动站的降水信息进行直观的监测。
用户可以自己设定查询条件,来查询截至当前时间全国1 h、3 h、6 h、12 h、24 h 气象自动站的降水值,并且可以按照降水值的范围对站点进行不同颜色的区分。系统总体界面图如图2所示。
图2 系统总体界面图
1 h、3 h、6 h、12 h降水区分范围为0 ~4 mm,4~13 mm,13~25 mm,25~60 mm,>60 mm,其图例如图3所示。
图 3 1 h、3 h、6 h、12 h 降水值图例
24 h降水区分范围为0~10 mm,10~25 mm,25 ~50 mm,50 ~100 mm,100 ~250 mm,>250 mm,其图例如图4所示。
图4 24 h降水值图例
4.2 手动控制查询功能
在降水控制查询面板中(图5),用户可以在下拉列表中选择 1 h、3 h、6 h、12 h、24 h,相对应在地图中显示自动站的降水信息,例如“截至2010年12月27日21时全国24 h降水实况”。
图5 降水控制查询面板界面
用户也可以使用勾选框,根据降水值范围0~4 mm,4 ~13 mm,13 ~25 mm,25 ~60 mm,>60 mm,来控制某个降水范围的自动站信息是否在地图中显示。
4.3 自动播放功能
(1)面板单站播放(图6)时,正在播放的站点会出现红色提示符,并在屏幕底部显示当前播放站点信息,例如“站号:864410站名:降水:1.0”。
图6 单站播放面板界面
(2)按降水值面板(图7)播放时,在某一个时间段内,会将站点按照降水值范围进行区分,播放时依次显示当前播放中降水范围内的站点降水信息。
(3)面板循环播放(图8)时,会按照1 h、3 h、6 h、12 h、24 h的顺序循环播放,在某个时间段内,首先会进行单站播放,然后进行降水值播放。进而再进行下个时间段内的单站播放与降水值播放。
(4)面板逐小时播放(图9)时,是从当前时间,往前推24 h,然后从过去的24 h内,依次播放各个小时时间段内自动站的降水信息。该功能可直观地反映过去24 h内全国降水变化情况。
5 结论
图7 降水值播放面板
图8 循环播放面板
图9 逐小时播放面板
基于WebGIS的全国降水实况监测系统,采用了WebGIS领域较新的开发技术,体现了富互联网应用的界面美观,用户操作友好等新特性。系统结合国家气象中心的实际业务需求,对全国自动站的降水信息进行汇总、分类,并实现了多种自动播放方式,有利于业务人员更直观地监测当前降水信息。系统自完成以来,能够无间断定时更新数据,并在无人值守的情况下,依据播放规则自动播放更新降水信息,成功地实现了全国降水实况监测的功能。
[1]孙利华,吴焕萍,郑金伟,等.Flex的气象信息网络发布平台设计与实现[J].应用气象学报,2010,21(6):754-761.
[2]吴焕萍,罗兵,王维国,等.GIS技术在决策气象服务系统建设中的应用[J].应用气象学报,2008,19(3):380-383.
[3]吴涛,戚铭尧,黎勇,等.WebGIS开发中的RIA技术应用研究[J].测绘通报,2006(6):34-37.
[4]汪林林,胡德华,王佐成,等.基于Flex的RIA Web-GIS研究与实现[J].计算机应用,2008(12):3257-3260.
[5]刘旭林,赵文芳,刘国宏.基于WebGIS的气象信息显示和查询系统[J].应用气象学报,2008,19(2):116-112.
[6]郑卫江.气象要素可视化与台风灾害评估关键技术研究[D].北京:首都师范大学图书馆,2007.
[7]刘南,刘仁义.WebGIS原理及其应用:主要WebGIS平台开发实例[M].北京:科学出版社,2002:253-257.
[8]高梅,张文华,接连淑.WebGIS技术在气象科研数据共享系统中的应用尝试[J].应用气象学报,2004,15(增刊):168-170.
[9]百度百科.WEBGIS[EB/OL].[2011-03-28].http://baike .baidu.com/view/41463.htm.
[10]ESRI.GIS服务平台企业版[EB/OL].[2011 -03-28].http://resources.arcgis.com/zh - cn/content/arcgisserver/web -apis.