基于WebGIS的雷电数据分析服务系统设计与实现

2016-05-14 15:49刘嘉唯余宇婷刘彦章肖建
软件导刊 2016年7期

刘嘉唯 余宇婷 刘彦章 肖建

摘要:在总结以往雷电数据服务存在的不足和问题的基础上,介绍了WebGIS在构建雷电数据服务方面的优势和特点,构建了基于WebGIS的雷电数据分析服务系统。着重对基于TeeChart统计分析曲线绘制、基于MapXtreme统计分析专题图和等值线生成的关键技术进行论述,为雷电灾害防治及预测预报提供技术支撑。

关键词关键词:雷电数据分析;WebGIS; .Net ;TeeChart;MapXtreme

DOIDOI:10.11907/rjdk.161584

中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2016)007006905

1系统设计

1.1系统总体设计

按照软件工程原理,在保证软件质量前提下,系统应该在互操作性、可扩展性和开放性等方面满足用户的基本需求,这也是系统总体设计的基本要求。本系统总体架构采用构件式WebGIS多层架构B/S模式,由数据层、服务层、应用层和展示层构成。系统基于.Net环境下的WebGIS体系结构,在系统分析、设计和实现的各个环节采用先进的面向对象软件工程开发方法。图1为系统体系结构。

1.2系统功能设计

在对雷电业务调研的基础上,借助软件工程方法设计了相应的逻辑系统结构,划分为5大功能模块,如图2所示。

(1)用户信息管理子系统。通过用户信息管理子系统,用户可以注册,查看、更新信息和密码,管理员用户可以对注册用户进行权限管理等事项操作。

(2)数据管理子系统。该子系统主要实现数据的输入和输出功能,包括按照不同方式实现数据导入,如按照逐个文件或批量方式进行数据导入。在数据导入过程中,系统还提供相应的数据预处理功能,检验诸如数据格式是否正确、数据是否有冗余等问题。

图2系统功能模块

(3)雷电信息统计子系统。该子系统式是本系统的主要模块,实现系统数据分析和服务等功能,包括对雷电数据的查询和统计。系统提供诸如按年月日方式、按时间段方式的统计,对有关雷电信息(如正闪、负闪及总闪)进行各种方式的可视化展示,以满足业务需要;提供按年月日的雷电信息比较服务功能,实现按年、月和日方式并采用多种可视化方式提供对雷电信息及有关极值信息比较服务。

(4)雷电强度分析子系统。该子系统提供雷电强度信息,包括有关雷电强度的分布情况、雷电强度的密度分布和雷电强度的区间分布等信息,并采用数据可视化技术显示分析结果。在强度分布和密度分布分析中满足业务的各种精度要求,如本系统能提供3种不同分辨率网格的雷电强度分布分析服务,这3种分辨率分别是1×1km、5×5km和10×10km。

2系统数据库设计

系统采用空间数据描述有关信息,并采用MWS文件实现空间数据的存储和管理。除了空间数据外,系统采用属性数据描述一般实体,并采用关系数据库对属性数据进行存储和管理。因此,本系统采用混合模式来设计这两类数据。

2.1空间数据库

在空间数据库设计中,主要包括以下几类文件:扩展名为.tab代表 MapInfo 表的结构;扩展名为.dat(.mdb, .dbf, .txt, .xls or .wks)代表包含制表的数据文件;图形对象的扩展名采用.map;交叉索引文件的扩展名为.id;用于搜索地图对象的索引文件扩展名为.ind。因此,对一个采用MapXtreme表示的图层就可以通过这些扩展名所构成的文件集合来描述了。2.1.1雷电背景图层描述

