论文部分内容阅读
摘要引进先进的RIA技术,构建RIA下的Web客户端平台,针对系统需求分析,进行了系统总体设计和客户端详细设计,且基于GeoDatabase和SQL SERVER 2008技术完成数据部署,整合Flex、Spring、Hibernate及ArcGIS API For Flex等技术开发了集基本GIS功能、气象数据浏览查询、指导预报、精细化预报、风险产品制作、在线会商、模拟考试和工具箱等功能于一体的气象预报预警系统客户端;以宁夏回族自治区为例,系统地对各个功能进行了具体地实现应用,为宁夏回族自治区极端天气防御及预报提供了强有力的信息支持。
关键词气象预报预警系统;Flex;客户端;设计;RIA;GIS
中图分类号S162文献标识码
A文章编号0517-6611(2016)08-208-06
AbstractAdvanced RIA technology is introduced to build a Web client platform under RIA.For the system requirement analysis, we designed the overall system and the client.Additionally, the authors not only used GeoDatabase and SQL SERVER 2008 to complete data deployment, but also integrated techniques such as Flex, Spring, Hibernate and ArcGIS API For Flex to develop a client of meteorological forecasting and warning system, which integrated the basic GIS functions, meteorological data browsing, forecast guidance, refined weather forecast, online product production, online consultation, mock examinations and toolbox in one.With Ningxia Hui Autonomous Region as the research object, realization application of each function was systematically carried out, which provided strong information support for extreme weather forecasting and warning.
Key wordsWeather forecasting and warning systems; Flex; Client; Design; RIA; GIS
气象灾害具有范围广、强度大及频率高等特点,常会给生态、环境、社会、经济带来诸多问题,因此,如何构建完善的气象预警预报系统一直以来是气象相关研究机构研究的前沿与热点。随着公众气象意识的增强,人们对气象信息的需求越来越高,同时伴随着气象业务信息化建设步伐的加快,气象部门积累了越来越多的各类综合气象探测资料和预报数据。现有的气象信息处理系统(如Midcaps 3.0)能够对实时获取的全球气象观测数据(自动站数据、区域站数据、卫星云图、遥感图像、数值预报产品等)进行迅速、准确处理,并根据这些观测数据制作各种形式的天气预报指导产品[1]。如何将这些观测资料和预报指导产品进行综合在线展示,并能够形象、快速、及时地以互联网方式发布,以便为气象工作人员和公众服务,已成为当前国家气象信息网络化、集约化建设的主要内容[2]。
近年来,有关气象预警预报方面的研究成果较多[3-8],如黄露[6]将GIS与DSS结合起来,充分利用GIS对空间信息的管理能力和DSS强大的辅助决策功能,同时结合地质灾害气象预警方面的知识,建成了地质灾害气象预警决策支持系统;陈关清[7]分析了当前贵州省铜仁市气象预警预报发布的现状和存在的问题,根据实际情况提出了气象预警预报组建系统的必要性,并详细地阐述了预警系统的建设方案;霍华德县除雪车辆实时跟踪系统开发采用的是ArcGIS API For Flex,该系统利用GIS技术和GPS无线通讯技术来实时自动报告车辆的方位和当前降雪分布状态,有利于车辆资源的管理及分配[9]。尽管基于GIS技术进行气象预报预警系统开发的研究比较多[6,9-10],但大多数的气象灾害预报预警系统均是基于C/S架构的桌面应用,而少部分采用传统的B/S架构的网络应用系统只能实现简单的气象图形显示,没有数据分析功能,更不具备GIS空间分析功能[11];气象图像显示是通过服务器传送静态图片来实现的,显示效率低,交互性差,不能满足当前人们对气象业务的需求。因此,笔者引入富客户端技术Flex,构建气象预报预警系统富客户端,以期实现气象信息快速发布、统计分析、空间分析展示、在线会商及资源集约化,为气象预报预警信息化建设提供技术支撑。
1需求分析
宁夏气象预报预警系统客户端主要以各类监测信息的统计分析及实时显示为第一目标,兼顾预报服务产品的制作与输出,强调对多种来源、多种格式资料的统一处理以及输出产品的图形、文本的格式化统一,减少操作者在使用过程中的中间环节,并提供给使用者必要的交互式操作,从而充分发挥气象要素资料、卫星影像数据和雷达观测数据在灾害天气预报和分析中的作用,并及时将预报预警信息分发给相关人员,为防灾减灾提供可靠的参考依据,尽可能地使灾害性天气造成的损失降到最低。在技术方面,通过对比分析,决定在Flex的基础上,整合Spring、Hibernate及ArcGIS API For Flex等多项技术,开发集基本GIS功能模块、气象数据浏览查询模块、指导预报模块、精细化预报模块、风险产品制作模块、在线会商模块、模拟考试模块和工具箱模块等功能模块于一体的宁夏气象预报预警客户端,提供与天气分析及预报、灾害预警等紧密相关的、具有友好操作界面的、符合用户使用习惯的天气预报综合业务平台,以方便区、市、县三级预报员快速获取、分析气象要素资料,并为预报业务人员提供统一的区、市、县三级联动、逐级指导的天气预报制作平台,实现各级之间相互参考、交互预报的业务模式。 2气象预报预警系统整体设计
宁夏气象预报预警系统整体设计基于Flex技术,同时结合ArcGIS和Java EE,构建B/S架构模式下的Web应用程序,即
表现层、服务层、数据层三层架构模式(图1),目的是实现高内聚、低耦合,从而方便实现气象海量数据的统一管理、应用和发布。同时,系统架构将数据和数据应用分开,使系统具有较高的安全性、稳定性和可扩展性。
3客户端设计
随着Web技术发展,网络应用进入了富客户端(RIA)的时代,富客户端整合C/S架构和传统B/S架构的优点,具有表现力丰富、反应快速、交互性强、易于部署、异步通信、网络通信效率高以及跨平台等优点[12]。客户端设计主要包括界面设计和功能设计2个部分,界面设计从设计原则出发,结合实际需求,设计出界面简约、布局合理、操作方便的用户界面;功能设计结合气象业务需求将整个客户端分划成八大功能模块,并对各模块进行了详细设计。
3.1界面设计该客户端严格遵循交互界面设计三大原则(置界面于用户的控制之下、减少用户的记忆负担、保持界面的一致性),经历结构设计、交互设计和视觉设计3个流程,利用Adobe Flex 开发工具Flex Viewer将界面设计为图形用户界面(GUI)。
3.2功能设计
基于系统分析,并结合系统整体设计要求,将整个客户端划分为基本GIS功能模块、气象数据浏览查询模块、指导预报模块、精细化预报模块、风险产品制作模块、在线会商模块、模拟考试模块和工具箱模块八大功能模块(图2)。针对每一模块进行详细的设计,每个模块完成相应的功能,形成一个各模块相互协调、功能强大的信息系统。
4数据库设计
在宁夏气象预报预警系统中,由于数据的多来源、多尺度、海量等特性,因此,对于数据结构模型的设计、数据库的构建均有较高要求,只有在合理的设计和实现下,才能有效地对数据进行一体化管理,方便被系统调用。
4.1数据源及数据预处理
客户端运行的数据以宁夏自治
区州为例,其数据源主要有基础地理数据、影像数据、气象数据、灾害专题数据等。其中,基础地理数据可通过对行政区划图进行矢量化获得,包括各级行政区、水系、道路及站点;影像数据为宁夏地区的DEM数据渲染处理获得;气象数据为宁夏自治区气象部门所提供的2012~2015年宁夏各监测站监测的部分微观尺度气象数据,细化到秒,包括降雨量、气温、相对湿度、气压、风速风向、卫星云图和雷达数据等;灾害专题数据主要以灾害调查与区划资料为基础,通过矢量化获得,包括地灾隐患点、中小河流防汛点及山洪点分布位置。
根据数据类型的不同,将上述数据进一步划分为图形数据和属性数据。针对图形数据,由于数据多来源、多尺度,需要对数据进行投影变换、几何校正等标准化预处理;针对属性数据,需要对其进行数据编码,以表格的形式存储,为属性数据库的建设作铺垫。此外,为了更有效地对海量数据进行一体化管理,在数据标准化处理和数据编码的基础上,还应该进行数据组织,即图形库应以“层”的概念来组织数据,各层之间又可通过“统一编码”与属性库联系,形成图形库与属性库有机组合的机制,方便用户调用所需的图幅文件、图层, 查询各层数据的空间信息。
4.2图形数据库设计该研究采用Geodatabase 格式的图形数据库,通过在ArcMap 10.3 中分别添加宁夏行政区底图数据、影像数据及各级道路水系站点数据,打开属性表进行相关属性字段的录入、编辑,再利用ArcGIS Server发布Map Server。同时,还利用GP服务发布等值线、等值面服务,具体实现流程:首先将原始离散数据经过IDW空间插值进行处理,然后经过裁剪、平滑及重分类绘制降雨、温度的等值面或等值线,最后利用ArcGIS Server发布GP Server。客户端通过不同的URL分别访问Map Server和GP Server实现空间数据加载。
4.3属性数据库设计
宁夏气象预报预警属性数据库是在图形数据库的基础上设计的,因为图形数据库中的每一图层均对应着若干属性信息,相应的属性数据通过SQL Server 数据库进行存储,气象文本数据通过Web应用程序从气象服务器上下载、解析,并以表格的形式存入SQL Server数据库,方便数据的统一管理调用。数据层在设计的SQL Server 属性数据库中,创建各站点属性表并录入相关的属性数据,如村镇站点属性表(表1)。
5客户端开发及功能实现
5.1开发环境
系统开发的语言采用Java与Flex,客户端程序由Flex语言进行开发,服务器端程序由Java进行开发,采用Spring和Hibernate集成框架实现Web应用服务开发。数据库使用SQL SERVER 2008,空间数据库是GeoDataBase。开发工具选择方面,服务端使用Eelipse3.7,客户端使用Flash Builder 4.6,Web服务器使用Tomcats7.0.26与BlazeDS,GIS服务器使用ArcGIS For Server 10.3。
5.2系统主要功能实现
5.2.1界面实现。该系统客户端采用Flash Builder 4.6设计实现用户图形界面;以美观、简约和友好为原则,确定系统界面架构的功能操作区和内容显示区;合理规划主菜单栏、子菜单栏、地图主窗体、导航栏、状态栏和专题加载栏分布及组合方式,以满足用户的操作习惯及视觉感受(图3)。
5.2.2基本GIS功能模块。
该模块提供高清地图的在线发布与浏览定位功能。用户可以根据业务需要,在矢量图、影像图之间自由切换,任意平移、缩放底图,控制专题要素图层的显示与隐藏。系统能够直接对接高分辨率网络地图,满足各类预报业务对高精度地理信息数据的需求。该模块主要是通过ArcGIS Server发布各种地图服务,客户端利用ArcGIS API For Flex技术访问服务的URL实现各种功能。ArcGIS API for Flex是2008年ESRI基于Flex开发的一套WebGIS地图 API,当前最新版本为3.9,主要用于RIA技术的推广与开发,借助ArcGIS API for Flex,可以满足一些基本GIS功能开发需求,如图层控制、地图基本操作、地图绘制、空间查询、在线编辑等[13]。 5.2.3气象数据浏览查询模块。
该模块支持各类气象数据基于基础地理底图叠加显示分析(图4),包括实况数据和历史数据;支持离散点的在线插值、等值线和等值面绘制;支持时序数据的动态播放;支持阈值和等值线间隔的设定。支持的气象数据类型如下:
①实况数据。包括地面填图、降水、温度、风速风向、湿度、气压、卫星云图、雷达拼图等,每种要素包括不同的高度、预报时次和时段。
②历史数据。通过设置开始时间、结束时间等参数,查询历史数据。③数值预报。包括T639MOS、EC2T、ECPP、ECMOS、WRF等。④站点信息。通过设置查询时间、要素类型等参数,查询站点的详细信息。
具体位置,在预警信号面板选择预警类别、级别,在地图窗口中绘制落区,编辑产品期号、流水号、时效、领班、总领班、副班、预警内容、防御指南等参数,完成预警产品的制作、保存及发布(图7)。
5.2.7在线会商模块。
为了方便区、市、县三级预报员在线沟通交流,补正天气信息,达到各级精确预报的效果,客户端实现了在线会商模块,该模块利用BlazeDS推送技术,实现在线用户通信、公共信息发布预报订正(图8)等功能。BlazeDS 是一个基于服务器的Java远程控制(remoting)和Web消息传递(messaging)技术,它能够使后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信,是运用于富客户端的服务器推送技术[14]。
5.2.8模拟考试功能。
客户端为帮助预报员快速学习和熟练预报、增长预报经验,设计实现了模拟考试模块。预报员选择时间、时段(24、48和72 h),绘制落区,并对落区进行统一赋值或点击单个站点实现单一赋值,保存结果,最后提交,评分结果是客户端通过对比历史真实数据与预报员提交的预报数据,考验预报员的业务能力。模拟考试模块为预报员将来的预报工作打下了坚实的基础和累积了丰富的工作经验。
5.2.9工具箱。
工具箱主要提供一些绘制工具、测量工具以及图片制作功能,其中绘制工具包括一些点、线、面等的绘制工具、落区绘制以及要素绘制,测量工具主要包括测量长度和测量面积。这样方便预报员日常操作,提高操作效率和客户端的用户体验。
6结论与讨论
该研究基于系统分析的基础上,通过系统总体设计、客户端设计及数据库设计逐层展开;引入先进的 Flex客户端技术,利用Flex的表现力丰富、反应快速、交互性强、易于部署、异步通信、网络通信效率高以及跨平台等特点,初步构建了基于Flex 的气象预报预警系统客户端,该客户端实现了多源气象信息浏览查询、天气预报发布、天气信息订正、预报员在线通讯、预报产品制作发布及预报员业务能力测试等功能。
以宁夏自治区为例,对客户端各功能模块进行了具体的实现和应用,为各级气象部门和预报人员提供了区、市、县三级联动天气预报业务模式,统一高效的GIS人机交互操作平台,丰富的空间数据与气象数据融合能力,落区高效绘制与在线快速订正能力,在线会商与消息自动推送能力,在线个性化产品制作能力。
参考文献
[1]
舒新明,储晓春.自动气象站业务运行中应注意的几个问题[J].贵州气象,2010(2):46-51.
[2] 吴向阳.气象经济学研究综述[J].气象与环境科学,2007(2):38-40.
[3] 徐媛.基于DTM及人工神经网络的合肥市地质灾害气象风险预报预警模型及其应用研究[D].合肥:合肥工业大学,2014.
[4] SHIPLEY S T.Weather radar terrain occultaion modeling using GIS[C]//2lst IIPS,paper J9.5,AMS Annual Meeting.San Diego,CA,2005:102-107.
[5] SASEENDRAN S A,HARENDU PRAKASH L,RATHOREL L S,et al.A GIS application for weather analysis and forecasting[EB/OL].(2002-08-30)[2015-08-21].http://www.gisdevelopment.net/application/environment/conserv ation/envm0004.htm.
[6] 黄露.基于GIS的地质灾害气象预警决策支持系统的研究[D].武汉:武汉理工大学,2011.
[7] 陈关清.基于CS结构的气象预警预报服务系统研究与开发[D].成都:电子科技大学,2012.
[8] ESRI.美国社区公众服务定位系统[DB/OL].(2002-05-20)[2015-07-01].http://www.appmapps.com/government-service-locator-Silv_erlight-run.html.
[9] ESRI.霍华德县除雪车辆实时跟踪系统[DB/OL].(2001-02-20)[2015-07-01].http://howardcountymdpublic.eroadtrack.com.
[10] 吴跃东.安徽省地质灾害气象预警预报研究[J].灾害学,2008(12):34-37.
[11] 张瑜.基于 Flex 和 ArcGIS Server 的 WebGIS 设计与研究:以江苏省控制点查询系统为例[D].南京:南京林业大学,2011.
[12] 百度百科.RIA[EB/OL](2015-04-01)[2015-07-01].http://baike.baidu.com/link url=05mqYI3MYt6q4yppR9154dAeES71at81hpaxrckZQ1HN2oqG3cPZtY9hHFU5DIzjkHiYAv4oKmni2d0tzZ4ZJN8M7Zds7qNjqmafLdnaqi.
[13] 朱尚嵩,谢炎,花梅.基于Flex的WebGIS煤矿应用服务平台设计[J].工矿自动化,2012(4):23-26.
[14] 李浩松,颜巧玲,刘溪土,等.基于Flex和Java技术的公共通信服务基础平台设计与实现[J].科技视界,2014(26):89-93.
关键词气象预报预警系统;Flex;客户端;设计;RIA;GIS
中图分类号S162文献标识码
A文章编号0517-6611(2016)08-208-06
AbstractAdvanced RIA technology is introduced to build a Web client platform under RIA.For the system requirement analysis, we designed the overall system and the client.Additionally, the authors not only used GeoDatabase and SQL SERVER 2008 to complete data deployment, but also integrated techniques such as Flex, Spring, Hibernate and ArcGIS API For Flex to develop a client of meteorological forecasting and warning system, which integrated the basic GIS functions, meteorological data browsing, forecast guidance, refined weather forecast, online product production, online consultation, mock examinations and toolbox in one.With Ningxia Hui Autonomous Region as the research object, realization application of each function was systematically carried out, which provided strong information support for extreme weather forecasting and warning.
Key wordsWeather forecasting and warning systems; Flex; Client; Design; RIA; GIS
气象灾害具有范围广、强度大及频率高等特点,常会给生态、环境、社会、经济带来诸多问题,因此,如何构建完善的气象预警预报系统一直以来是气象相关研究机构研究的前沿与热点。随着公众气象意识的增强,人们对气象信息的需求越来越高,同时伴随着气象业务信息化建设步伐的加快,气象部门积累了越来越多的各类综合气象探测资料和预报数据。现有的气象信息处理系统(如Midcaps 3.0)能够对实时获取的全球气象观测数据(自动站数据、区域站数据、卫星云图、遥感图像、数值预报产品等)进行迅速、准确处理,并根据这些观测数据制作各种形式的天气预报指导产品[1]。如何将这些观测资料和预报指导产品进行综合在线展示,并能够形象、快速、及时地以互联网方式发布,以便为气象工作人员和公众服务,已成为当前国家气象信息网络化、集约化建设的主要内容[2]。
近年来,有关气象预警预报方面的研究成果较多[3-8],如黄露[6]将GIS与DSS结合起来,充分利用GIS对空间信息的管理能力和DSS强大的辅助决策功能,同时结合地质灾害气象预警方面的知识,建成了地质灾害气象预警决策支持系统;陈关清[7]分析了当前贵州省铜仁市气象预警预报发布的现状和存在的问题,根据实际情况提出了气象预警预报组建系统的必要性,并详细地阐述了预警系统的建设方案;霍华德县除雪车辆实时跟踪系统开发采用的是ArcGIS API For Flex,该系统利用GIS技术和GPS无线通讯技术来实时自动报告车辆的方位和当前降雪分布状态,有利于车辆资源的管理及分配[9]。尽管基于GIS技术进行气象预报预警系统开发的研究比较多[6,9-10],但大多数的气象灾害预报预警系统均是基于C/S架构的桌面应用,而少部分采用传统的B/S架构的网络应用系统只能实现简单的气象图形显示,没有数据分析功能,更不具备GIS空间分析功能[11];气象图像显示是通过服务器传送静态图片来实现的,显示效率低,交互性差,不能满足当前人们对气象业务的需求。因此,笔者引入富客户端技术Flex,构建气象预报预警系统富客户端,以期实现气象信息快速发布、统计分析、空间分析展示、在线会商及资源集约化,为气象预报预警信息化建设提供技术支撑。
1需求分析
宁夏气象预报预警系统客户端主要以各类监测信息的统计分析及实时显示为第一目标,兼顾预报服务产品的制作与输出,强调对多种来源、多种格式资料的统一处理以及输出产品的图形、文本的格式化统一,减少操作者在使用过程中的中间环节,并提供给使用者必要的交互式操作,从而充分发挥气象要素资料、卫星影像数据和雷达观测数据在灾害天气预报和分析中的作用,并及时将预报预警信息分发给相关人员,为防灾减灾提供可靠的参考依据,尽可能地使灾害性天气造成的损失降到最低。在技术方面,通过对比分析,决定在Flex的基础上,整合Spring、Hibernate及ArcGIS API For Flex等多项技术,开发集基本GIS功能模块、气象数据浏览查询模块、指导预报模块、精细化预报模块、风险产品制作模块、在线会商模块、模拟考试模块和工具箱模块等功能模块于一体的宁夏气象预报预警客户端,提供与天气分析及预报、灾害预警等紧密相关的、具有友好操作界面的、符合用户使用习惯的天气预报综合业务平台,以方便区、市、县三级预报员快速获取、分析气象要素资料,并为预报业务人员提供统一的区、市、县三级联动、逐级指导的天气预报制作平台,实现各级之间相互参考、交互预报的业务模式。 2气象预报预警系统整体设计
宁夏气象预报预警系统整体设计基于Flex技术,同时结合ArcGIS和Java EE,构建B/S架构模式下的Web应用程序,即
表现层、服务层、数据层三层架构模式(图1),目的是实现高内聚、低耦合,从而方便实现气象海量数据的统一管理、应用和发布。同时,系统架构将数据和数据应用分开,使系统具有较高的安全性、稳定性和可扩展性。
3客户端设计
随着Web技术发展,网络应用进入了富客户端(RIA)的时代,富客户端整合C/S架构和传统B/S架构的优点,具有表现力丰富、反应快速、交互性强、易于部署、异步通信、网络通信效率高以及跨平台等优点[12]。客户端设计主要包括界面设计和功能设计2个部分,界面设计从设计原则出发,结合实际需求,设计出界面简约、布局合理、操作方便的用户界面;功能设计结合气象业务需求将整个客户端分划成八大功能模块,并对各模块进行了详细设计。
3.1界面设计该客户端严格遵循交互界面设计三大原则(置界面于用户的控制之下、减少用户的记忆负担、保持界面的一致性),经历结构设计、交互设计和视觉设计3个流程,利用Adobe Flex 开发工具Flex Viewer将界面设计为图形用户界面(GUI)。
3.2功能设计
基于系统分析,并结合系统整体设计要求,将整个客户端划分为基本GIS功能模块、气象数据浏览查询模块、指导预报模块、精细化预报模块、风险产品制作模块、在线会商模块、模拟考试模块和工具箱模块八大功能模块(图2)。针对每一模块进行详细的设计,每个模块完成相应的功能,形成一个各模块相互协调、功能强大的信息系统。
4数据库设计
在宁夏气象预报预警系统中,由于数据的多来源、多尺度、海量等特性,因此,对于数据结构模型的设计、数据库的构建均有较高要求,只有在合理的设计和实现下,才能有效地对数据进行一体化管理,方便被系统调用。
4.1数据源及数据预处理
客户端运行的数据以宁夏自治
区州为例,其数据源主要有基础地理数据、影像数据、气象数据、灾害专题数据等。其中,基础地理数据可通过对行政区划图进行矢量化获得,包括各级行政区、水系、道路及站点;影像数据为宁夏地区的DEM数据渲染处理获得;气象数据为宁夏自治区气象部门所提供的2012~2015年宁夏各监测站监测的部分微观尺度气象数据,细化到秒,包括降雨量、气温、相对湿度、气压、风速风向、卫星云图和雷达数据等;灾害专题数据主要以灾害调查与区划资料为基础,通过矢量化获得,包括地灾隐患点、中小河流防汛点及山洪点分布位置。
根据数据类型的不同,将上述数据进一步划分为图形数据和属性数据。针对图形数据,由于数据多来源、多尺度,需要对数据进行投影变换、几何校正等标准化预处理;针对属性数据,需要对其进行数据编码,以表格的形式存储,为属性数据库的建设作铺垫。此外,为了更有效地对海量数据进行一体化管理,在数据标准化处理和数据编码的基础上,还应该进行数据组织,即图形库应以“层”的概念来组织数据,各层之间又可通过“统一编码”与属性库联系,形成图形库与属性库有机组合的机制,方便用户调用所需的图幅文件、图层, 查询各层数据的空间信息。
4.2图形数据库设计该研究采用Geodatabase 格式的图形数据库,通过在ArcMap 10.3 中分别添加宁夏行政区底图数据、影像数据及各级道路水系站点数据,打开属性表进行相关属性字段的录入、编辑,再利用ArcGIS Server发布Map Server。同时,还利用GP服务发布等值线、等值面服务,具体实现流程:首先将原始离散数据经过IDW空间插值进行处理,然后经过裁剪、平滑及重分类绘制降雨、温度的等值面或等值线,最后利用ArcGIS Server发布GP Server。客户端通过不同的URL分别访问Map Server和GP Server实现空间数据加载。
4.3属性数据库设计
宁夏气象预报预警属性数据库是在图形数据库的基础上设计的,因为图形数据库中的每一图层均对应着若干属性信息,相应的属性数据通过SQL Server 数据库进行存储,气象文本数据通过Web应用程序从气象服务器上下载、解析,并以表格的形式存入SQL Server数据库,方便数据的统一管理调用。数据层在设计的SQL Server 属性数据库中,创建各站点属性表并录入相关的属性数据,如村镇站点属性表(表1)。
5客户端开发及功能实现
5.1开发环境
系统开发的语言采用Java与Flex,客户端程序由Flex语言进行开发,服务器端程序由Java进行开发,采用Spring和Hibernate集成框架实现Web应用服务开发。数据库使用SQL SERVER 2008,空间数据库是GeoDataBase。开发工具选择方面,服务端使用Eelipse3.7,客户端使用Flash Builder 4.6,Web服务器使用Tomcats7.0.26与BlazeDS,GIS服务器使用ArcGIS For Server 10.3。
5.2系统主要功能实现
5.2.1界面实现。该系统客户端采用Flash Builder 4.6设计实现用户图形界面;以美观、简约和友好为原则,确定系统界面架构的功能操作区和内容显示区;合理规划主菜单栏、子菜单栏、地图主窗体、导航栏、状态栏和专题加载栏分布及组合方式,以满足用户的操作习惯及视觉感受(图3)。
5.2.2基本GIS功能模块。
该模块提供高清地图的在线发布与浏览定位功能。用户可以根据业务需要,在矢量图、影像图之间自由切换,任意平移、缩放底图,控制专题要素图层的显示与隐藏。系统能够直接对接高分辨率网络地图,满足各类预报业务对高精度地理信息数据的需求。该模块主要是通过ArcGIS Server发布各种地图服务,客户端利用ArcGIS API For Flex技术访问服务的URL实现各种功能。ArcGIS API for Flex是2008年ESRI基于Flex开发的一套WebGIS地图 API,当前最新版本为3.9,主要用于RIA技术的推广与开发,借助ArcGIS API for Flex,可以满足一些基本GIS功能开发需求,如图层控制、地图基本操作、地图绘制、空间查询、在线编辑等[13]。 5.2.3气象数据浏览查询模块。
该模块支持各类气象数据基于基础地理底图叠加显示分析(图4),包括实况数据和历史数据;支持离散点的在线插值、等值线和等值面绘制;支持时序数据的动态播放;支持阈值和等值线间隔的设定。支持的气象数据类型如下:
①实况数据。包括地面填图、降水、温度、风速风向、湿度、气压、卫星云图、雷达拼图等,每种要素包括不同的高度、预报时次和时段。
②历史数据。通过设置开始时间、结束时间等参数,查询历史数据。③数值预报。包括T639MOS、EC2T、ECPP、ECMOS、WRF等。④站点信息。通过设置查询时间、要素类型等参数,查询站点的详细信息。
具体位置,在预警信号面板选择预警类别、级别,在地图窗口中绘制落区,编辑产品期号、流水号、时效、领班、总领班、副班、预警内容、防御指南等参数,完成预警产品的制作、保存及发布(图7)。
5.2.7在线会商模块。
为了方便区、市、县三级预报员在线沟通交流,补正天气信息,达到各级精确预报的效果,客户端实现了在线会商模块,该模块利用BlazeDS推送技术,实现在线用户通信、公共信息发布预报订正(图8)等功能。BlazeDS 是一个基于服务器的Java远程控制(remoting)和Web消息传递(messaging)技术,它能够使后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信,是运用于富客户端的服务器推送技术[14]。
5.2.8模拟考试功能。
客户端为帮助预报员快速学习和熟练预报、增长预报经验,设计实现了模拟考试模块。预报员选择时间、时段(24、48和72 h),绘制落区,并对落区进行统一赋值或点击单个站点实现单一赋值,保存结果,最后提交,评分结果是客户端通过对比历史真实数据与预报员提交的预报数据,考验预报员的业务能力。模拟考试模块为预报员将来的预报工作打下了坚实的基础和累积了丰富的工作经验。
5.2.9工具箱。
工具箱主要提供一些绘制工具、测量工具以及图片制作功能,其中绘制工具包括一些点、线、面等的绘制工具、落区绘制以及要素绘制,测量工具主要包括测量长度和测量面积。这样方便预报员日常操作,提高操作效率和客户端的用户体验。
6结论与讨论
该研究基于系统分析的基础上,通过系统总体设计、客户端设计及数据库设计逐层展开;引入先进的 Flex客户端技术,利用Flex的表现力丰富、反应快速、交互性强、易于部署、异步通信、网络通信效率高以及跨平台等特点,初步构建了基于Flex 的气象预报预警系统客户端,该客户端实现了多源气象信息浏览查询、天气预报发布、天气信息订正、预报员在线通讯、预报产品制作发布及预报员业务能力测试等功能。
以宁夏自治区为例,对客户端各功能模块进行了具体的实现和应用,为各级气象部门和预报人员提供了区、市、县三级联动天气预报业务模式,统一高效的GIS人机交互操作平台,丰富的空间数据与气象数据融合能力,落区高效绘制与在线快速订正能力,在线会商与消息自动推送能力,在线个性化产品制作能力。
参考文献
[1]
舒新明,储晓春.自动气象站业务运行中应注意的几个问题[J].贵州气象,2010(2):46-51.
[2] 吴向阳.气象经济学研究综述[J].气象与环境科学,2007(2):38-40.
[3] 徐媛.基于DTM及人工神经网络的合肥市地质灾害气象风险预报预警模型及其应用研究[D].合肥:合肥工业大学,2014.
[4] SHIPLEY S T.Weather radar terrain occultaion modeling using GIS[C]//2lst IIPS,paper J9.5,AMS Annual Meeting.San Diego,CA,2005:102-107.
[5] SASEENDRAN S A,HARENDU PRAKASH L,RATHOREL L S,et al.A GIS application for weather analysis and forecasting[EB/OL].(2002-08-30)[2015-08-21].http://www.gisdevelopment.net/application/environment/conserv ation/envm0004.htm.
[6] 黄露.基于GIS的地质灾害气象预警决策支持系统的研究[D].武汉:武汉理工大学,2011.
[7] 陈关清.基于CS结构的气象预警预报服务系统研究与开发[D].成都:电子科技大学,2012.
[8] ESRI.美国社区公众服务定位系统[DB/OL].(2002-05-20)[2015-07-01].http://www.appmapps.com/government-service-locator-Silv_erlight-run.html.
[9] ESRI.霍华德县除雪车辆实时跟踪系统[DB/OL].(2001-02-20)[2015-07-01].http://howardcountymdpublic.eroadtrack.com.
[10] 吴跃东.安徽省地质灾害气象预警预报研究[J].灾害学,2008(12):34-37.
[11] 张瑜.基于 Flex 和 ArcGIS Server 的 WebGIS 设计与研究:以江苏省控制点查询系统为例[D].南京:南京林业大学,2011.
[12] 百度百科.RIA[EB/OL](2015-04-01)[2015-07-01].http://baike.baidu.com/link url=05mqYI3MYt6q4yppR9154dAeES71at81hpaxrckZQ1HN2oqG3cPZtY9hHFU5DIzjkHiYAv4oKmni2d0tzZ4ZJN8M7Zds7qNjqmafLdnaqi.
[13] 朱尚嵩,谢炎,花梅.基于Flex的WebGIS煤矿应用服务平台设计[J].工矿自动化,2012(4):23-26.
[14] 李浩松,颜巧玲,刘溪土,等.基于Flex和Java技术的公共通信服务基础平台设计与实现[J].科技视界,2014(26):89-93.