面向GIS表达与分析的气象符号绘制库设计与实现
2016-12-02路明月郑建琴毛远翔
路明月, 刘 彬, 陈 旻, 王 轩, 郑建琴, 毛远翔
(1. 南京信息工程大学,江苏省气象灾害重点实验室,江苏 南京 210044;2. 南京师范大学虚拟地理环境教育部重点实验室,江苏 南京 210023;3. 南京信息工程大学地理与遥感学院,江苏 南京 210044;4. 香港中文大学太空与地球信息科学研究所,香港 沙田 999077)
面向GIS表达与分析的气象符号绘制库设计与实现
路明月1,3, 刘 彬1,3, 陈 旻2,4, 王 轩1,3, 郑建琴1,3, 毛远翔1,3
(1. 南京信息工程大学,江苏省气象灾害重点实验室,江苏 南京 210044;2. 南京师范大学虚拟地理环境教育部重点实验室,江苏 南京 210023;3. 南京信息工程大学地理与遥感学院,江苏 南京 210044;4. 香港中文大学太空与地球信息科学研究所,香港 沙田 999077)
针对目前地理信息系统(GIS)软件中对气象符号支持的不足,通过对气象领域中所涉及的符号进行特征分析及其逻辑分类,构建了对应的几何空间数据模型,并采用不同的“样式”表征具体的气象符号,以“几何对象+样式”的形式完成气象符号对象的构建。在此基础上,基于GDI+实现各种气象符号的矢量绘制,并封装形成可供直接调用气象矢量符号绘制库,为基于GIS的气象数据信息的表达和分析提供支撑。最后实例验证了本气象符号绘制库的正确性与实用性。
气象符号;符号库;地理信息系统;可视化
地理信息系统(geographic information system,GIS)以空间世界的表达分析为己任,尤其在空间数据分析方面具有强大的优势,因此借助 GIS实现对气象数据的表达描述以及分析具有重要意义,可以有效弥补气象专业可视化工具在空间分析领域的不足。由于GIS与气象领域多年来平行发展,目前 GIS在气象数据的处理方面还有待完善,尤其是缺乏必要气象符号库的支持,使得 GIS难以直接对气象信息进行可视化表达[1-2],给GIS与气象领域的融合带来很大阻碍。气象符号是气象信息表达的重要形式,也是实现 GIS对气象信息可视化的直接载体,目前主流的 GIS软件平台如ArcGIS等提供了丰富的符号绘制方法,但是在面向气象专业领域应用,尤其是符合气象专业领域规范和习惯的气象数据可视化表达方面还不能满足专业的应用需求;而气象专业领域的可视化软件如MICAPS[3],MeteoInfo[4]等集成了可供用户使用的气象符号,但是没有形成逻辑独立、具有较高通用性以及可扩展性的气象图形符号库,难以与 GIS集成,并且这些气象符号往往以图片的形式存在,缺少必要的数据模型支持,难以进行集成地理信息的空间分析。针对以上问题,本文立足于气象与 GIS的耦合,结合气象专业领域的实际应用,以“几何对象+样式符号”为宏观组织结构,以点状、线状、以及面状符号的主导对象构建气象符号绘制库,提供封装的绘制接口,满足矢量天气图的制作需求,实现气象信息的可视化表达,为基于GIS的气象信息空间表达与分析奠定基础,为气象GIS的平台建设提供可视化组件支持。
1 气象符号逻辑分类
根据气象领域的制图实际需要以及制图习惯与规范,本文对气象领域所涉及的符号进行了深入调研分析[5],参照地图符号的分类规则[6-12],将气象符号宏观的逻辑分类为气象点状符号、线状符号和面状符号 3大类。点符号用于描述具有点状特征的气象数据,主要包括:云、雾、烟尘、沙、风、雷电、雪、雨、气压系统等;线符号于描述具有线状特征的气象数据,主要包括:等值线、路径线、分析线、锋等 4大类;面符号用于描述具有面域特征的气象数据,主要包括:等值面、气压带、气候区、天气现象以及自定义气象面等。其每一种分类都拥有自己具体的气象符号分支,如云符号包含了具体的各种云总量符号、云形状符号以及云时态符号等,可更准确地描述出云对象的特征。具体分类如表1所示。
2 气象符号库的设计与实现
从空间几何角度出发,符号可以看作是具有一定样式的几何对象的组合,因此几何对象与样式可以看作气象符号的两个基本构建要素。基于此,本文从这两方面分别进行设计构建对应的几何对象模型库以及气象符号样式库,以此实现对气象符号库的设计与实现。
2.1 气象符号几何模型库设计
为了能够更好地与 GIS集成,气象符号几何模型库的设计在面向气象信息可视化表达的同时,兼顾 GIS数据的分析功能。该类库宏观上分为点类、线类、面类3种几何对象(图1)。其中点类分为单点与多点;线类分为简单线段类(主要包括圆弧、椭圆弧、线段等)和多段线类(主要包括多义线、贝耶斯曲线和环等);面类分为简单的几何面片类(主要包括三角形、三角条带、四边形、六边形等常见多边形对象)和Polygon面类(主要包括简单 Polygon类、镂空 Polygon类以及待扩充Polygon类)。这种逻辑分类能够适应不同气象符号的灵活表达,无论是简单的还是复杂的气象符号,其在几何形态上都可以通过这些基本几何对象及其组合的方式实现。因此该几何对象模型为气象符号的构建提供了必需的“空间骨架”,为气象符号信息与地理信息的耦合分析提供支持。
2.2 气象符号的样式类库设计
空间几何对象是符号的“骨架”,而样式则是符号的外在表现。几何对象结合不同的绘制样式得到不同的符号。因此样式与气象符号具有很强的关联性。本文根据气象符号的逻辑分类将样式也宏观分为对应的 3类:气象点样式、气象线样式和气象面样式。为了便于应用,本研究中针对云、雾、烟尘、风沙、风(风暴)、雷电、雪、雨、气压系统等分别设定对应的特定样式,并归为点样式类中,每一类中封装其特定的属性参数及操作方法。为等值线、路径线、分析线、锋也分别设定对应的特定样式,归为线样式一类;并将其各自的线型、线宽、颜色等基本属性及其函数成员封装。针对等值面、气压带、气候区、天气现象等面符号也设定各自特定的面样式类,对于每一种样式类都封装其各自对应的特定属性参数及操作方法。这样设计使其各司其职,具有更好的针对性,能够灵活地应对气象领域对符号的多方位需求。其对应的样式库结构如图2所示。
表1 气象符号逻辑分类
图1 气象符号库的几何对象模型关系图
图2 气象符号样式类逻辑结构图
2.3 气象符号绘制库的实现与封装
本文采用GDI+绘图接口,以参数化的方法实现气象符号的底层绘制,GDI+是 Microsoft的新.NET Framework类库,用于图形编程,提供的主要功能有矢量图形输出、光栅图形输出和文字排版等[13]。参数化的绘制方法具有绘制精度高和数据量小的优点,有利于气象符号类库的调用简易与高效,可以保证符号绘制的高质量显示[14-15],因此本文选用矢量方式进行符号的绘制,可以更好地表现气象信息。
(1) 点符号的绘制。气象点状符号的绘制中主要进行两部分工作:①定位点的确定;②几何对象的分解绘制。对于气象点状符号而言,其虽然代表点,但是其在表现上往往以“图标”的形式出现,具有一定“面积”,哪个部位是其所代表的点,需要先确定。在本图形库的设计中,对于一般符号遵循几何图形的中心点为定位点的规则,也就是将该符号外包矩形的中心位置设为其定位点(图3(a~b))。但是由于气象数据的特殊性以及气象领域的约定习惯,将风符号定位点设定在风羽的下端顶点(图3(c))。对任一气象点符号而言,其往往是由若干不同的单一几何对象组合而成,如云量4的符号由圆、直角扇形以及线段组成(图4)。因此,在确定了其定位点之后,则以定位点为坐标原点,调用GDI+绘图接口对各个单一几何对象按照一定的缩放比例、角度等绘图参数进行绘制,形成组合的气象点状符号。
图3 点状气象符号的定位点示意图
图4 云量4的符号组成
(2) 线符号的绘制。对于气象线符号而言,是由两个确定的点坐标连接而成,这两点之间的连线为定位线。气象线符号往往也是由多个几何对象组合而成,在绘制时首先根据坐标确定定位线,
设置线型、排列韵律、线高(宽)、偏移量、颜色、透明度等属性信息,然后沿定位线循环绘制辅助几何对象。例如在绘制锋线时,在定位线的方向上计算得到距离起始端点1/3和2/3长度处的两个坐标点,在这两个坐标点上绘制出定位线上的辅助几何对象(图5)。
图5 暖锋符号的分解及绘制示意图
(3) 面符号的绘制。气象面状符号一般有一个有形或无形的封闭轮廓线,通过在轮廓范围内配置不同的充填内容来表征不同的含义。因此在面符号的绘制中,其充填内容是表征不同天气信息的关键载体。根据气象领域的实际应用,在本文中重点实现 3种不同的充填:①对于气象面符号中的等值面、气压带、气候区等采用符合气象领域习惯的特定色彩充填;②对于常用的天气现象(如多云区域等)采用位图充填,以更好地符合气象领域的应用习惯;③对于需要进行特殊的气象矢量符号充填的(如某区域的风向图等),则在区域内绘制气象矢量符号进行充填,本文中称之为自定义气象符号充填。
在实现时,前两种方法可以直接调用GDI+内置的方法进行;在自定义气象符号充填时,需要确定区域内气象符号的绘制位置。本文采用外包矩形格网划分的方式进行,即根据充填符号的大小对充填区域的外包矩形进行网格等距或自定义距离分割,然后针对网格的交点坐标进行判断,确定其是否在充填区域内,如果在则以该交点为定位点进行特定气象符号的绘制,进而实现自定义气象符号的充填绘制(图6)。
图6 自定义符号充填示意图
在此基础上,本文采用面向对象的方法,设计了气象符号绘制类,将上述绘制方法进行了实现与封装,提供统一的调用接口,为气象符号库的共享使用提供条件。
3 应用实例
本文采用 C#语言结合 GDI+图形绘制接口自主研发了气象 GIS可视化原型系统,对构建的气象符号库进行了逐一验证:首先针对不同的气象点符号以及线符号进行了验证性罗列绘制(图7(a)),同时针对不同的行政区域进行了雷暴、风、雨夹雪等自定义气象面域符号的绘制(图7(b)),得到正确的绘制结果。该原型系统对接了气象专业领域的气象信息综合处理系统(meteorological information comprehensive analysis and process system, MICAPS)各类数据,基于构建的气象符号库以MICAPS第1类数据(2006年04月12日05时的地面观测云总量数据,如图8(a))以及第4类数据(2014年06月01日02时海平面气压场数据,如图 8(b))为例进行了可视化绘制,取得正确的绘制结果,验证了本研究的正确性与适用性。
图7 部分气象符号的绘制效果图
图8 基于气象符号绘制库的MICAPS第1类和第4类数据可视化效果图
4 结束语
本研究针对目前 GIS无法直接表达处理气象数据的现状,结合行业规范及专业应用习惯深入分析了气象专业领域的符号特征并进行了逻辑分类,面向 GIS的表达分析进行了气象符号绘制库的设计与实现,为 GIS与气象专业领域的融合进行了有益的探索,为气象数据的 GIS表达分析奠定了基础。但是本文中所涉及的符号多为气象领域目前常用符号,依然有一些比较生僻的符号没有容纳进来,并且绘制过程中如何进一步提高绘制速度等问题将随着本研究的深入得到进一步解决。
[1] 梅品琛, 李银洲. 气象符号字库的设计、移植和气象符号的输入[J]. 气象水文海洋仪器, 2006, (3): 25-30.
[2] 王锦洲, 冯 径, 蒋 磊. 基于字库的气象符号及图形符号化技术与方法[J]. 计算机科学与应用, 2012, 2: 1-5.
[3] MICAPS3.0用户使用手册[R]. 北京: 中国气象局, 2008: 1-58.
[4] Wang Y Q. MeteoInfo: GIS software for meteorological data visualization and analysis [J]. Meteorological Applications, 2014, 21(2): 360-368.
[5] 寿绍文. 天气学分析[M]. 北京: 气象出版社, 2006: 286-298.
[6] 陈顺清. 地图符号库设计[J]. 测绘学报, 1993, 22(1): 56-63.
[7] 程朋根, 龚健雅. 面向对象 GIS中地图符号组织的研究[J]. 测绘信息与工程, 1998, (1): 21-23.
[8] 吴小芳, 徐智勇, 蔡忠亮, 等. 基于 GDI+的高精度地图符号库的设计与实现[J]. 武汉大学学报: 信息科学版, 2004, 29(10): 929-932.
[9] 毋丽红, 邓曙光. 基于.NET的GIS地图符号库的设计和实现[J]. 工程地球物理学报, 2005, 2(6): 475-478.
[10] 谢 超, 陈毓芬. 基于 GDI+的电子地图符号库的改进[J]. 测绘工程, 2006, 15(2): 45-49.
[11] 王 伟, 张 波, 殷赣华, 等. 基于COM技术的地图符号库结构设计与实现[J]. 武汉大学学报: 信息科学版, 2002, 27(3): 296-300.
[12] 蔡先华, 武 利. 基于特征元的符号库数据结构及算法探讨[J]. 测绘学报, 2004, 33(3): 269-273.
[13] White E. GDI+程序设计[M]. 杨 浩, 张哲峰, 译. 北京: 清华大学出版社, 2002: 1-5.
[14] 车 森, 刘海砚, 刘 辉, 等. GDI+在电子地图可视化中的应用[J]. 测绘科学, 2008, 33(1): 226-228.
[15] 秦 佐, 周晓光, 刘军生, 等. 基于 GDI+的复杂线状符号优化算法[J]. 测绘科学, 2011, 36(4): 183-185.
Design and Implementation of Meteorological Symbol Library for GIS Visualization and Analysis
Lu Mingyue1,3, Liu Bin1,3, Chen Min2,4, Wang Xuan1,3, Zheng Jianqin1,3, Mao Yuanxiang1,3
(1. Jiangsu Key Laboratory of Meteorological Disaster, Nanjing University of Information Science & Technology, Nanjing Jiangsu 210044, China; 2. Key Laboratory of Virtual Geographic Environment, Ministry of Education of PRC, Nanjing Normal University, Nanjing Jiangsu 210023, China; 3. Geography and Remote Sensing, Nanjing University of Information Science & Technology, Nanjing Jiangsu 210044, China; 4. Institute of Space and Earth Information Science, The Chinese University of Hong Kong, Shatin Hong Kong 999077, China)
Geographic information system (GIS) can’t deal with meteorological data directly due to the shortage of necessary meteorological symbol library currently. Therefore, this article analyzes the characteristics of commonly used meteorological symbols and logically classifies the symbols into three types (symbol based on point, symbol based on line, symbol based on area) considering the professional criterion as well as the meteorological application. Then the corresponding spatial geometry models and symbol styles are also constructed to build the meteorological symbol library in the form of the “geometry+style”. All the meteorological symbols in the library are drawn successfully based on GDI+, and packaged as drawing library for GIS usage. The meteorological symbol library constructed in this paper provides support for the presentation and analysis of the meteorological information based on GIS. Keywords: meteorological symbol; symbol library; geographic information system; visualization
P 454; TP 319
10.11996/JG.j.2095-302X.2016050592
A
2095-302X(2016)05-0592-06
2016-04-27;定稿日期:2016-06-21
国家自然科学基金项目(40901244)
路明月(1978–),男,江苏徐州人,副教授,博士。主要研究方向为气象GIS与气象空间重构。E-mail:lumingyue@nuist.edu.cn