本系统所使用的雷电背景图层是江西省地图,要求表现3个层次,即地级市、县级市和行政区域。基于此要求,本系统对背景图层的数据结构描述包括3个组成部分:①通过采用5个字段来描述地级市图层:NAME Char (30)、 AREA Float 、 PERIMETER Float 、 GBCODE Decimal (6, 0) 、 PINYIN Char (50);②通过采用RNAME Char (34) 、 AREA Float 、 PERIMETER Float 、 GB Char (5)、MAPTN Char (11) 这5个字段来描述县级市图层;③通过采用NAME Char (22) Index 1 、 CAPNAME Char (20) 、 AREA Float 、 PERIMETER Float 、DIST_CODE Integer这5个字段来描述行政区域图层,由此构成图3所示的背景地图。

2.1.2动态图层描述

2.2表设计

对雷电数据分析服务系统的数据表设计包括空间数据库表设计和关系数据库表设计,表1是其中的部分表设计。

3.1曲线展示技术实现

3.1.1获取曲线有关参数

对雷电数据分析结果可视化,曲线绘制是最基本的展示方式,基于TeeChart技术实现。而基于TeeChart技术进行曲线的绘制第一步是要获取绘制曲线的有关参数,这些参数是从输入的数据源中得到的;设定TeeChart所在的坐标范围,这通过所获得的参数映射来实现;然后进行曲线显示样式设置,这可以通过操作TeeChart组件中的Series序列属性来实现。由此可见,从输入数据中读取有关参数是绘制曲线最重要的一步,也是关键技术之一。本系统的输入数据来自本地文件或数据库。从输入数据中获取绘制曲线有关参数的技术实现代码如下:

3.2专题图实现

在雷电数据分析服务系统中经常需要以可视化方式来展示雷电的时空特征,这可通过专题图来体现。专题图是以某特定渲染地图方式来实现数据可视化的。MapXtreme推崇以一种图形化显示数据方式达到数据可视化目的,即采用MapXtreme中的RangedTheme来生成范围专题图。3.3基于MapXtreme等值线实现

在雷电数据分析服务系统中,需要雷电灾害信息以等值线方式进行展示,即构建雷电灾害的等值线模型。3.3.1等值线数据结构描述

点、线、面及格网是等值线模型中最基本的组成元素。点由两个字段构成,一段用来存储高程值,另一个是存储点的坐标;线由5个字段构成,两个字段代表线的两个端点,两个字段表示相邻的网格在数组中的水平位置和垂直位置。另一个字段是标志字段,表示线是否被处理;4个线对象构成的面,对应的是一个矩形网格对象,由5个字段构成,分别代表上线、右线、下线、左线和标志字段(即该面是否已被处理);而由有限个面组成的是格网,它通过定义一个对象的二维数组来实现。3.3.2基于格网模型的等值线生成

等值线生成步骤描述如下:

输入:网格对象List;

输出:网格所有对象都处理的list。

对网格的未处理对象根据基于二义性判断矩形网格与等值线的相交情况,将记录点生成等值线。这里对象的网格标志字段若已处理,则为1,否则为0。

(1)初始化网格对象,即初始化链表。

(2)判断,是,则继续下一步,否则转入步骤(8)。

(3)判断网格标志字段是否为0,是则进行步骤(7);否则,进行下一步。

(4)判断是否有边与等值线相交,是则进入下一步,否则转入步骤(7)。

(5)对所有与等值线相交的边的对象集进行处理。①初始化;②选择作为起始边,判断是否已处理,是则转入步骤,否则继续下一步;③记录与等值线的交点,判断是否存在相邻网格共享此边,有则继续下一步,否则转入步骤;④计算矩形网格与等值线的相交情况,两边相交则继续下一步,否则转入步骤⑥;⑤将网格标志为已处理,转入步骤;⑥判断处理了多少边,如已经处理了一半则继续下一步,否则转入步骤⑧;⑦将网格标志设为已处理,转入步骤⑨;⑧将网格标志设为处理一半,转入步骤⑨;⑨判断网格的二义性,返回对应的边,转入步骤;将记录的点生成等值线;选择下一条边,即,若转至步骤②,否则进行步骤(6)。

