DEVELOPMENT AND APPLICATION OF THE LOG AUXILIARY SOFTWARE FOR MARINE GEOLOGICAL SURVEY
-
摘要: 班报记录是海洋地质调查工作的重要工作内容,随着海洋地质调查技术的发展,数据采集的自动化程度极大提高,但是班报记录技术没有得到相应的提高,相对增大了工作人员的劳动强度,不利于海洋地质调查外业工作的开展。根据海洋地质调查工作需求设计了一套班报记录辅助系统,为手工记录班报提供辅助,降低外业工作人员的劳动强度,提高海洋物探工作的质量和效率。Abstract: Log is an important content for marine geological survey. Automatic technology for data acquisition has been greatly improved while no corresponding improvement to log technology has been made, which led to the increase of labor intensity adverse to the field work of marine geological survey. To solve this problem, a set of log auxiliary system were designed, which provides assistant to traditional paper log, reduces the labor intensity, and improves the quality and efficiency of marine geological survey.
-
Key words:
- marine geological survey /
- log /
- auxiliary software
-
0. 引言
各种现场记录表、班报是海洋地质调查成果中“样品及原始记录”的重要内容,在资料处理及资料归档时起到重要作用。根据《中国地质调查局地质调查技术标准》[1~3]规定,测量中需要对工作过程进行完整的班报记录,班报记录需准确,现场进行签名,内容不得涂改。人工记录班报是当前海洋地质调查野外工作的重要工作内容之一。
随着物探技术的进步,采集设备的自动化程度也越来越高,同一个航次可以使用更多种测量方法开展工作[4~6],极大提高了地质调查的工作效率,手工记录班报的工作量也极大提高,大量占用现场人员的工作时间。密集的手工记录工作分散了技术人员大量的精力,不利于工作人员对现场意外状况或者其他事件的判断及响应。
前期已经有相关开发人员对导航班报和地质取样班报进行了数字化记录尝试[7~12],并实现了较好地应用,但是这些软件仍需要较多的手工录入,不适合于侧扫声呐、浅地层剖面、地震测量等自动化测试的物探方法,而且不能与手工班报记录工作协同操作。本文根据现场设备的条件及采集器的工作特点,开发了一套班报记录辅助的软件,降低测量过程中人工记录的工作效率。设计的软件系统已经在实际海洋地质调查项目中进行了应用,获得了较好的效果。
1. 设计班报辅助系统的设计需求
依据规范要求,“测线测量,开始和结束时应记录班报,之间每半个小时记录一次班报;仪器发生故障、船只干扰等特殊情况应记录”[1~3]。以导航为例,每次记录内容包括记录测线/测站名,航向,点号,时间,经度,纬度,记录文件名,测线长、备注,操作员签名;以侧扫声呐测量为例,每次记录内容包括卷号,测线名,定位点号,时间,航向,磁带盘号,文件号,数据块号,电缆长度,拖鱼高度,备注,操作员签名等内容。这些内容中除去测线名等部分可以在记录点之前预先填写之外,大量数据内容需要在记录点填写;这就导致临近预设记录点时操作人员需要在很短时间内手工记录大量参数数据,工作强度会急剧增大;整个工作过程的工作强度分配不平衡,使工作人员过于紧张,不利于工作的有效开展。
在实际工作中,目前海洋地质勘探工作绝大多数使用数字化采集技术,班报需要记录的内容绝大多数显示在采集系统计算机的监控屏幕上,通过截屏的方式将预设记录点的计算机屏幕内容保存就可以有效延长手工记录工作的操作时间,不仅降低了记录点的工作强度,还可以降低记录出错的几率,提高班报记录的数据质量,更提高外业工作人员对紧急事件的响应能力。
2. 班报辅助系统的功能设计
班报辅助系统的工作原理是在合适的时间通过截屏的方式来记录各个采集仪器当前的工作状态信息来辅助班报记录人员进行记录工作。其功能设计如下:
(1) 截屏功能:可以实现测量计算机屏幕的截取保存工作,当计算机外接多个屏幕时,需要支持多个屏幕同时截屏;
(2) 频率设置:截屏的时间间隔可以根据工作需要进行调整,默认间隔为30分钟;
(3) 人工截屏:操作员可以根据现场工作状态,控制采集器在任意时刻截屏,用于在仪器故障或者船只干扰时记录班报信息;
(4) 手柄支持:测量船经常遇到颠簸的现象,工作环境较差,键盘、鼠标工作不方便,使用手柄,特别是无线手柄操作更为简便;
(5) 同步功能:多台采集设备同时工作时,需要同步自动截屏时间,实现一次触发操作,多台电脑同步截屏的功能;
(6) 归档功能:自动截屏和人工截屏的图片分类存放在不同的位置,截屏保存文件的文件名包含截屏原因的信息,方便记录人员进行记录;
(7) 数据共享:通过操作系统的文件共享,在网络内对文件进行共享,操作员无需干扰数据采集计算机的工作状态,即可在网络中任意计算机上读取并记录班报信息。
班报辅助系统在通用操作系统平台下开发,不侵入工作仪器的测量系统,提高了本软件的可靠性和通用性[10]。班报辅助系统在Windows操作系统平台下开发运行,可以兼容WindowsXP/Win2003/Win7等主流操作系统。此班报辅助系统程序包括后台服务模块及客户端软件模块两部分(见图 1)。客户端软件模块实现对后台服务软件的参数录入交互,键盘热键的响应等工作;后台服务软件实现对手柄的支持,定时截屏,命令截屏功能,同时通过服务搜索模块和端口监控模块,实现各个采集器之间自动组网及网内各个采集器之间的同步操作。
3. 班报辅助系统设计实现
3.1 后台服务模块及客户端模块的具体设计
班报辅助系统的后台服务模块采用Windows服务软件的方式,多种功能的并发响应使用多线程的技术实现,定时功能使用系统消息手段实现[13]。
根据系统需求,线程划分为主线程,端口监控线程,服务搜索线程三个线程来实现预期功能效果。主线程中实现手柄驱动的初始化和输入信号的读取,定时信号的处理,截屏操作的执行;端口监控线程启动TCP端口502的监控,通过本端口接受协同采集器的连接、客户端软件的连接,实现端口监控模块及客户端接口模块的功能;服务搜索线程搜索网内协同采集器,与协同采集器内安装的端口监控线程之间相互通讯,执行相关采集或者参数修改操作。仅当本机的主线程内监控到手柄存在时本机启动服务搜索线程,对协同采集器进行控制。
客户端模块使用MFC对话框程序实现,通过系统低级键盘钩子程序实现对热键的响应功能,使用界面内文本框窗口接收操作员录入的相关参数,通过TCP链路发送到后台服务程序,由后台服务程序模块实现相关预设功能。
3.2 关键设计的具体实现
截屏操作是班报辅助系统的关键操作,使用GetWindowDC、BitBlt函数实现屏幕的截取操作[14~15],并通过Bitmap类实现截屏图片的压缩保存,关键代码如下:
HDC hScrDC=::GetWindowDC(::GetDesktop Window());
HDC hMemDC=::CreateCompatibleDC(hScrDC);
BitBlt(hMemDC, 0, 0, nCx, nCy, hScrDC, nX, nY, SRCCOPY);
Bitmap bitmapDst(m_nWidth, m_nHeight), bitmapSrc(hBitmap, NULL);
Graphics g(&bitmapDst);
g.ScaleTransform((float)m_nWidth/nCx, (float)m_nHeight/nCy);
g.DrawImage(&bitmapSrc, 0, 0);
bitmapDst.Save(fileName, &encoderClsid, &encoderParameters);
在Vista以后的操作系统中,后台服务与用户进程处于不同的SESSION,无法在服务中直接对用户的UI进行截屏操作。本软件系统在设计中使用CreateProcessAsUser功能创建当前活动桌面的进程,在进程中执行截屏命令,具体实现如下:
DWORD dwSessionID=WTSGetActiveConsole SessionId();
HANDLE hToken;
WTSQueryUserToken(dwSessionID, &hToken);
STARTUPINFO si;
PROCESS_INFORMATION pi={ 0 };
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb=sizeof(STARTUPINFO);
si.lpDesktop=TEXT("winsta0\ \default");
si.dwFlags=STARTF_USESHOWWINDOW;
si.wShowWindow=SW_MAXIMIZE;
CreateProcessAsUser(hToken, lpPathName, lpCmdIn, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi);
4. 班报辅助系统的使用
班报辅助系统以“系统服务”的方式安装在采集计算机上,启动方式设置为“自动(延时启动)”(如图 2所示),截屏图片将被分类保存在软件安装的文件夹下。
海洋地质调查工作中,班报辅助系统会自动启动,操作员仅需正常进行数据采集,将采集软件的界面调整到正常工作状态,使得各种待记录参数均显示在屏幕上即可。以海磁测量为例,正常工作状态下,各种记录参数均在屏幕上显示,并自动截屏保存(见图 3),操作员可以在适合的时间将已保存在计算机内的相关参数记录到班报记录表中。
5. 结论
本班报辅助软件在实际海洋地质调查外业工作中运行良好;在2015年海磁测量20天的野外工作中获取了1075张截图信息,在2016年海洋单道地震测量7天的野外工作中获取了274张有效截图信息,为在小型渔船上使用单道地震方法进行测量提供了很好的技术辅助,通过这些截图实现了手工班报的记录工作,达到了预期的设计目标。本辅助系统不仅可以在海洋地质调查工作中使用,也可以用于航测等其他类似的工作场合,对当前系统添加GPS、摄像头等硬件的支持将更加丰富软件的功能,更好的为地质工作服务。
-
[1] 中国地质调查局. DD2004-03地质调查GPS测量规程[S]. 北京: 中国地质调查局, 2004. http://www.wenkuxiazai.com/doc/e445d5efe009581b6bd9eb0d.htmlChina Geological Survey.DD2012-01 Global positioning system surveyspecification for geological reconnaissance[S]. Beijing: China Geological Survey, 2012. http://www.wenkuxiazai.com/doc/e445d5efe009581b6bd9eb0d.html [2] 中国地质调查局. DD2012-01海洋多波束测量规程[S]. 北京: 中国地质调查局, 2012. http://www.docin.com/p-550837668.htmlChina Geological Survey.DD2012-01 Technical regulations for application of marine multibeam bathymetric survey[S]. Beijing: China Geological Survey, 2012. http://www.docin.com/p-550837668.html [3] 中国地质调查局. DD2012-03海洋区域地质调查规范(1: 250000)[S]. 北京: 中国地质调查局, 2012. http://www.doc88.com/p-7354374890318.htmlChina Geological Survey.DD2012-03 Specification for marine regional geological survey(1:250000)[S]. Beijing: China Geological Survey, 2012. http://www.doc88.com/p-7354374890318.html [4] 祁嘉翔, 纪洪广, 彭华, 等.渤海海峡跨海通道工程区地震危险性分析[J].地质力学学报, 2013, 19(1): 93~103. http://journal.geomech.ac.cn/ch/reader/view_abstract.aspx?file_no=20130110&flag=1QI Jiaxiang, JI Hongguang, PENG Hua, et al. Earthquake risk analysis in the engineering area of Bohai straitcross-sea channel[J]. Journal of Geomechanics, 2013, 19(1): 93~103. http://journal.geomech.ac.cn/ch/reader/view_abstract.aspx?file_no=20130110&flag=1 [5] 张锡林.综合物探方法在海洋地质调查中的应用效果[J].海洋地质, 2005, (1): 7~11. http://www.cqvip.com/Main/Detail.aspx?id=15166825ZHANG Xilin.Application effect of integrated geophysical prospecting method in marine geological survey[J]. Hai Yang Di Zhi, 2005, (1): 7~11. http://www.cqvip.com/Main/Detail.aspx?id=15166825 [6] 张彦昌, 郑佳.海底管线调查综合物探作业方法研究[J].海洋技术, 2010, 29(1): 78~81. http://www.cnki.com.cn/Article/CJFDTOTAL-HYJS201001018.htmZHANG Yanchang, ZHENG Jia.Comprehensive geophysical prospecting method applied in subsea pipelines surveying[J]. Ocean Technology, 2010, 29(1): 78~81. http://www.cnki.com.cn/Article/CJFDTOTAL-HYJS201001018.htm [7] 温静, 汪大明, 孟月玥, 等.北斗卫星导航系统在地质调查领域应用综述[J].地质力学学报, 2012, 18(3): 213~223. http://journal.geomech.ac.cn/ch/reader/view_abstract.aspx?file_no=20120302&flag=1WEN Jing, WANG Daming, MENG Yueyue, et al. Application of Beidou navigation satellite system to geological survey[J]. Journal of Geomechanics, 2012, 18(3): 213~223. http://journal.geomech.ac.cn/ch/reader/view_abstract.aspx?file_no=20120302&flag=1 [8] 牟泽霖, 万芃, 冯强强, 等.近岸海域综合物探野外作业方法探讨[J].中国科技信息, 2014, (12): 59~60. doi: 10.3969/j.issn.1001-8972.2014.12.017MOU Zelin, WAN Peng, FENG Qiangqiang, et al. Discussion on field operation methods of integrated geophysical prospecting in coastal waters[J]. China Science and Technology Information, 2014, (12): 59~60. doi: 10.3969/j.issn.1001-8972.2014.12.017 [9] 严杰, 梁建, 李绍荣, 等.基于WebGIS的海洋地质调查生产信息管理系统设计[J].海洋地质前沿, 2013, 29(6): 67~70. http://www.cnki.com.cn/Article/CJFDTOTAL-HYDT201306011.htmYAN Jie, LIANG Jian, LI Shaorong, et al. Aresearch information management system for marine geological survey base on WebGIS[J]. Marine Geology Frontiers, 2013, 29(6): 67~70. http://www.cnki.com.cn/Article/CJFDTOTAL-HYDT201306011.htm [10] 冯斌, 谭建军, 李绍荣, 等.海洋地质调查数据库管理系统设计与实现[J].计算机工程, 2009, 35(3): 29~31. http://www.cnki.com.cn/Article/CJFDTOTAL-JSJC200903014.htmFENG Bin, TAN Jianjun, LI Shaorong, et al. Design and implementation of DBMS for marine geological survey[J]. Computer Engineering, 2009, 35(3): 29~31. http://www.cnki.com.cn/Article/CJFDTOTAL-JSJC200903014.htm [11] 盛堰, 刘方兰, 蒋青吉.海洋地质调查中的班报数字化技术及应用[J].海洋地质前沿, 2013, 29(7): 66~70. http://www.cnki.com.cn/Article/CJFDTOTAL-HYDT201307012.htmSHENG Yan, LIU Fanglan, JIANG Qingji. Digitization of logging data and its application in marine geological survey[J]. Marine Geology Frontiers, 2013, 29(7): 66~70. http://www.cnki.com.cn/Article/CJFDTOTAL-HYDT201307012.htm [12] 盛堰, 郑大军, 李中汉.海洋地质调查导航班报数字化开发及应用[J].海洋技术, 2012, 31(2): 18~21. http://www.cnki.com.cn/Article/CJFDTOTAL-HYJS201202006.htmSHENG Yan, ZHENG Dajun, LI Zhonghan. Digital development and application of navigation logs for marinegeological survey[J]. Ocean Technology, 2012, 31(2): 18~21. http://www.cnki.com.cn/Article/CJFDTOTAL-HYJS201202006.htm [13] 范玉顺, 罗海滨.工作流管理技术基础:实现企业业务过程重组、过程管理与过程自动化的核心技术[M].海德堡:施普林格出版社, 2001.FAN Yushun, LUO Haibin. Fundamentals of workflow management technology[M]. Heidelberg: Springer, 2001. [14] 杨玉龙, 王宇, 谷令心.计算机远程监控技术研究[J].中国科技信息, 2013, (19): 97~98. doi: 10.3969/j.issn.1001-8972.2013.19.035YANG Yulong, WANG Yu, GU Lingxin. Research on computer remote monitoring technology[J]. China Science and Technology Information, 2013, (19): 97~98. doi: 10.3969/j.issn.1001-8972.2013.19.035 [15] 宋伟.大屏幕截屏技术的研究与实现[J].电子技术与软件工程, 2015, (5): 115. http://www.cnki.com.cn/Article/CJFDTOTAL-DZRU201505102.htmSONG Wei.Research and implementation of large screen shot capture technology[J]. Electronic Technology & Software Engineering, 2015, (5): 115. http://www.cnki.com.cn/Article/CJFDTOTAL-DZRU201505102.htm -