文章快速检索    
  地震地磁观测与研究  2018, Vol. 39 Issue (3): 197-201  DOI: 10.3969/j.issn.1003-3246.2018.03.029
0

引用本文  

宋晓燕, 王鑫, 安全, 等. 内蒙古自治区地震局震情上报系统[J]. 地震地磁观测与研究, 2018, 39(3): 197-201. DOI: 10.3969/j.issn.1003-3246.2018.03.029.
Song Xiaoyan, Wang Xin, An Quan, et al. The earthquake reporting system design and implementation for Earthquake Agency of Inner Mongolia Autonomous Region[J]. Seismological and Geomagnetic Observation and Research, 2018, 39(3): 197-201. DOI: 10.3969/j.issn.1003-3246.2018.03.029.

基金项目

政策研究面上课题(项目编号:CEA-ZC/3-02-01/2017);内蒙古自治区地震局局长基金(项目编号:2017JC01)

通信作者

王鑫(1982-), 男, 本科, 工程师, 内蒙古测震台网主任, 从事地震监测工作

作者简介

宋晓燕(1987-), 女, 硕士研究生, 助理工程师, 现从事地震监测速报与编目工作

文章历史

本文收到日期:2017-10-18
内蒙古自治区地震局震情上报系统
宋晓燕 , 王鑫 , 安全 , 尹战军     
中国呼和浩特 010010 内蒙古自治区地震局
摘要:针对内蒙古自治区地震局人工震情上报过程中存在的弊端和问题,基于VC语言,设计并实现自动震情上报系统。该系统通过读取EQIM数据库中的相关数据,采用模拟操作,实现无接口情况下采集EQIM中相应地图,并利用Microsoft office Word通用API,按所需格式生成包含震情数据与地图的震情上报文档,同时提供核对和校验功能,通过自动传真方式实现震情上报与保存功能。该系统的实现,减少了人工干预造成的错误,提高了震情上报的准确性和高效性,真正实现了震情的自动传真上报。
关键词震情上报    VC语言    自动传真    
The earthquake reporting system design and implementation for Earthquake Agency of Inner Mongolia Autonomous Region
Song Xiaoyan, Wang Xin, An Quan, Yin Zhanjun     
Earthquake Agency of Inner Mongolia Autonomous Region, Hohhot 010010, China
Abstract: Aiming to the disadvantages and problems existing in the reporting of artificial earthquake in Earthquake Agency of Inner Mongolia Autonomous Region, an automatic seismic reporting system is implemented based on VC language design. The system reads the relevant data in the EQIM database, and collects the corresponding map in EQIM by simulation operation without interface, and uses the Microsoft office Word general API to generate the seismic report documents containing the seismic data and the map according to the required format. The system also provides check function, reporting function and saving function of the earthquake by automatic fax. The implementation of the system reduces the error caused by manual intervention, and improves the accuracy and efficiency of earthquake reporting, really archives the automatic fax report of earthquakes.
Key Words: earthquake report    VC language    automatic fax    
0 引言

地震速报是内蒙古测震台网的重要工作之一。地震发生后,值班人员需要将分析结果发送到中国地震台网中心EQIM服务器,并发送地震短信信息及发送传真到内蒙古党委、政府(郝美仙等,2015)。其中信息发送的前2项任务已实现程序集成,对党委和政府的震情上报以人工发送传真(陈鸿昶等,2011)为主。值班人员需手动编辑Word震情文件,通过人工校验确认无误打印,通过传真机手动拨号发送震情,因分别向党委和政府报送,每次震情上报需重复2次以上步骤(郝美仙等,2016)。在具体操作过程中,无法保证震情上报的及时性,影响后续应急救援等工作;人工编辑和校对容易出现错误,难以保证震情上报质量。在现代计算机技术与人工智能高速发展的背景下,人工震情上报模式已无法满足工作需求。

目前,中国地震系统实现震情自动上报的省地震局较少,广东省地震局基于JAVA语言,设计实现了Web方式的自动传真(刘军等,2013)。内蒙古测震台网根据自身需求,基于VC语言,设计实现内蒙古自治区地震局震情上报系统,提高震情信息的准确性和时效性,简化了速报操作流程,减少了地震速报人员的工作量,为后续地震序列分析、应急救援及市民咨询等工作节省更多时间。内蒙古自治区地震局震情上报系统标志着内蒙古测震台网数字地震信息化的发展(宋晓燕等,2017)。

1 系统功能架构

内蒙古自治区地震局震情上报系统功能架构见图 1。该震情上报系统主要包括震情选择、上报模板生成、震情上报3个模块。

图 1 震情上报系统功能架构 Fig.1 Functional architecture of seismic reporting system

震情选择模块主要实现从EQIM数据库查询震情报送所需的相关地震信息。系统设计可以从数据库查询5—10条新的地震信息,并选定一条数据作为本次震情上报。选择错误可以清除选定结果重新查询并选择。用户可以直接进入上报生成模块,系统默认选择数据库最新一条地震数据作为震情上报。用户也可以直接进入震情上报模块,此时系统默认调用系统保存的最近一次地震生成的震情模板。系统读取的EQIM表中速报地震信息主要字段见表 1

表 1 EQIM数据库中主要震情数据字段 Tab.1 EQIM field of main earthquake data in the database

上报生成模板模块根据震情上报要求,将选定的震情数据填充到Microsoft office Word模板中,自动生成可编辑的Word版震情报送文件,震情报送文件模板见图 2。如果主界面选择按钮未选择状态,则按数据库最近一条符合条件的数据来生成模板,否则按选定数据生成。

图 2 震情上报模板 Fig.2 Earthquake report template