(6)判断计算网格内等值线的情况:若为2条边,直接生成等值线;若为4条边,则进行二义性处理再生成等值线。

(7)将网格标志字段设为已经处理1,转至步骤(2)。

(8)算法结束。

在等值线生成过程中,关于非闭合等值线的问题可以通过在所得到的等值线点中加入辅助点方法解决。

4系统功能实现

4.1雷电信息统计模块

系统采用多种手段进行各类统计,包括对雷电信息的年月日统计、根据给定时间段对雷电信息的统计、对不同方式的雷电信息统计结果进行比较等。图5和图6所示的结果是用户通过界面选择需要统计的有关参数(统计年份以及统计区域或经纬度范围)后得到的雷电数据统计结果。本系统对雷电数据的统计结果采用报表方式及图形方式显示,用户还可以通过选择导出报表或图形存储统计结果。

4.2雷电数据分析模块

系统可对雷电发生强度分布进行分析、对雷电发生的强度区间进行统计,以及对雷电发生的强度密度进行分析,下面以雷电强度数据分析为例来说明雷电数据分析模块功能。

数据分析地图可实现放大、缩小、移动、查看网格信息等,用户可使用操作工具盒和地图缩放标尺工具进行图形的有关操作。如果用户需要对雷电发生的有关信息进行统计分析,事先需要对时间段、矩形网格的大小及统计的区域或经纬度范围进行参数设置,然后通过界面按钮工具进行雷电发生的强度分布、密度分布等信息进行数据分析,如图7所示。

用户单击界面中的网格即可查看网格的详细信息,如图8所示。

5结语

针对传统气象数据服务系统中雷电观测数据分析功能受限、雷电数据表现形式单一、可用性差、缺乏数据可视化功能和使用不方便等不足,将WebGIS应用于雷电数据分析服务领域,有效提高了雷电数据的利用率和时效性,为雷电业务部门提供了有力的业务支撑,促进了雷电数据的应用范围,提升了应用水平。系统为雷电监测数据提供了良好的共享和服务平台,具有重要的实际意义和发展前景。参考文献:

马明,吕伟涛,张义军,等. 1997-2006年我国雷电灾情特征[J].应用气象学报,2008,19(4):393400.

孙凌,周筠珺,杨静.雷暴预警预报研究进展[J].高原山地气象研究,2009,29(2):7580.

安宁,吴景飞,梁香清.雷电研究与雷电灾害预警预报现状的分析[J]. 气象研究与应用,2014,35(SI):9798.

赵曦,姬建中,常俊,等,基于WebGIS 的地震数据服务系统建设及关键技术研究[J]. 灾害学,2014,29(3):224228.

谈树成, 金艳珠, 冯龙,等. 基于 RIA 的WebGIS 斜坡地质灾害气象预报预警信息系统的设计与实现——以怒江为例[J]. 地球学报,2014,35(1):119125.

张乐平. 基于WebGIS的陕西省冷冻害干旱监测系统的设计与实现. 杭州:浙江大学,2014.

赵青松,徐涛,姜海燕. 基于SOA和WebGIS的作物种植制度设计服务系统[J]. 计算机应用,2014,(31)6:755759.

刘旭林,赵文芳,刘国宏. 基于WebGIS 的气象信息显示和查询系统[J]. 应用气象学报,2008,19(1):116122.

刘茜茜,孙亚琴,吕翔,等. 基于WebGIS的气象信息服务系统的设计与实现[J]. 计算机工程与设计,2014,35(1):322326.

张茜. WebGIS和Flex架构在公众气象信息发布系统中的应用研究. 南京:南京信息工程大学,2013.

屈景辉. Teechart应用技术详解. 北京:中国水利水电出版社,2007.

吴晓伟,史树辉 ,董庆民,等.绘图控件TeeChart的功能介绍与应用举例[J]. 内蒙古石油化工, 2005 (7):5455.