EQIMProcess2.3版技术原理与实现方法

2012-11-27 08:25刘胜国高景春
华北地震科学 2012年4期
关键词:速报链表台网

刘胜国,高景春

(河北省地震局,石家庄 050022)

0 引言

EQIM(EarthQuakes Instant Messenger)系统设计的主要目的是实现我国区域测震台网、国家测震台网的速报信息共享交换,后来随着形势的发展,为满足各种相关的需求,逐步扩充附加功能,衍化成了一个共享交换和服务发布系统。它以计算机网络为载体,实现了遥测地震台网产出的地震速报数据的快速传递、交换与共享发布。

EQIMProcess是EQIM 软件包的核心组件之一,功能如下。

■实时接收速报消息;

■以CA、CD、CC身份转发速报信息到EQIM服务器

■从数据库读入历史记录;

■速报参数显示、排序;

■自动地震分组和震中分布图显示;

■人机交互地图缩放和移动;

■人机交互数据合并定位;

■自动和人机交互打印速报卡以及震中分布图(包括地形图);

■选项配置;

■按经纬度范围和震级报警。

2.3版的EQIMProcess与以前版本的区别主要表现在地图上,由以前软件自己绘制地图改为使用MapWinGIS控件绘制地图。使地图数据更加通用、地图界面更加美观、使用更加便捷。

1 速报信息交换

EQIM 通过socket通信方式以XML 格式交换数据,为保证数据信息的安全和准确,系统发送信息时必须进行用户认证、数据传输、数据文件校验、数据存储、日志记录等过程。EQIMProcess的数据交换主要涉及和EQIM 服务之间的数据交换,从服务器接收速报信息,以CA、CC或CD 身份转发速报信息。

1.1 与服务器接口

EQIMProcess通过NetSeis/IP协议和EQIM服务器进行通讯,通过连接端口建立连接,通过socket通讯方式实时接收速报信息(XML文本),按图1中连线编号进行处理。

1.2 EQIMProcess消息处理

EQIMProcess从EQIM 服务器实时接收地震速报结果,对速报结果内容[1]进行解析后显示地震参数、发送台网、速报类型和接收时间,显示震中地图。根据信息内容中自动打印标志和打印配置决定是否自动打印输出,在任何时候都可以进行人工手动打印。

EQIMProcess可以对相邻台网同一个地震速报数据进行合并后,调用外部定位程序对合并后的震相数据进行联合定位。

EQIMProcess技术流程如图2。

图1 速报信息交换流程图

图2 EQIMProcess信息处理流程图

1.3 打印速报卡

通过CPrintDialog::GetPrinterDC()获得打印设备上下文(即打印DC)。有了DC 我们就可以按照需要的格式进行打印输出了。

具体打印流程见图3

图3 速报卡打印流程图

1.4 速报转发

速报转发实际是代替了EQIMSender,以CA、CD 或CC身份将接收到的信息转发到EQIM 服务器,其实现技术流程参见“图1 速报信息交换流程图”。

2 地图绘制

2.1 MapWinGIS

MapWinGIS是一个开源的GIS 项目,底层开发环境是VC.NET2003,代码大约有15万行,基于微软的COM 思想编写。就系统来讲,MapWinGIS是一套类似于AO 的二次开发组件库,其核心库是一个名字为MapWinGIS 的ActiveX 控件,我们利用这个ActiveX 组件在EQIM 系统中显示震中地图、在图层上标绘相关联的速报地震、计算地图比例尺和坐标、存取GIS数据等相关工作。

2.2 原理

EQIMProcess使用MapWinGIS 控件、通过链表方式管理显示图层[2],程序启动时建立图层显示链表、并将需要初始化的图层增加到显示链表中显示。当有新的速报地震来临时,EQIMProcess收到新的速报消息后,判断当前图层的边界,从链表中删除不在当前显示区域边界的图层、并删除震中点图层,增加符合边界区域内的图层和当前震中点图层到显示链表中显示。

实现流程如图4

图4 震中地图绘制流程图

2.3 实现方法

2.3.1 添加资源从ActiveX 控件添加MFC 类,控件选择Map Control,生成EQIM 需要的类。

2.3.2 添加图层

调用地图控件的AddLayer方法添加图层,实现代码如下:

2.3.3 删除图层

调用地图控件的RemoveLayer方法删除图层,实现代码如下:

2.3.4 标注震中位置

将标注地震震中点作为一个单独图层,加入到图层列表中,实现代码如下:

2.3.5 标注地名信息

调用地图控件的AddLable方法标注地名,实现代码如下:

上述代码中,name表示地名,color表示颜色,x、y表示标注位置,hjCenter表示居中显示。

2.4 地图数据

EQIMProcess支持shp格式的矢量地图数据,由于shp格式是ESRI提供的通用地图文件格式,用户可以利用ArcGIS等软件进行编辑和修改,使之符合自己的需求,也可以用自己的地图文件替换系统提供的地图文件。

除了shp矢量地图格式以外,软件还支持dem、bil、jpg、bmp、png等栅格格式地图数据文件。

EQIMProcess提供了相对精确的地形图数据,使震中分布图看上去更加直观、地图信息更加丰富。其中地形图数据来源于USGS 网站。用户可以根据软件设定格式自行改变地图文件。

3 结束语

EQIM 系统是中国地震局监测预报司资助的研制项目,在中国地震台网中心、中国地震局值班室、全国31个省级测震台网中心以及部分地市级地震机构进行了部署[3],EQIMProcess作为EQIM 系统核心组件之一多年以来,运行稳定可靠,经历了多次大地震的考验[4],经历了多次版本的更新、完善和扩充。本文在2.3版的基础上,对EQIMProcess的实现原理与实现方法进行了分析介绍,希望对软件使用和其它相关工作提供借鉴和帮助。

[1] 刘胜国,高景春,陈智勇.基于ActiveMQ 平台的地震消息服务探讨[J].华北地震科学,2012,30(02):39-42.

[2] 冯录刚,高景春,刘胜国,等.地震应急快速触发响应系统的参数配置与用户分组管理[J].华北地震科学,2010,28(2):53-57.

[3] 董星宏,贾宁.面向市县级网站发布地震信息方式探讨[J].华北地震科学,2011,29(1):49-52.

[4] 李冬圣,毛国良,常亮,等.华北区域数字地震台网实时速报系统在河北省地震台网的运行分析[J].华北地震科学,2011,29(1):40-44.

猜你喜欢
速报链表台网
地球物理台网仪器维修信息管理的研究与实现
基于二进制链表的粗糙集属性约简
跟麦咭学编程
推进报台网深度融合 做强区级融媒体中心
基于链表多分支路径树的云存储数据完整性验证机制
每月速报
每月速报
西藏地震应急流动台网浅析
每月速报
MRG9000媒资卫士在市级电视台全台网的应用