华韵子 林红
摘 要:以上海市气象局分区预警系统为例,探讨基于富互联网应用(RIA)的WebGIS在气象业务系统中的应用。通过对WebGIS的架构模式在气象行业中的典型应用的分析,重点阐述了在分区预警系统中如何利用RIA技术以解决海量气象数据实时显示分析的问题,并提出了一种基于RIA的通用气象WebGIS架构,研发基于RIA的上海市气象局分区预警系统;利用该架构可实现大容量气象数据在GIS上的显示分析,交互性强,更加适合气象业务系统使用。
关键词:WebGIS;RIA;预警信号
中图分类号:TP399 文献标识码:A
1 引言(Introduction)
GIS(地理信息系统)近年来在气象行业中得到越来越多的应用,为气象信息的展示、分析与发布发挥了极大的作用。其从桌面GIS软件发展到如今的WebGIS[1,2] ,虽然经过不断的发展,仍不能完全满足气象业务对于高度互动性、丰富用户体验以及复杂计算功能等方面的需求,因此基于RIA(Rich Internet Applications富互联网应用)的气象GIS技术是当前的发展方向。本文通过对WebGIS的架构模式在气象行业中的应用及优缺点的研究,探讨了在分区预警系统中如何应用RIA技术;设计了基于RIA的通用气象WebGIS架构,并研发基于RIA的上海市气象局分区预警系统。
2 应用现状(Application status)
根据WebGIS的架构种类以及数据传输形式,WebGIS在当前气象行业中的应用主要存在三种模式:瘦客户端模式、胖客户端模式和混合模式。
瘦客户端模式,也称为服务器模式。该模式是以栅格数据作为数据返回对象,工作流程如图1所示。使用该模式开发的系统如:中国气象科学研究院研发的中尺度灾害天气分析与预报系统(MWAFS)[3]。使用瘦客户端模式的优点是浏览便捷,利用服务器的性能可以完成大量的复杂分析,但其缺点是所有计算汇聚在服务器端,计算压力过大。
第二种模式为胖客户端模式,也称为客户端模式。该模式是以矢量格式的数据作为数据返回对象。其工作流程如图2所示。其典型应用是国家气象中心开发的决策气象服务系统(MESIS)[4]。胖客户端模式可以利用客户端完成多种气象要素的检索与分析,响应速度较快、图形绘制功能强大,但是其数据交换量比瘦客户端大,且复杂计算均需在客户端完成,对客户机性能要求较高。
混合模式是指利用以上两种模式的优点进行组合,取长补短的一种结构模式。当需要进行复杂空间分析,例如绘制等值线图时则采用瘦客户端模式;而当需要进行统计分析生成图表且对响应时效要求较高时可采用胖客户端模式。这种混合组织模式既能充分利用服务器强大的计算能力,又能避免客户端资源浪费,其工作流程如图3所示。
当前混合模式的发展趋势是利用RIA技术来实现。RIA是新一代的网络应用程序[5,6]。基于该技术的WebGIS具有许多传统WebGIS所不具备的特点:(1)拥有丰富的数据模型,可以将部分原本需要在后台程序处理的过程转至客户端处理,且查询结果能够被缓存在客户端,从而提高系统响应效率。(2)拥有与桌面软件类似的丰富控件,更符合预报人员的使用习惯。这些特质使其能够满足气象GIS对于数据实时性、高度互动性及海量数据显示分析的需求。
3 关键技术(Key technology)
3.1 RIA的实现技术
GoogleMap是最早提出使用RIA切片技术的WebGIS系统。其核心技术是将空间数据事先按照不同比例尺进行切片,并生成栅格图片存储在服务器端;当浏览器提交地图显示任务时,系统直接从服务器端下载当前比例尺下的切片图片,并通过浏览器端的脚本完成图片排列后显示地图[7]。利用GoogleMap提供的API可以实现一些简单的地图显示功能。但是这种开发方式难以满足大容量气象数据分析需求,而且无法进行自定义的分析操作。近几年ESRI公司推出ArcGIS API for Flex和ArcGIS API for Sliverlight技术不仅提供了RIA的开发方式,并且能够开发气象空间数据的存储、发布、查询、分析甚至在线编辑功能,这使得基于RIA的气象WebGIS可以个性化的进行实时分析显示,其功能更加强大,在气象部门得到广泛应用[8-11]。
3.2 海量气象数据实时显示分析
在气象WeGIS系统设计中,海量数据的实时显示一直是个难题[12]。其中最主要的问题在于显示这些气象数据效率太低,导致用户等待时间过长。将RIA技术应用于气象WebGIS的系统设计之后,可以充分利用RIA的优势来解决这个问题。首先将所有的气象数据划分为静态图层和动态图层两个部分。通常情况下,在气象业务应用系统中有很大一部分数据都是可以作为静态图层存在。这类气象数据通常数据量大且生成产品后一般不会再需要进行二次统计计算,例如雷达组合反射率产品、数值预报6小时累积雨量产品等,而类似自动站这类经常需要统计计算的数据则可作为动态图层。将数据分类后,可以将静态图层利用切片技术在服务器端定时按比例尺生成切片;而动态图层部分可以直接根据当前地图范围请求相应的矢量数据传输到客户端,由浏览器端进行绘制。静态图层和动态图层在浏览器端利用RIA技术进行叠加,静态图层的显示就是将相应范围内的地图切片显示在Web页面中,而动态图层的矢量数据由于在浏览器端还可利用RIA进行空间数据缓存,以避免重复从数据库调用同一数据,从而减少网络负载。具体原理如图4所示。
4 基于RIA的气象GIS架构设计(Architecture
design of meteorological WebGIS based on RIA)
基于RIA设计的气象GIS架构适用于各类对电子地图有需求的气象信息系统,其具有一定的通用性。系统在逻辑上设计为三层架构,即前台气象空间信息应用层、中间件地理信息及气象业务分析服务层和后台气象数据层。架构图如图5所示。
4.1 应用层
前台气象空间信息应用层通过Silverlight、Flash Player等RIA客户端在浏览器上显示、查询和分析气象信息。简单的系统功能可以利用RIA技术直接在应用层完成,如异步刷新、空间数据缓存,图形渲染叠加显示等;而复杂的应用则通过中间件应用服务器的Web组件服务来实现。由于客户端采用RIA技术,保证了用户操作得到及时响应,确保类似桌面端的用户体验。
4.2 服务层
中间件地理信息及气象业务分析服务层是整个系统的核心,所有气象地理信息系统功能在该层实现。该层可分为三大类服务:基础服务、核心服务和接口服务。基础服务包括坐标转换模块、影像信息发布模块、气象专题信息发布模块等;核心服务包括由目录服务、气象空间数据服务、电子地图服务等模块组成的数据服务和由查询浏览服务、空间分析服务组成的功能服务;接口服务则由应用级接口和平台及接口组成。
4.3 数据层
数据层可分为数据存储管理和数据处理工具两部分,主要完成基础地理空间数据和气象专题数据的存储和管理。各种气象信息以数据库的形式或文件形式存储在服务器上。数据存储管理提供数据备份、数据存档、数据服务、数据安全等机制。数据处理工具则包括气象数据采集、数据转换、静态图层切片、符号化等模块。
4.4 架构应用
根据基于RIA的气象GIS架构设计研发了上海市气象局分区预警系统。该系统使用Macromedia Flash/Flex作为RIA核心开发技术;使用ArcGIS API for Flex 2.4作为WebGIS应用开发框架。客户端利用Flash Player实现气象分区预警的分析、制作、查询显示等功能。系统采用功能模块化开发方式,主要包括以下三大模块,如图6所示。
(1)实况和预报数据显示模块:实现自动站、雷达、闪电定位等实况数据及快速循环同化更新系统STI-WARR的数值预报格点数据在浏览器端利用RIA技术进行叠加显示分析。其中雷达及格点数据作为静态数据预先在服务端进行切片,生成栅格图像;而自动站和闪电定位数据则作为动态图层直接将矢量数据传输到客户端,由浏览器端进行绘制。
(2)预警制作与发布模块:利用RIA技术高互动性及数据易于缓存的优势,实现分区域的预警发布、更新、解除等功能。用户可在地图上绘制预警落区,系统利用空间分析技术计算预警落区覆盖的行政区并生成图像及Word文档。
(3)系统管理模块:实现了系统中各类配置信息及权限的设置。系统可进行发布单位管理、预报员管理、预报首席管理、值班台长管理等,不同的用户可设置不同的浏览及制作权限,且不同区县的用户预警制作范围也有所不同。中心台可制作全市的预警信号,而各个区县只能制作本区县的预警。
5 结论(Conclusion)
基于RIA技术的上海市气象局分区预警系统具有以下几方面的特点:(1)解决了系统跨平台的问题,可移植性增强;(2)架构简单,可模块化开发,代码重复利用率高;(3)利用该架构可实现大容量气象数据在GIS上的显示分析,交互性强,更加适合气象业务系统使用。
参考文献(References)
[1] 肖卫.GIS在电力行业中的应用[J].软件工程师,2001(6):38-40.
[2] 胡瑞鹏,王刚,祁勉.GIS在城市服务热线领域的研究应用[J].软
件工程师,2013(10):50-52.
[3] 高梅,等.中尺度灾害天气分析与预报系统综合显示平台[J].
应用气象学报,2011,22(5):621-630.
[4] 吴焕萍,等.GIS技术在决策气象服务系统建设中的应用[J].应
用气象学报,2008,19(3):380-384.
[5] 王林.RIA技术概览[J].程序员,2005,(2):64-66.
[6] 张臻.基于ArcGISServer与RIA技术的WebGIS研究与实现
[D].南京农业大学,2009.
[7] 张宝才.RIA技术在GeoWeb中的应用研究[D].中国地质大学,
2009.
[8] 兰红平,等.深圳市气象灾害分区预警系统研究[J].气象科
技,2010,38(5):629-634.
[9] 李强,等.基于GIS的小区域气象灾害精细化预警系统[J].气象
科技,2014,42(1):89-93.
[10] 黄亮,等.全球增暖背景下中国干湿气候带变化规律研究[J].
气象科学,2013,33(5):570-576.
[11] 甄计国,陈全功,韩涛.甘肃省各流域降水量的GIS模块插值
估计与改进[J].气象科学,2009,29(4):467-474.
[12] 崔杨,罗兵,胡争光.基于地理信息服务的海量气象信息网络
发布[J].气象科技,2013,41(3):476-479.
作者简介:
华韵子(1981-),女,硕士,工程师.研究领域:气象行业软件
研发.
林 红(1966-),女,硕士,高级工程师.研究领域:气象行业
软件研发.