APP下载

地震地形变数据准实时可视化研究

2015-01-28

电子设计工程 2015年19期
关键词:前兆绘图可视化

周 辉 , 马 亮

(1.中国地震地球物理研究所 地震观测与地球物理成像重点实验室,北京100081;2.中国地震局第二监测中心 陕西 西安 710054)

现今,科学数据的可视化已经成为科学研究中数据分析的重要手段之一。数据可视化,旨在一目了然地揭示数据中的复杂信息,以帮助研究人员快速形象的了解数据实质。地震地形变数据作为我国地震前兆台网中历史记录比较完备、数字化程度较高的原始观测数据,非常适合成为可视化相关技术的研究和实验对象。近年来,地震局地形变观测台网持续产出数据,本文以地形变观测台网实时数据流为输入,通过数据标准化处理、研究并改进相关数值算法,准实时地产出指定时间窗及滑动步长、指定测项的地形变观测数据二维图像。初步完成一套可视化展示程序。

1 研究现状

当前,科学数据在科学研究中的作用日益显著,数据不仅是科学研究的结果,且成为科学研究的基础。人们不仅关心数据的建模、描述、组织、保存等,更关心如何利用海量数据的可知识对象化、可计算化、可视化,构造基于数据的、开放协同的研究模式。

可视化(Visualization)是一个新兴的交叉学科研究领域。近年来,可视化已经成为对由测量或计算所产生的海量数据进行分析和诠释的主要手段之一。通过将各种复杂的数据转换为直观的图像,可视化能够帮助用户依靠视觉这一最有效的手段了解数据的内在规律,进而取得新的发现。

地震科学数据具有多门类、多途径、多格式等特点,地震工作者花费大量时间、精力,采集大量的地震数据,然而,这些数据中的大部分可能与地震或地震灾害无关或者弱相关,需要研究人员分析、过滤,以得到轻量、简洁、有效的数据,从而为图像化提供可靠的数据来源。目前,地震前兆台网的数据可视化方面主要仅限于连续观测数据时间序列的曲线图展示,产出的一些具有空间属性的产品或对数据时间序列曲线进行专业加工则主要依靠第三方的工具软件,如GMT、Matlab、MapSIS等等,因缺乏一个集成、高效、易用、专业针对性强的平台,使得数据产品图像可视化水平相对较低[1-4]。

2 研究内容

本项目拟在搭建完善总体架构的基础上,选取和构建底层数据库,实现地形变数据准实时的数据调用,并利用微软.NET平台,结合相关计算方法,针对数据二维成像,开发用户桌面版的应用程序。具体的研究内容包括如下。

2.1 系统总体架构

如图1所示,本系统总体分为数据基础层、技术支撑层和业务逻辑层。数据基础层为整个系统提供数据支撑,其主体是正在运行的中国地震台网中心前兆形变数据库,库中存有2007年以来我国连续实时观测的固定形变台观测资料,也是本系统数据获取程序的目标数据。技术支撑层采用计算机绘图技术对地形变数据进行可视化表达,利用C#和网络等技术对系统总体功能进行实现。业务逻辑层的各个模块对应本系统的主要功能,包括系统管理模块、数据管理模块、异常检查接口和绘图展示模块。

图1 系统总体架构Fig.1 System overall framework

2.2 技术路线

1)系统总体架构设计

在项目前期工作中,经过技术调研、需求分析和概略设计,反复论证后得以确定该系统的最终架构如2.1节所述,本系统的开发工作应遵循系统架构图指导。

2)功能模块开发

本系统中,系统管理模块、数据管理模块和绘图展示模块拟采用.NET平台C#语言进行开发,层次清晰,效率卓越。绘图展示模块拟采用Windows GDI+图形包进行开发,具体技术实现请参考3.1节相关内容。

3)系统集成和测试

本阶段负责将系统各功能模块整合成为统一的桌面软件系统,并进行软件工程意义上的系统测试,达到用户可使用的程度。

3 关键技术

本系统采用的技术涉及数据库、计算机网络、计算机绘图、面向对象语言等多领域。技术要求范围广泛,技术难度要求较高。本节结合系统重要功能的实现,就本系统所应用到的关键技术作简单介绍。

3.1 绘图展示

GDI在 Windows中定义为 Graphics Device Interface,即图形设备接口,是 Windows API(Application Programming Interface)的一个重要组成部分。GDI使得用户无需关心具体设备的细节,而只需在一个虚拟的环境(即逻辑设备)中进行操作。GDI+是GDI的增强版,主要提供三类服务:二维矢量图形、图像处理、文字显示[5]。

