地震观测报告中的自动纠错软件

2013-08-06 09:55陈祥开郭昱琴常振宇
华南地震 2013年1期
关键词:文件名日报错误

陈祥开, 周 玲, 郭昱琴, 陈 江, 江 蕾, 常振宇

0 引言

在Dimashelpe 软件开发之前, 我们经常使用DIMAS 软件对地震观测报告中的五日报、月报进行编辑, 此软件也具有纠正错误的功能, 但软件存在一些缺陷, 需要我们逐一的录入数据, 工作量大且容易出现错误。 之后黑龙江牡丹江台对DIMAS 软件纠正错误功能进行了改进, 使其可以自动编辑, 但改进后的软件还存在一些不足, 还需要我们再进行人工编辑, 才能符合国家台网中心的要求。 由于进行了人工编辑, 会出现一些不符合要求的错误,从而影响我们的工作质量。 因此开发人工编辑五日报、月报的纠错与改正软件, 成了一项使工作质量提高、 减少错误率行之有效的任务。

1 DIMAS 软件处理地震观测报告的分析

1.1 文件名的分析

海南琼中台每五天发送一个五日报, 每一个月发送一个月报告。 使用DIMAS 软件编辑生成五日报, 它的第一个文件名是 “台站名年年月月a.bat”, 第二个五日报的文件名是“台站名年年月月b.bat”, 以此类推, 到第六个五日报的文件名为 “台站名年年月月f.bat” ,而月报的文件名则为“台站名年年月月s.bat”。

1.2 数据分析存在的问题

(1)用DIMAS 软件处理后的五日报和月报, 它们的头标题是一致的, 但对于月报来说是不符合要求, 需要处理。

(2)可能会出现空行的情况或者震项的时间顺序混乱以及出现重复地震等情况。

(3)有时源文件的序号出现错误, 使用DIMAS 编辑后, 序号还是按错误地排列(图1)。

(4)震源深度未出现在规定位置的问题。

(5)第三列数据表示使用的是何种滤波器, 不能为空.第四列则表示的是震相, 也是不能为空白。

图1 DIMAS 软件编辑后序号还是不连续的Fig.1 Serial number still discontinuous after DIMAS software editing

2 自动纠错软件研发实施方案

2.1 技术支持

(1)技术平台: 本软件采用C/S 的结构设计, 是在java 的jdk-6u22-windows-i586 版本的基础上, 使用NetBeans6.9.1 版本开发的。 可在windous XP 和windows 7 系统 上使用本软件。

(2)通过分析数据后, 整个设计的数据流图, 如图2 所示。

2.2 关键处理技术实现

(1)Dimashelper 是基于DIMAS 生成的五日报、月报, 对其进行的二次编辑, 所以要判定打开的文件是五日报或是月报, 然后作出相应的处理。 由于五日报和月报的区别在于文件名, 所以判断的依据, 可以通过文件名来判断。 五日报文件名格式为:年年年年月月(a到f).bat, 而月报文件名格式为:年年年年月月s.bat 。 如是月报则对头标题进行修改, 如是五日报则不进行处理。

图2 数据流图Fig.2 Data flow chart

(2)地震正文信息中的第一行, 即台网时间信息中的时间信息时常会出现错误, 这里通过自动识别文件名称中的正确时间的方式, 实现时间信息的自动修正处理, 关键代码如下:

//修改表头" QIONGZHONG QZN。。。" 后的日期信息

//修改依据文件名称中的日期而定

(3)有时源文件中的地震事件序列出现错误后, 用DIMAS 处理还是会出现错误, 据数据统计调查, 出现这种错误的概率还是蛮高的。 因此有必要做这个方面的功能设计, 进而减少错误率的出现。

关键代码如下:

替换错误序列号:

履历记录:

(4)地震事件里有一项地震深度, 而用DIMAS 编辑后的五日报、月报, 深度数据并没有在规定的位置上, 需要人为地移动它的位置才行。 本软件能直接实现地震事件的深度数据在规定的位置上这个功能。 关键代码如下:

