跨断层测距外业记录与资料处理软件的研制
2018-08-15赵峰周辉马亮
赵峰 周辉 马亮
赵峰,中国地震局第二监测中心监测研究院工程师,现主要从事地壳形变监测与研究工作,长期坚守在青藏高原地壳形变监测第一线,具有十分丰富的形变监测实践经验。近几年来,参与跨断层测距采集与数据处理软件研发等项目,作为形变观测组组长,先后承担“综合地球物理场青藏东北缘项目”“综合地球物理场鄂尔多斯周缘项目”和“综合地球物理场大华北项目”等重大项目的野外观测工作,所完成的观测成果连续5年获得中国地震局数据质量评比第一名。
周辉,中国地震局第二监测中心科技信息室副主任,高级工程师,工学硕士。
研究 背景
跨断层形变监测被认为是较可靠的地震前兆监测手段之一。目前中国地震局第二监测中心每年负责12个跨断层测距场地的观测任务。直到2015年跨断层测距外业观测数据采集仍然使用1993年问世的惠普HP-100LX掌上电脑,与其配套的HWJB2002记录软件是基于DOS的Qbasic45程序。在数据记录及资料处理等方面,均存在较多问题。
1.手持端设备已停产多年,所配套外业记录软件功能不完善
HP-100LX掌上电脑已停产多年,该机器及数据连接线经过十多年的使用已严重老化,故障率越来越高,很难找到相匹配的零部件。之前,为了保障观测的顺利进行,在外业观测过程中作业人员通常须携带着全部仅有的4台掌上电脑,以备在掌上电脑发生故障时能够及时替换使用。HWJB2002记录软件虽然有完备的数据记录功能但没有超限检查功能,观测人员需要另外手动计算观测结果检查是否超限,给正常观测记录带来极大的不便。
2.桌面计算机端资料处理软件存在严重不足
资料处理软件HWP20在设计之初并未考虑到仪器型号的变更及单边测量等问题;用该程序生成手簿后,还存在个别观测的内容错误或空缺,仍然需要人工修改。另外该软件被注册到指定计算机以后,该计算机服役时间较长,主机严重老化,运行缓慢,容易出现故障,严重影响观测手簿整理的效率。
3.资料整理中手工操作工作量过大
在后期资料整理过程中,成果及精度统计表的编制工作都由观测小组成员手工操作完成。手工操作可能会带来操作失误、准确率低等问题。同时,由于每年都要进行跨断层测距工作,编制成果及精度统计表时均需大量的人工计算,大大增加了资料处理人员的工作量。
本研究正是面对跨断层测距工作中的实际迫切需求,在手持端和桌面计算机端更新相应的硬件和软件,研制开发一套适用于手持智能终端的跨断层测距观测外业记录软件和一套适用于桌面计算机端的资料处理软件。
研究目标及任务
1.选用一款完全适合外业作业环境的手持智能终端,开发基于该手持智能终端的集观测数据记录和超限检查于一体的外业记录软件。该软件具有以下功能:观测数据获取与记录;作业时间智能化提示;按测量规范各项限差要求对操作严格控制和人性化提示;将原始观测数据以加密方式保存。
2.开发基于Windows桌面操作系统的资料处理软件。该软件主要集成以下功能:生成外业记录软件用配置文件;外业观测手簿的生成与打印;成果及精度统计表的生成与打印;可解密加密后的原始观测数据,并可将其转换为与现有数据格式一致的数据文件。
功能设计与实现
针对前述目标及任务,本研究具体开展了以下软件的功能设计和实现。
1.软件功能设计
(1)跨断层测距外业记录软件
结合监测队实际外业工作需求,跨断层测距外业记录软件设计了3个模块,分别是:外业观测记簿模块、实用功能模块和软件设置模块(图1)。
外业观测记簿模块有以下功能:根据记录人员的操作记录观测基础信息、天气情况和观测数据等,并计算出单次观测成果;在记录的过程中对一些限制条件进行超限检查;最后对原始观测数据加密,使得原始观测数据在存储时以加密方式存储。
图1 外业记录软件功能模块图
实用功能模块的功能有:读取指定跨断层测距的观测数据以及计算相对误差等观测成果,根据对应的超限标准进行提示;可根据日期和观测场地的经纬度等参数计算日出日落时间以及允许观测的时间段。
软件设置模块主要用于设置和查看程序正常运行所需的各种参数,包含:当前观测期数、是否使用软键盘等。
(2)跨断层测距资料处理软件
资料处理软件由3个模块组成,分别是成果与手簿模块、仪检文件模块和配置文件模块(图2)。
成果与手簿模块功能是根据配置参数与观测成果生成最终的成果及精度统计表、观测手簿。
仪检文件模块功能是生成测距仪加常数K测定表、生成测距仪工作频率偏差的检验与校正(乘常数R)记录表、生成气压表校核表、生成温度表校核表和生成反射棱镜校核表。
配置文件模块主要用于生成外业记录软件运行所需要的各种参数,包含:当前观测期数、场地、点位、仪器等参数。
2.软件开发
(1)跨断层测距外业记录软件
本研究最终选用符合IP64防护等级的Android智能终端作为外业记簿器,因此,外业记录软件须基于Android系统开发。Android是一种基于Linux内核的自由及开放源代码的操作系统,主要应用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。可利用Eclipse软件为集成开发环境,采用Android虚拟设备(AVD)进行仿真,使用JAVA语言进行开发Android应用程序。搭建、配置Android开发环境需要的软件工具有 Java Development Kit(JDK)、Eclipse、Android Software Development Kit(Android SDK)和 Eclipse 插件 ADT。
图2 资料处理软件功能模块图
(2)跨断层测距资料处理软件
资料处理软件在Windows桌面系统中运行,因此选择微软C#作为开发语言、微软 Visual Studio作为开发工具。
外业记录软件和资料处理软件运行界面如图3和图4所示。
3.软件调式与测试
软件从开发到完成经过了两个测试阶段。
(1)单元测试,在开发阶段完成。每个类或小段程序甚至每个处理函数,都要进行单元测试;
(2)软件功能综合测试。软件在正式使用前进行了两次综合自测。
①与历史资料对比测试。使用外业记录软件重新模拟记录了2007年至2014年本单位的所有的跨断层测距原始资料,使用资料处理软件生成相应的观测手簿和成果表。经对比,所生观测手簿和成果表与档案资料完全一致。
图3 外业记录软件
②跨断层场地外业测试。课题组根据任务书计划组织了一次外业测试任务。2016年8月23—25日,科技信息室、监测队一行10人赴宝鸡市陈仓区县功镇冯家山村冯家山跨断层场地进行了水准与测距场地联合测试(图5)。该场地有A、B、C、D四个测点,首先进行的是跨断层场地水准测量获得测点的相对高差;然后是场地测距,获得测点之间的距离,现场观测条件良好。通过对观测结果进行现场计算,观测成果数据精确,验证了软件的准确、实用性。本次测试证明外业记录和测距资料软件均达到了设计的要求,能够满足跨断层测距业务的要求。
4.关键技术
图4 资料处理软件
图5 冯家山跨断层场地测试
①允许观测时间段计算算法的研究与实现。利用观测场地所在地的经纬度坐标和观测日期推算出当天的允许观测的时间段。众所周知,一年之中日出、日落时间是不断变化的。即使是在同一天当中,不同纬度的日出时间也是不同的。地球每时每刻都围绕着太阳自西向东公转。根据运动的相对性,我们从地球上也能观测到太阳在一年当中围绕天球黄道自西向东旋转一圈,这自然会导致太阳的赤经与赤纬时时刻刻都发生变化。并且不同日期,其变化的快慢也略有不同,这就导致了一年之中日出、日落时间是会随季节不断变化的。日出、日落的时间会随季节及各地方纬度的不同而改变。本软件利用观测场地所在地的经纬度坐标和观测日期可以方便推算出当天的日出、日落时间,由此推算出当天的允许观测的时间段,满足野外观测的需要,避免日光、温度对观测的影响。
②高效严密的原始观测数据加、解密算法的研究与实现。特别是如何实现在外业记录软件所使用的JAVA语言和资料处理软件所使用C#语言之间保持协调一致的加解密算法是本研究中特别关键的难点。
总结及下一步工作计划
本项研究工作得到了中国地震局地震星火计划项目的资助。该项目已于2017年通过了专家验收,验收结论为优秀。
本研究开发的外业记录和资料处理软件已经在本单位的观测任务中得到了应用,同时也取得了一项软件著作权。2015年,本系统在主体功能开发完成的情况下,正好本单位仅剩的几台HP-100LX记簿器均无法正常启动,因此外业记录与资料处理软件从这个时候开始在本单位跨断层测距业务中进行了试用。
2016年、2017年在中国地震局综合地球物理场大华北项目中这些软件正式用于跨断层测距观测。在出测前,编制了软件使用说明书,并由技术人员对观测人员进行了系统培训,掌握了软件的基本操作。在实际观测中,观测人员普遍反映软件操作简单、方便,减轻了很多野外观测工作量。通过软件可以方便的记录观测基础信息、天气情况等,在记录的过程中对一些限制条件进行超限检查,不再需要人工干预,非常适合野外观测。在后期的资料处理中,可以自动生成观测手簿和观测成果表,大大降低了出错机率,提高了工作效率。由于在实际使用过程中积累了良好的口碑和用户体验,2018年初,中国地震局第一监测中心的跨断层测距业务开始采用本项目开发的跨断层测距外业记录与资料处理软件系统。观测人员也认为软件操作简单、非常实用,解决了跨断层测距观测中一系列实际问题,大大减轻了野外工作人员的工作量。
如何进一步提高用户体验,并增加远程观测数据传输等更实用的功能,是我们将来继续研究的方向。