本模块利用Windows GDI+绘制地形变数据的二维图像,然后利用ffmpeg开源程序,将已绘制的图片集转换为动画视频[6]。图2为绘图展示模块的流程图:

图2 绘图展示模块流程图Fig.2 Drawing and showing flow diagram

C#提供了System.Diagnostics中Process类来专门调用本地和远程的外部程序,下面是调用ffmpeg的代码。

Process p=new Process();

p.StartInfo.FileName = @"C:programsffmpeginffmpeg.exe-y-iConPic%%04d.jpg show.mp4";

p.StartInfo.Arguments=Argument;p.StartInfo.UseShellExecute=false;

p.StartInfo.CreateNoWindow=NoWindow;p.Start();

p.WaitForExit();

3.2 数据获取

数据获取主要包括数据下载和数据处理两个功能模块。首先,系统后台与地震前兆形变数据库进行互联,提出数据请求,将库中目标数据进行下载;其次,系统将下载得来的数据进行转换、归类、排列等操作,形成绘图程序模块所能识别的可用数据。具体实现流程如图3、图4所示。

图3 数据下载流程图Fig.3 Data download flow diagram

图4 数据处理流程图Fig.4 Data process flow diagram

前兆数据采用Oracle数据库来存储数据,因此本系统将使用Oracle公司提供的 Oracle Data Provider for.NET(ODP.NET)来连接和下载数据,下载是相关的实现代码。

string connstring= "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.0.1)(PORT=1521))"+"(CONNECT_DATA=(SID=orcl)));User Id=system;Password=test;";

using (OracleConnection conn=new OracleConnection(connstring))

{

conn.Open();

string sql="select*from tablename";

using (OracleCommand comm=new OracleCommand(sql, conn)){

using(OracleDataReader rdr=comm.ExecuteReader())

{while (rdr.Read()){Content+= (rdr.GetString(1) +Environment.NewLine);

}}}

conn.Close();}

4 结束语

通过对地震地形变数据准实时可视化系统的设计和开发,得到地震数据可视化方面的相关初步认识:如何获取海量地震数据中的有用隐藏信息是地震预报等业务的关键实现途径之一,数据可视化是比较好的选择。在实际研发中,地震数据的获取和通用格式化、可视化样式的展示方式、可视化的方法原理等也是系统实现的关键节点。

[1]周克昌,蒋春花,纪寿文,等.地震前兆数据库系统设计[J].地震,2010,30(2):143-151.ZHOU Ke-chang,JIANG Chun-hua,JI Shou-wen,et al.Precursor database system design[J].Earthquake,2010,30(2):143-151.

[2]李文,叶少珍.多维数据可视化技术及分类器的研究进展[J]. 福建电脑,2010,26(5):38-39.LIWen,YE Shao-zhen.Multidimensional data visualization technology and research progress of classifier[J].Fujian Computer,2010,26(5):38-39.

[3]王丹宁.信息安全技术在涉密办公网中的应用情况分析[J].计算机安全,2014(4):44-46.WANG Dan-ning.An analysis of information security technology in application of secret office network[J].Network and Computer Security,2014(4):44-46.

[4]孙鸿雁.基于混编的地震前兆数据可视化系统[J].防灾减灾学报,2012,28(3):37-40.SUN Hong-yan.The earthquake precursor data visualization system based on hybrid programming[J].Journal of disaster prevention and Reduction,2012,28(3):37-40.

[5]吴小芳,徐智勇,蔡忠亮,等.基于GDI+的高精度地图符号库的设计与实现[J].武汉大学学报:信息科学版,2004,29(10):928-932.WU Xiao-fang,XU Zhi-yong,CAI Zhong-liang,et al.Design and implementation of high precision map symbol library based on GDI+[J].Geomatics and Information Science of Wuhan University,2004,29(10):928-932.

[6]李军廷.利用FFMPEG技术搭建流媒体服务器 [J].现代电子技术,2014(18):23-25.LI Jun-ting.Establishing of streaming media server by FFMPEG technology[J].Modern Electronics Technique,2014(18):23-25.

猜你喜欢

前兆绘图可视化
来自河流的你
“禾下乘凉图”绘图人
基于CiteSpace的足三里穴研究可视化分析
思维可视化
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
垂涎三尺
哪些现象是地震前兆
右肝区不适或疼痛是肝癌表现的前兆吗
腾冲地电场震前的前兆异常分析