本站小编为你精心准备了微测井数据处理软件开发参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。
1软件开发
软件设计流程如图2所示,主要包括三大模块:数据输入、处理、微测井解释输出。程序主要类与函数介绍如表1所示。各模块具体功能实现与编制方法介绍如下文所述。软件数据输入模块包括地震数据加载、初至时间拾取和微测井参数输入。地震数据格式按照国际公认的SEG-Y格式数据进行读写,读取的主要数据包括采样间隔(3217~3218字节,单位μs)、采样点数(3221~3222字节)和实际地震道数据。Qt提供一个QDataStream类用来储存地震倒数,需要对地震道数据进行处理时,只需从QDataStream类中读取所需处理数据所在位到数据结束位位置。对初至时间的拾取通过用户触发鼠标点击事件mousePressEvent()和mouseReleaseEvent(),判断鼠标所在坐标位置,对应的纵轴刻度即为单道初至时间。微测井参数输入通过弹出用户对话框,由用户输入参数值,点击确定完成参数设置,对应的信号与槽函数关系为发送者(Sender)为okBtn,信号函数(Signal)为clicked(),接收者(Receiver)为参数对话框weicejingDlg,槽函数(Slot)为okSlot()。在okSlot()函数中将参数值按照程序需要调整为int型或float型变量。数据处理模块的主要功能是完成微测井解释结果计算以及对地震数据可视化进行运算。微测井解释函数WeicejingSlot()中按照(4)式调用初至时间数组mTime[i],对应的道深度按照用户输入的首道深度减去i获得,通过循环运算将计算结果保存至mVelocity[i]数组中来完成。
微测井解释输出模块的主要用于显示微测井解释结果。包括与用户交互的地层划分窗口和微测井解释窗口。每一个地震道对应一个初至时间值和深度值,将此坐标点绘制在直角坐标系中,通过用户拟合坐标点拉线段完成。常用的拟合算法由很多种,各有优缺点,人工拉线拟合虽然没有算法计算精确,但它的优势在于可以通过人工判断排除异常点,避免异常点参与运算、增大误差。微测井解释窗口结果主要绘制在十字坐标的三、四象限,纵轴为深度坐标,左横轴为地层速度坐标,右横轴为初至时间坐标。首先要确定象限范围,通过循环比较找出深度、速度和初至时间最大值,选定最大值所在像素点位置,剩余刻度按照均分进行填充。用户拟合线段具有可以是直线也可以是直线段,直线表示地下地层速度一直,直线段表示地下由多个速度层组成。直线的斜率即为该层速度值,线段拐点对应深度为地层分界面。
程序各窗口设计通过Qt设计师完成,Qt具有强大的界面设计功能,为开发者提供各种界面控件,开发人员只需通过拖选控件至所需位置即可完成,这种设计方法比早先完全有程序员编写控件属性代码完成界面设计更加方便、美观。控件的功能实现即通过信号与槽机制完成人机交互。所有窗口的绘制通过Qt提供的QPaint类完成,QPaint类通过程序员书写绘制指令完成界面像素点之间的连线,语句简单、结构清晰、效果良好,满足多种图形绘制[7]。
2应用实例
为了验证软件的各项功能,在野外对软件进行实际试验。采用敲击锤激发地震波,井下检波器采集地震数据,采集道数为28道,首道深度为0m,道间距1m,激发点距接收井水平距离为10m。实验采用地表激发、井中接收的方式,降低环境造成的干扰,信噪比高,初至明显,地震数据及初至拾取如图3所示,用户手动拾取初至为图中红色线段所示,比自动拾取更加准确、灵活。微测井参数设置如图4所示。将拾取初至时间与检波器深度绘制在时间-深度坐标系中,通过用户手动选取同一速度层拟合直线(如图5所示)。微测井解释结果如图6所示,实验工区地表第一层厚度为16m,速度为1303,第二层速度为2115,结算结果准确,达到预期目的。
3结论
微测井是表层结构调查的主要手段之一。基于Qt的微测井数据处理软件可以跨平台编译,扩展性强等优点满足物探软件高效、精确、便捷、支持多平台运行的要求。软件计算快速、准确,界面友好,操作简单,运行稳定,对于减少生产工期、提高勘探精度、降低生产成本都有一定的改善。
作者:强南 曹军涛 杨杰 唐子涵 单位:西安石油大学地球科学与工程学院 中国石油塔里木油田勘探开发研究院