(5)对于分析后的震项, 面波对应的方向, 有时候会出现混乱的现象。 正确的排列位置: 按北南向(BHN), 东西向(BHE), 垂直向(BHZ) 排列。 //对于排序规则中以 “#/” 结尾的部分, 需要按照 “第4个8 位” 的时间升序进行排序//这里对其进行排序, 并将本行数据插入结果ArrayList “alNew” 中

3 画面设计及实现

3.1 自动纠错处理画面

如下图3 所示, 该画面分上下两部分, 即“自动处理” 和“错误记录”:

自动处理有 “文件” 和 “文件夹” 两种处理模式, 可供用户单独选择并处理一个文件和选择一个文件并让系统自动处理文件夹下所有文件。

错误记录部分用于显示处理的过程中系统记录下的操作信息和错误提示信息, 用户可以通过 “文件名称” 和 “处理状态” 两种查询条件进行有条件或无条件的查询, 以便了解处理内容, 进一步修正系统已发现但无法自行修正的错误。

3.2 历史错误查询画面

该画面用于查询和删除历史处理中报错的错误信息, 用户可通过文件名称、 处理时间、处理状态等字段对历史履历信息进行有条件或无条件查询, 并对其中无需保留的历史信息进行删除处理。 如图4 所示。

图3 自动纠错处理画面Fig.3 Auto-correction screen

图4 历史错误查询画面Fig.4 Error log query screen

3.3 文件操作画面

该画面可供用户打开、 修改、 保存和另存文件, 方便用户在无需切换环境的情况下手动修正一些自动纠错处理中无法自动修正的错误内容。 如下图5 所示。

3.4 自动纠错规则画面

该画面可供用户自行设置自动纠错处理的过程中用到的处理规则, 以使软件可以适应不断变化的处理规则。 如图6 所示。

图5 文件操作画面Fig.5 File operation screen

图6 自动纠错规则画面Fig.6 Rule of auto-correction screen

4 测试结果

2010年12月完成设计, 经过一年的测试后, 本软件基本已经做到如下几个方面:

(1)五日报和月报的标题是不一样的, 工作人员要根据所编辑的文件是五日报还是月报, 然后对其设置相应的标题。

(2)将地震事件中的深度调整至正确的位置。

(3)地震事件编号按从小到大排序, 排除跳号或重复编号现象。

(4)出现重复编辑的地震事件, 则提示用户查看。

(5)删除不需要的空行和空格。

(6)修改并使中长周期滤波器LP、 SK 分体波时对应的是MB震级, 短周期滤波器SP分体波时对应的是Mb震级, 其它的体波情况为ML震级。

(7)纠正面波分向排列错误。

(8)调整地震事件中震相位置, 使它们格式正确。

5 结束语

本软件自测试以来, 根据同事们所提出的问题和发现的不足, 做了相应的改动, 使软件应用更加实用, 操作更简单。 本软件基本拥有工作所需的功能, 输出的结果也基本符合国家台网中心的关于地震分析报告的标准, 更重要的是在对编辑完成的五日报、月报使用此软件后, 错误率减少, 提高了工作效率。

本软件是基于DIMAS 的二次开发, 主要存在的问题是对于DIMAS 产生的尚不可预知的错误无法判断和处理。 比如乱码的情况, 有时候是出现文字之类的乱码, 有时候是英文之类的乱码, 有时候则是阿拉伯字体的乱码。 虽然这种情况出现极少, 但是以后将会加以改进这方面的问题。

[1] 丁文秀, 王慧群, 印苏文, 等. 利用xxx.obs 文件生成五日报的研究[J]. 大地测量与地球动力学,2009, 29(8): 131-133.

[2] 肖磊, 李钟尉. JAVA 实用教程[M]. 北京: 人民邮电出版社, 2010.

[3] 许勇, 王黎. Netbeans 6.0 程序开发技术详解[M]. 北京: 清华大学出版社, 2010.

猜你喜欢
文件名日报错误
65岁,《焦作日报》正青春
在错误中成长
右键调用多重更名更方便
Excel轻松提取文件名
把我的秘密藏起来
灵感日报
灵感日报
对《朝鲜日报》涉藏报道的思考
不犯同样错误
《错误》:怎一个“美”字了得