气象服务产品是传达气象信息的重要媒介,其中的图形化产品具有直观、简明等特点,是公共气象服务中最常用的产品形式,具有不可替代的作用。国内外众多气象服务门户如Accuweather (www.accuweather.com)、中国天气网 (www.weather.com.cn) 等均将图形化服务产品作为网站的重要资讯内容;决策材料中图文并茂的方式也有利于气象业务人员言简意赅地阐述天气形势。目前,气象部门已开发建设了适用于不同应用场景的产品制作系统,具有代表性的有MICAPS[1]、MESIS[2]、基于GIS的气象产品后台制作系统[3]、近实时的公共气象服务网站系统[4]、奥运气象服务产品制作系统[5]等。这些系统主要侧重于专项业务逻辑的实现,能够以交互或者自动方式生成气象产品。然而天气过程错综复杂,气象服务对产品的质量、时效以及过程匹配度要求越来越高,利用交互方式制作产品无法满足大量产品快速准确生成的要求,现有的自动化制作方式在时间和空间尺度上采用固定参数,很难实现与天气过程同步。此外,上述业务系统大多数依赖于商业GIS组件,这些组件以GIS的理论概念模型为核心,图形质量得不到有效控制,必须借助第三方图形工具 (例如Photoshop) 进行美化。因此,快速制作出高质量的图形化产品是气象服务中亟待解决的问题。
本文提出了一种基于天气事件的公共气象服务产品制作框架, 并给出原型系统MonaRudo。产品制作框架以气象服务产品制图技术为核心,综合运用GIS、计算机图形学、大气科学等领域知识综合分析加工气象数据;原型系统吸收了轻量级的程序设计思路[6],通过功能模块的合理划分提高制作效率,与目前的系统设计完全以GIS为核心,无论是格点场的产生还是图形分析产品的输出均为满足GIS接口、处理而设计[7]不同,原型系统以产品制作框架为基础,注重业务平台使用过程中的完整性、合理性和流畅性。具体表现在天气热点事件的概念化、GIS功能的用户透明性、事件驱动的自动化脚本等方面。
1 基于天气事件的公共气象服务产品制作 1.1 产品制作业务流程面向公众和决策的气象服务部门通常由气象专家、编辑、计算机技术等专业人员组成,各国气象部=门在机构设置、气象产品发布步骤等方面均具有一定的相似性[8],典型的气象产品一般由一系列可供用户解读的信息组成。气象产品的制作过程需经过产品内容确定、格式描述、制作分析等步骤。天气要素 (温度、降水、地质灾害、大风降温等)、产品时间 (发布时间、预报时间)、地理区域是气象产品内容重要组成部分 (通常可称之为气象产品的属性)。气象服务产品制作流程通常包括以下步骤:① 以气象数据为起点,数据源于地面观测、高空观测、遥感探测 (卫星、雷达等) 和数值模式输出结果等;② 气象专家使用相关工具平台浏览数据、分析天气形势 (即解析数据);③ 业务人员针对专家的认识达成共识 (会商讨论等),从中挑选具有服务价值的天气事件;④ 编写天气事件文字描述,参考对应时次的实况和预报产品,制作气象服务产品。
1.2 主要业务难点通过分析气象服务产品制作业务的流程特点,可以发现业务中存在的难点:① 产品制作缺乏有效知识模型作为指导[9],制作过程中多个步骤依赖专家知识与主观思维;② 不同专家对天气过程的认识具有不一致性,专家知识多以记忆的形式进行表达,无法以物理形式存储,难以共享;③ 专家的思考过程不能得到相关系统有效支持[8];④ 制作过程缺乏规范化描述导致难以进行计算机自动化处理,产品制作过程包含多个人工步骤,繁琐耗时,当出现过程迅速的天气事件时,产品发布时效难以保证;⑤ 产品样式受常规GIS系统制约,质量难以控制,无法直接应用于多种发布终端。
1.3 产品制作框架基于天气事件的公共气象服务产品制作框架力图解决产品制作业务中的难点问题,为气象服务人员日常业务提供支持,改善系统输出产品的质量和数量,保证产品的时效性和一致性。总结气象服务产品制作业务特点发现,当天气过程发生时,及时准确的气象服务有助于帮助公众合理决策,减少损失。本文将这类具有服务价值的天气事件称之为天气热点事件,显然,以天气热点事件为驱动快速响应服务能够有效提高服务质量。关于天气热点事件的特征提取已有很多相关研究[10-11],但业务人员的气象知识和工作经验仍然起到至关重要的作用,因此,基于天气事件产品制作框架应具备以下4个特点:
① 气象知识形式化。只有形式化的知识才能够被计算机存储和应用。目前,气象知识的形式化描述已成为领域专家的研究热点[12],产生式规则是领域知识常见的存储形式,Ontology等知识建模工具均支持使用产生式规则描述领域概念间的联系。制作框架借助Ontology的知识建模思想,建立了天气热点事件与服务产品之间的关联关系。
② 专家系统引导。专家系统将专家的思考过程通过计算机过程进行表达。图 1是基于产生式规则的专家系统框架[13],制作框架中天气事件触发机制相当于推理引擎,气象概念的形式化建模起到了知识库的作用,软件工作区是用户接口的实现,基于天气事件的公共气象服务产品制作框架具有专家系统特征。
|
|
| 图 1. 专家系统框架 Fig 1. The expert system shell | |
③ 基于知识模型的框架流程。框架流程设计注重专业知识的形式化、业务人员的行为支持性和气象产品的科学性 (产品内容的正确性等)。与传统的制作流程相比,本文提出的制作框架更具有模块化和结构化的特点。首先抽取气象服务产品中气象概念的专家知识,明确产品内容 (天气要素等) 与最终气象服务产品格式之间的联系,当有天气热点事件发生时,系统将自动调用制图模板进行产品制作,用户在此过程中可对产品进行再加工,包括图形要素的更改 (图例、添加标注等)、多种产品图的叠加、层叠顺序的调整等。整个流程如图 2所示。
|
|
| 图 2. 气象服务产品制作流程 Fig 2. Production process of meteorological products | |
④ 流畅的用户体验。流畅性和良好的操作性是生产环境下系统运行的重要原则[14],产品制作框架通过对业务逻辑的封装和表现层的功能透明保证了用户体验的流畅性,框架的功能覆盖完整的产品制作流程,包括数据检索、算法分析、产品制作、成图保存等。各功能模块优先考虑轻量级及可扩展性方案,并合理分担制作流程,去中心化[15]的设计意味着框架以气象产品为目的,结果导向的流程有利于不同用户制作产品的标准化和一致性,制作的产品可直接用于门户媒介、决策材料或产品库等。
2 关键技术从1.3节描述的系统框架特点可知,系统建设的关键问题集中在服务热点确定、气象数据分析、产品模板应用、产品输出4个环节。服务热点确定的根本是要确定服务产品,因此需要通过知识模型建立热点与产品之间的关联。气象数据分析是数据与产品之间的桥梁,优秀的分析算法能够极大提高产品生成的效率。产品模板应用以产品信息区域控制为前提,剔除无效信息能够保证模版的正确应用,突出产品重点。产品输出往往面对多种发布媒介,合理的产品质量设定使产品能够在更多的媒介使用。
2.1 气象概念知识抽取知识工程是计算机学科的研究热点,关于气象领域的知识建模相关论述已有报道[12],知识管理可以将大量无序化知识实现有序化,实现知识共享,提升组织价值[16]。各领域知识可以通过与专家会谈的方式获取,文献[8]详细分析了气象专家的知识建模过程并成功构建以过程性知识 (目标和方法) 和描述性知识 (领域概念和关系) 为主的两类成果。与此类似,天气热点事件是MonaRudo的核心概念,系统实现的首要步骤在于建立天气事件与气象产品之间的联系从而实现自动化作业流程。本文在与专家会谈的基础上针对日常业务中关注度较高的天气事件进行梳理分类,找出气象服务热点,挖掘领域概念之间的联系,进而创建服务热点模型并进行推理应用。挖掘技术以气象实况资料、预报资料、历史资料、灾情资料等为基础,结合服务中涉及的各类气象指标,形成热点数据信息,并进行提示。在征询专家意见后形式化气象服务概念,以描述气象数据变化为基础,描述了气象产品与天气概念及所用到数据之间的关系 (表 1),通过表 1结合更详细的指标体系可以在数据基础上建立天气热点事件的发生提示,气象服务人员的业务制作流程将实现从围绕产品的主观探索向为围绕事件的启发式流程转变。
|
|
表 1 气象概念与气象产品联系示例表 Table 1 Contact chart of meteorological concepts and meteorological products |
2.2 气象数据分析技术
气象服务数据根据结构特点主要可分为离散点数据和网格点数据两种。MonaRudo采用三角网格分析算法和改进的等值线追踪算法进行等值线分析。
三角网格分析算法用于离散点数据分析,整合了泰森多边形生成算法,Delaunay三角网生成算法以及不规则三角网等值线追踪算法,可以快速通过数据分析得到等值线信息,具有高精度、高效率和易于处理等特点[17]。改进的等值线追踪算法是在传统的网格点等值线追踪算法的基础上,对网格内等值线走向问题进行优化,引入网格中心点确定等值线追踪时多个连接点的优先级。文献[18]描述了等值线追踪算法的步骤及实现流程。
MonaRudo根据气象产品制作特点,在两种原有算法的基础上,针对气象上气温、降水等数据连续性的特点对算法进行了调整,进一步完成了每一条等值线的自闭合、确定闭合区域内外值关系并采用三次样条插值算法对等值线进行平滑处理。经过算法完善,保证多条等值线的闭合区以合理的层次叠放,以正确的颜色填充。
2.3 地理边界剪裁为了保证等值线分析的准确性,设定的分析区域需要大于常规地理行政区域,地理边界剪裁成为制图的重要步骤之一。目前大多数业务系统均依赖GIS接口实现裁剪功能,图形文件在媒介展示需要经过世界坐标到设备坐标的转换。世界坐标属于逻辑坐标,无度量单位;设备坐标属于物理坐标,常见的显示器以像素为度量单位。通过预处理、设置参数优化裁剪流程、增加网格分辨率等方法在一定程度上提高了作图效率,但由于GIS的运算系统基于世界坐标,无法考虑设备环境参数,像素分辨率的不同仍可能导致GIS剪裁后的图片出现锯齿等现象。本文设计的制图流程将裁剪功能配置在成图输出阶段,从系统运行角度,即图形 (此时在计算机内部以封装对象代表,对象包含一定的数据结构) 在设备显示阶段前使用硬件接口对图形需要显示的区域进行剪裁。系统使用图形设备接口 (GDI+) 组件中Graphics类型对象的Clip属性设置实现相关功能,与GIS的裁剪相比较,使用操作系统I/O裁剪具有以下优点:① 合理分担计算资源,GIS的裁剪基于逻辑坐标体系,使用CPU进行空间分析,而多数操作系统图形设备接口都进行优化,使用GPU处理并减少了不必要的计算量,在裁剪效率上具有质的提升;② 能保证裁剪边缘平滑不出现马赛克,I/O裁剪基于设备坐标,能根据设备成像技术以最小的度量单位控制。
2.4 图形质量控制及成图技术不同发布渠道对图形质量的要求有一定差异,应用于气象服务网站的图形产品尺寸限制在510×430像素,单个图形文件大小不超过50 KB;手机气象服务对于图形产品的尺寸要求为300×253像素,单个图形文件大小在15 KB以下,且图像不失真。系统在成图过程中首先控制像素位深及颜色数,然后采用基于八叉树结构的色彩量化算法进行压缩优化消除噪点。该色彩量化算法考虑在两个像素颗粒之间填充与这两个像素颜色相近的过渡颜色,提供更多可视颜色空间。
不同的媒介设备所表示的色彩数目有限,利用设备能力可允许的各种颜色,尽可能再现具有真实感的图形效果,就是图像量化的目的所在,采用八叉树结构表示色彩空间、用以实现色彩优化选择的方法,简称八叉树量化[19]。图 3展示了图形经过压缩后,使用量化算法的前后效果对比,由图 3可以看出,八叉树量化算法很好地消除了图形噪点等元素,提高了图形质量。
|
|
| 图 3. 图像量化算法效果对比图 (a) 使用八叉树量化算法前, (b) 使用八叉树量化算法后 Fig 3. Comparison chart of image quantization algorithm (a) before Octree quantified, (b) after Octree quantified | |
3 原型系统MonaRudo
公共气象服务产品制作原型系统MonaRudo采用C#语言体系,轻量级实现理念,底图采用1:400万的地图矢量数据,包含气象服务热点挖掘、工具库、文件浏览等模块,系统集成的工具库、算法库等均使用插件管理机制载入,MonaRudo在保证交互灵活性的同时还提供模板脚本语言MonaScr-ipt自动化出图。
3.1 系统结构MonaRudo使用MVC模式进行软件分层,即将软件分为模型、视图和控制器3部分 (图 4),其中表现层为用户显示区,即为视图;渲染策略、地图、图层相应用户操作,即为控制器,环境变量为控制器参数;系统中数据通过模型的形式进行表达,并利用通用数据接口进行访问。
|
|
| 图 4. 公共气象服务产品制作系统结构 Fig 4. System structure of public meteorological service products | |
系统使用通用数据接口封装不同数据来源,环境参数如投影参数、图层顺序等使用单例模式完成初始化并使用消息者模式[20]通知图层等对象,工具库中各类型工具使用反射机制进行加载,工具对象通过命令模式操作图层。在系统内部业务逻辑中,MonaRudo提供矢量图和位图两类图形管理,不同图形均可使用不同的渲染策略进行绘制。表现层提供了用户功能入口,包括用户行为交互、工具选择、文件打开保存操作等。
整个系统的渲染使用多线程控制技术[21],线程池的活跃线程数取决于CPU的核数,每个线程对应控制屏幕一部分区域,对于影像地图,此线程负责该区域内所有金字塔瓦片图下载渲染。不同于其他平台使用的树形结构,本平台使用链表结构管理图层,每个图层均对应一块相应的内存区域,此内存区域即构成Windows画图对象的Graphic句柄。各图层使用策略模式选择所需的渲染策略,各渲染策略均实现对简单对象进行属性控制。
3.2 功能设计图 5展示了MonaRudo软件界面,分为菜单栏、悬浮工具栏、主体工作区3大部分。
|
|
| 图 5. MonaRudo软件界面 Fig 5. MonaRudo software interface | |
菜单栏包括文件工具栏、视图和编辑菜单,文件工具栏提供文件打开、保存功能,视图菜单提供悬浮窗口显隐设定、子窗口布局设定等功能,编辑菜单分为地图、制图模板、分析模板3类,地图类提供系统底图参数设定功能;制图模板类主要由制图人员添加气象产品图图形要素;分析模板用来设定服务产品图填色方案。
悬浮工具栏包含热点挖掘、图层管理、资料检索和工具库4部分,热点挖掘提供服务热点事件算法阈值和定时任务设定,是服务产品制作的切入点,主要内容包括热点分类、热点内容、热点产品、处理任务、相关数据和存储结构。图层管理提供增加、删除、上移、下移、图层属性设置等功能。资料检索通过预配置提供文件系统搜索,文件组织方式根据业务人员检索习惯确定。工具库提供通用操作和专业符号两大类工具,通用工具包含地图漫游、缩放、文本标注等基本操作工具,专业符号工具为用户提供气象符号的绘制。通用工具与专业符号的工具主要区别在于专业符号工具用来在产品中制作一些矢量图形,用户更多的直观体验是使用这些工具即可添加图形要素,而不需要从系统角度考虑添加的是何种符号。
MonaRudo提供脚本语言MonaScript以支持自动化作业,MonaScript基于xml标准,对出图不同的设定即可完成气象产品的批量制作。
3.3 系统应用MonaRudo自2011年11月启动建设,2012年6月原型系统投入业务试应用。试应用期间,系统支持了中国天气网的服务专题以及每日的“气象服务公报”和“气象服务手机报”(图 6) 两大业务。在高考气象服务、台风气象服务、黄金周气象服务中制作了近20种实况和预报服务产品。
|
|
| 图 6. 气象服务手机报产品 Fig 6. Meteorological service products of mobile newspaper | |
通过MonaRudo制作的产品完全符合网站气象服务要求,能够直接应用于网站的相关专题或服务频道。
MonaRudo对于手机服务产品的制作效率和产品质量实现了兼顾,在手机气象服务中发挥了重要的支撑作用。
4 小结基于天气事件的公共气象服务产品制作系统遵循气象服务产品制作的业务流程,旨在减轻业务人员工作负担,有效保障气象服务时效性,提高气象服务水平,满足现代化气象业务发展,主要体现在以下几个方面:
1) 系统集成了采用知识建模工具Onlogy构建的天气事件与气象数据、产品之间的关系概念化模型,产品制作以基于天气事件驱动而不是采用时间或空间的固定指标,保证用户服务的产品符合天气事件特征。
2) 系统采用模块化设计方式,各功能模块相互独立。系统通过设置GDI+组件中Graphics类型对象的Clip属性实现地理边界无损裁剪,集成八叉树量化算法优化图形体积和质量,解决了商用GIS软件无法实现的图像质量控制问题。采用基于xml语言的脚本MonaScript实现服务产品自动化处理和制作,批量制图的效率优于主流商业GIS软件。
3) 系统整体界面设计突出所见即所得的用户体验,不同于多数现有业务平台通过配置窗口设置最终产品图形要素属性,系统提供通用工具和专用工具将内部逻辑透明化,用户始终面对的是最终产品的预览而非使用参数定制后再调整,在主工作区即可完成各项操作。
系统提供的产品制作能力,包括制图效率、图形质量已能够满足业务要求,但在数据处理方面,系统尚不具有大数据生产环境下的实时制作能力。云计算、基于文件的非关系型数据库等技术已在高性能生产环境下得到重要应用,通过多源数据融合并形式化专家知识、丰富系统知识库有利于提升灾害性天气服务能力,结合气象行业数据特点、提高气象热点事件挖掘算法在大数据环境下的应用水平将是下一步研究的主要内容,结合不同的气象数据如雷达产品、卫星云图等拓展精细化服务水平也是气象服务产品制作系统需考虑的重点。
| [1] | 李月安, 曹莉, 高嵩, 等. MICAPS预报业务平台现状与发展. 气象, 2010, 36, (7): 50–55. DOI:10.7519/j.issn.1000-0526.2010.07.010 |
| [2] | 吴焕萍, 罗兵, 王维国, 等. GIS技术在决策气象服务建设系统中的运用. 应用气象学报, 2008, 19, (3): 380–384. DOI:10.11898/1001-7313.20080316 |
| [3] | 唐卫, 吴焕萍, 罗兵, 等. 基于GIS的气象服务产品后台制作系统. 计算机工程, 2009, 35, (17): 232–234. DOI:10.3969/j.issn.1000-3428.2009.17.080 |
| [4] | 何险峰, 马力, 罗永康, 等. 近实时公共气象服务分析图网站发布. 气象科技, 2012, 40, (4): 578–584. |
| [5] | 李德泉, 周勇, 虞海燕. 北京奥运气象服务产品制作系统设计与实现. 应用气象学报, 2010, 21, (3): 372–378. DOI:10.11898/1001-7313.20100314 |
| [6] | Ding L, Medvidovic N.Focus:A Light-weight, Incremental Approach to Software Architecture Recovery and Evolution.Proceedings, Working IEEE/IFIP Conference on IEEE, 2001:191-200. |
| [7] | 何险峰, 郑丽娟, 徐箐, 等. GIS在公共气象服务网站中的应用. 计算机应用与软件, 2012, 29, (2): 227–230. |
| [8] | Bally J, Boneh T, Nicholson A E, et al.Developing an Ontology for the Meteorological Forecasting Process.Proceedings of the 2004 IFIP International Conference on Decision Support Systems (DSS2004).2004. |
| [9] | 史忠植. 知识工程. 北京: 清华大学出版社, 1988. |
| [10] | 李庆祥, 黄嘉佑. 对我国极端高温事件阈值的探讨. 应用气象学报, 2011, 22, (2): 138–143. DOI:10.11898/1001-7313.20110202 |
| [11] | 龚志强, 王晓娟, 崔冬林, 等. 区域性极端低温事件的识别及其变化特征. 应用气象学报, 2012, 23, (2): 195–204. DOI:10.11898/1001-7313.20120208 |
| [12] | Lee C S, Jian Z W, Huang L K. A fuzzy ontology and its application to news summarization. IEEE Transactions, 2005, 35, (5): 859–880. |
| [13] | Abraham A.Rule-Based Expert Systems.Handbook of Measuring System Design, 2005. |
| [14] | Brian G, Tim P, Joshua B, et al. Java Concurrency in Practice. Boston: Addison-Wesley Professional, 2006. |
| [15] | Lakshman A, Malik P. Cassandra:A decentralized structured storage system. ACM SIGOPS Operating Systems Review, 2010, 44, (2): 35–40. DOI:10.1145/1773912 |
| [16] | Studer R, Benjamins V R, Fensel D. Knowledge engineering:Principles and methods. Data & Knowledge Engineering, 1998, 25, (1): 161–197. |
| [17] | 郑盛贵, 颜七笙, 黄临平. 基于点的三角形构网算法及等值线自动生成方法. 计算机与现代化, 2004, 5: 7–9. DOI:10.3969/j.issn.1006-2475.2004.05.003 |
| [18] | 蒋瑜, 杜斌, 卢军, 等. 基于Delaunay三角网的等值线绘制算法. 计算机应用研究, 2010, 27, (1): 101–103. |
| [19] | 刘青, 钱玮. 一种八叉树量化算法的改进. 电子技术, 2010, 47, (8): 1–3. |
| [20] | 庄立伟, 卫建国, 毛留喜. 软件设计模式在农业气象系统开发中的应用. 应用气象学报, 2011, 22, (5): 631–640. DOI:10.11898/1001-7313.20110514 |
| [21] | 刘品高, 江南, 谭萍, 等. 气象地理信息系统的设计与实现. 应用气象学报, 2005, 16, (4): 547–553. DOI:10.11898/1001-7313.20050416 |
2014, 25 (2): 249-256