震情上报模块负责将生成的震情模板利用自动传真技术一次性发送给内蒙古党委、政府。该系统允许对自动生成的震情文件进行人工校核和编辑,信息确认无误后再发送。

2 系统实现

该震情上报系统基于Microsoft Visual Studio平台开发完成,根据系统功能架构,系统主要实现震情选择、上报生成模板、震情上报3部分。系统实现过程中的主要技术难点在于窗体操作中获取窗体句柄、数据库连接和查询操作及Word模板的自动生成部分。

(1)窗体操作的实现。获取程序的窗体句柄代码如下

IntPtrmainWnd = FindWindow(null, "EQIM地震速报发布程序");

      List<IntPtr>listWnd = new List<IntPtr>();

然后是获取窗体上搜索地名按钮的句柄如下。

IntPtrhwnd_button = FindWindowEx(mainWnd, new IntPtr(0), null, "搜索地名");

foreach (char ch in UserChar)

      {

PostMessage(listWnd[13], WM_CHAR, ch, 0);

//把经度109.551输入到需要的文本框中

      }

char[] latstr = "40.7045".ToCharArray();

foreach (char ch in UserChar)

      {

PostMessage(listWnd[15], WM_CHAR, ch, 0);

//把纬度40.7045输入到需要的文本框中

      }

SendMessage(hwnd_button, WM_CLICK, mainWnd, "0");

//点击按钮

(2)数据库连接。该系统主要连接EQIM数据库,读取速报地震信息,数据库操作首先定义查询语句,并根据保存时间进行排序,代码如下所示。

string query = "select * from catalog where Cata_id like 'NM%' and

Location_cname not like '%测试%' and Lat > 0 and Lon > 0 and M > 0 order by

Save_timedesc limit 1";

while (myDataReader.Read() == true)

      {

       string llon = Convert.ToString(myDataReader["Lon"]); //获取字段Lon的值

       string llat = Convert.ToString(myDataReader["Lat"]); //获取字段Lat的值

      }

(3)自动生成Word模板。主要实现打开模板、操作文本、插入图片。因为模板文件数据从EQIM数据库读取,当正式结果与台网上报结果不一致时,需在信息发送前手动修改地震参数。部分代码如下

//打开模版

Word._Applicationnewapp = new Word.ApplicationClass();

Word._Documentnewdoc;

      object nothing = System.Reflection.Missing.Value;

newdoc = newapp.Documents.Open(@"c:\模版文件.doc");

newapp.Visible = true;

//文本操作

      string strOld = "[address]";

      string strNew="内蒙古自治区呼伦贝尔市";

newapp.Selection.Find.ClearFormatting();

newapp.Selection.Find.Replacement.ClearFormatting();

newapp.Selection.Find.Text = strOld;

newapp.Selection.Find.Replacement.Text = strNew;

//插入图片

      object bookMark = "图片";

      string replacePic = @"c:\baidu.gif"; //图片路径

newdoc.Bookmarks.get_Item(ref bookMark).Select();

newapp.Selection.InlineShapes.AddPicture(replacePic, ref nothing, ref nothing, ref nothing);

3 部署与应用

震情上报系统为客户端程序,直接将打包程序安装在测震台网中心与传真机正常连接的普通PC机上即可。PC机需接入内网并连接到EQIM数据库。系统工作时需关闭Word程序并打开EQIMsender界面。系统主界面见图 3。点击震情选择按钮,出现如图 4所示界面,在该界面上部可以选择查询5—10条震情记录,鼠标左键选中某条记录后点击选定数据按钮,完成震情选择,若需重新选择则点击清除选定按钮。

图 3 震情上报系统主界面 Fig.3 Seismic reporting system main interface
图 4 震情选择界面 Fig.4 The seismic selection interface

点击生成上报模板按钮,系统主界面出现进度条,在此过程中不要进行任何操作,直到出现“模板已生成!”字样,则该功能执行完成。点击上报震情按钮,系统将调用生成的上报模板,震情模板编号也会自动增加。此处允许用户进行校验和修改,确认无误,则点击发送,也可以取消此次上报。

该震情上报系统已在内蒙古测震台网投入使用,并完成2017年9月28日17时33分呼伦贝尔市扎兰屯市M 3.8地震震情的自动上报,过程流畅,震情模板准确无误,总用时约5 min。对于该震情信息,人工发送至少需要10 min,效率约提高1倍。

4 结束语

利用自动传真技术研发内蒙古自治区地震局震情上报系统,安装简单,操作便捷,提高了震情上报的准确性和时效性,尤其在大地震发生后的余震统计和报送过程中可较好地发挥功效。该系统的研发与应用同时提高了内蒙古测震台网的信息化水平,可为其他省地震局震情上报提供参考,更好地为防震减灾事业服务。

参考文献
陈鸿昶, 于洪涛, 冯晓磊. 一种改进的安全传真服务器设计方法[J]. 计算机工程, 2011, 37(17): 282-285. DOI:10.3969/j.issn.1000-3428.2011.17.095
郝美仙, 韩晓明, 张帆, 等. 阿拉善左旗5.8级地震数字化波形记录特征和震源机制解[J]. 高原地震, 2015, 27(4): 6-10.
郝美仙, 周银兴, 刘颖, 等. 内蒙古测震台网新震级标度试用[J]. 地震地磁观测与研究, 2016, 37(5): 10-14.
刘军, 苏柱金. 地震速报自动传真技术[J]. 华南地震, 2013, 33(4): 70-76.
宋晓燕, 褚福刚, 郝美仙, 等. 内蒙古自治区地震局科研管理系统[J]. 地震地磁观测与研究, 2017, 38(2): 155-160.