地球物理学进展  2015, Vol. 30 Issue (2): 940-946   PDF    
三维空间内近地表激发井深设计插件的开发与应用
陈楠    
中国石油化工股份有限公司石油物探技术研究院, 南京 211103
摘要:通过探讨三维空间内激发井深设计过程中的网格化方法、空间属性插值等关键技术,针对地震采集施工设计的应用需求, 结合对比目前在野外采集施工设计中常用的近地表激发井深设计软件Surfer和油藏建模软件Earth Vision,设计了符合野外激发井深设计需求的软件流程, 论证了适应井深设计要求的空间插值算法(反距离加权法和普通克里金), 并通过对测线交叉异常点的自动剔除等质量控制手段, 消除异常点产生的影响因子, 提高了插值精度, 编写了相应的核心算法模块, 自主研发了一套基于VS2005 C++ 结合Qt4与OpenGL技术的软件产品, 通过大量的实际资料数据验证与测试, 在野外生产中投入应用.
关键词Qt     近地表     插件     平台     激发井深     网格化    
Three dimensional space in near surface excitation well depth design,development and application of the plug-in
CHEN Nan    
Sinopec Geophysical Research Institute, Nanjing 211103, China
Abstract: Surface detection technology is currently a hot research of seismicacquisition technology, Through the discussion on the key technology of three-dimensional spaceexcitation well depth design grid method, in the process of spatial attributeinterpolation, according to the application requirements of construction designseismic acquisition, compared with the currently collected in the field in the construction design of near surface commonly used excitation well depthdesign software Surfer and reservoir modeling software Earth Vision, designed to meet the field excitation well deep design demand of software processes,demonstrates that adapt to the well depth design of spatial interpolation algorithm requirements (inverse distance weighted method and general Krikin),and through the automatic elimination of quality control means of measuring line cross of the outlier elimination factor influence of outlier generation,improves the interpolation accuracy, prepared the core algorithm modulescorresponding, independent research and development of a set of VS2005 based C++ combined with Qt4 and OpenGL technology, software products,through the actual data of a large number of verification and testing, put into application in the production of the wild.
Key words: Qt     near surface     plug-in     platform     excitation well depth     grid    
0 引 言

近地表探测技术是目前地震采集技术研究的热点,其中近地表模型是一项十分重要的基础资料,由于低降速带、潜水面以及表层岩性界面和吸收界面的不一致性,地震波衰减严重,只能通过改变激发井深或接收位置,在最佳岩性中激发,才能提高单炮记录信噪比,较大幅度地改善地震资料品质.因此,需要精确合理的近地表模型来准确定位野外激发工作.

目前现有的方法设计软件无法直接解决激发井深设计的问题,通用surfer软件是基于数学数值算法的工业公共软件,而不是从地震勘探需求出发,无法考虑到采集资料数据的实际问题,比如地层尖灭引发的重复采样,Earth Vision是油藏建模软件,能够解决近地表激发井深设计的问题,但对于地震数据的载入、层位数据显示等仍需要解决、并且该软件运行在工作站上,在野外生产中不能广泛应用,因此研究和开发一套适用于近地表的三维可视化激发井深设计软件势在必行.

1 需求调研

1.1 激发井深设计流程

在野外实际工作中,通过精细的表层调查,得到工区中部分控制点的岩性数据,然后运用网格化方法根据有限的数据拟合计算整个工区每个激发点处的岩性数据(张剑等,2012),结合工区二、三维图形显示技术,根据实际地质情况,调整网格间距,输出对应的激发井深数据.

井深设计的关键技术之一是空间曲面的数据插值,插值方法的选择以及相关的质量控制技术直接决定了井深设计数据的精度.从流程图中可以看出,软件的核心算法在于二、三维表层模型的网格化插值算法的编写和集成.

1.2 网格化方法调研与试验

数据网格化是将空间上不均匀分布的数据,按一定方法归算成规则网格中的趋势值的过程.规则网格的大小和形状依照研究目的和工作比例尺而定.网格化基本功能是遵循所研究变量的空间变化趋势,将空间上分散的数值转换成规则分布的网格数值,以弥补空白网格的数值;更加完整和充分地反映客体变量的空间模型(常文渊,2004).

目前,计算机技术已提供了多种空间数据插值方法,但各种方法有其适应性和局限性.基于调研需求并根据近地表多源数据的特征(郭良辉等,2006),我们自主研究并实现了2种常用的插值方法,利用实现的程序进行算法分析与对比,从而提出适合近地表数据插值的方法与技术.

距离加权反比法形式简单,应用广泛,但它是局部插值算法,在设定临近空间范围与样本点的合理数目、幂函数或指数函数形式的空间加权以及对局部特异值的反映方面都存在一定困难,权重指数的选择难以保证临近区域的连续性(侯景儒和黄竞先,1998李信富和李小凡,2008).

克里金法(riging)是地统计学的主要内容之一,从统计意义上说,是从变量相关性和变异性出发,在有限区域内对区域化变量的取值进行无偏、最优估计的一种方法(侯景儒和黄竞先,1998);从插值角度讲是对空间分布的数据求线性最优、无偏内插估计一种方法.克里金法的适用条件是区域化变量存在空间相关性.

相比克里金插值算法,距离加权反比在空间跳跃幅度大的样本点(或者异常点)附近,容易出现比较明显的边缘性效应(如图 3(c)所示),并且根据权值影响在格网区域内产生围绕观测点位置的所谓"牛眼"现象,而克里金法相应的高点会根据整体趋势沿一个脊连接,而不是被牛眼形等值线所孤立,外推趋势较为明显,符合实际的地理环境趋势.

表 1 两种插值方法的比较 Table 1 Comparison of two interpolation methods
2 软件设计

2.1 架构设计

由于软件结构在插件层次,最后会把它集成在前期课题设计的“地震勘探可扩展平台”(陈楠等,2013)上,所以我们目前只是需要定义和设计软件框架内部的接口即可,集成后的数据桥接、消息传递、执行控制等软件服务由平台直接提供(谢维等,2009).

这是一个面向服务的体系结构模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义好的接口和契约联系起来(底青云等,2013方荣新等,2013).接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言(张季生等,1995宋亮等,2011).这使得构建在各种这样的系统中的服务可以用一种统一和通用的方式进行交互.

2.2 关键技术

2.2.1 插件模型设计

软件系统采用插件模型,与目前地震勘探软件比较流行的“平台”+“插件”模式的区别在于,软件不仅可以以动态链接库的模式集成在平台,也可以直接编译为可执行程序,达到脱离平台,独立运行的目的.

2.2.2 网格化方法的设计与实现 2.2.2.1 距离加权反比法实现

下面给出该方法的标准C++ STL模板类结构:

template

class TInverseDist: public TInterpolater

{

public:

TInverseDist(double dRadius=200,double dExponent=8)throw():

m_dRadius(dRadius),m_dExponent(dExponent){}

 //根据网格位置,计算第三方属性

 double GetInterpolatedZ(double xpos,double ypos,vector::iterator first,vector::iterator last)

 throw(InterException)

 {

 //检查链表非空

 assert(first != last);

 double distance = 0;

 double weight = 0;

 double totalWeight = 0;

 vector vecWeight;

 vector::iterator start = first;

 while(start != last)

 {

 distance = ::sqrt((::pow((xpos -(*start).x),2)+ ::pow((ypos -(*start).y),2)));//求取距离值

if(distance == 0)// 是否与控制点准确匹配,一般不会

 return(*start).z;

  if(distance > m_dRadius)

 {

++start;

continue;

}

weight = 1/::pow(distance,m_dExponent);//求取权重

vecWeight.push_back(WeightAndZ(weight,(*start).z));

图 1 激发井深设计流程 Fig. 1 Source well depth design process

图 2 样点插值 Fig. 2 The sample point interpolation

图 3(a)反距离加权;(b)普通克里金;(c)反距离加权(带异常点); (d)普通克里金(带异常点) Fig. 3(a and c)Inverse distance; (b and d)Ordinary kriging

totalWeight += weight;

++start;

 }

 for(int i=0; i

vecWeight[i].weight /= totalWeight;//累加权重

 double nodeValue = 0;

 for(int i=0; i nodeValue += vecWeight[i].weight * vecWeight[i].z;

++first;

 }

 return nodeValue; } }; 2.2.2.2 克里金插值算法实现

下面给出该方法的标准C++ STL模板类结构和部分源码,该方法的是定义和实现也是基于标准C++ STL模板,利用STL高效的存取结构容器,可以加快程序运行的速度和效率(王椿镛等,1991). template class TKriging : public TInterpolater {//构造空间离散区域,初始化变异函数 public:  TKriging(vector::iterator first,vector::iterator last,double dSemivariance): m_dSemivariance(dSemivariance)  {

m_nSize = 0;

vector::iterator start = first;

while(start != last)

{

 ++m_nSize;

 ++start;

}

m_matA.SetDimension(m_nSize,m_nSize);//分配存储矩阵空间

for(int j=0; j {

 for(int i=0; i

 {

if(i == m_nSize-1 || j == m_nSize-1)

{

m_matA(i,j)= 1;

if(i == m_nSize-1 && j == m_nSize-1)

m_matA(i,j)= 0;

continue;

}

m_matA(i,j)= ::GetDistance(first,i,j)* dSemivariance;

}

}

int nD;

LUDecompose(m_matA,m_Permutation,nD); }

3 实际应用

3.1 新疆塔里木麦盖提工区

塔里木盆地麦盖提工区是中石化近几年的重点勘探部署区块,先后于2008、2009年进行了两次勘探与施工,形成了20000 km2、4 km×4 km的微测井试验区.项目要求在地震采集任务完成后短时间内提供精细的激发井深数据库和相应的软件技术,激发井密度要达到20 m×20 m,工区单个网格加密约200倍.我们先后开展了解释成果资料分析、算法研究、数据接口代码编写等工作,解决了该区块的近地表数据插值、大数据量优化等技术难题,生成了20 m×20 m网格的庞大近地表信息数据库,形成一套专业的可视化系统并输出符合甲方要求的井深数据库资料,在实际应用中取得了良好的效果.

图 5a工区试验点观测系统图,图 5c是经过预处理后(尖灭点剔除、时差校正)的工区试验点分布图.利用预处理后的工区试验点,插值计算出全工区的高速顶,插值网格根据要求采用20 m×20 m的网格密度.图 5b显示的是插值计算后的高速顶数据三维空间分布图,图 5d显示的是插值计算后的高速顶数据平面分布图.

图 4 系统架构 Fig. 4 System Frame

图 5(a)工区观测系统;(b)网格化的高速顶层; (c)经过预处理的工区试验点分布;(d)插值后的高速顶数据平面分布 Fig. 5(a)Layout system;(b)The top grid of high speed; (c)After pretreatment of the area;(d)After interpolation of the area

图 6是该工区的实际岩性勘测图,自西向东可以明显看出地形岩性的变化趋势,通过将试验点地表高程数据网格化加密后(图 7a)也能明显反映该地区的地貌变化特征,通过相同数据和参数设置对比surfer软件网格化(图 7b)的效果来看,插值后两个软件呈现的等值线趋势一致,通过本软件预处理后的地形走势更显柔和清晰.

图 6 岩性分布 Fig. 6 The Lithologic distribution

图 7(a)本软件;(b)Surfer软件 Fig. 7(a)Our Software;(b)The Surfer Software

以往没有借助软件实现激发井深设计时,采取的方法是理论加经验的表层结构调查方法,理论上一般把最佳激发井深设计在潜水面以下3~5 m,而且实际生产中也常常把低降速带深度基本认为是潜水面的深度,这往往不符合实际情况,在高程起伏比较小的工区,低降速带深度与潜水面深度可能比较吻合,但仅仅是相对的吻合,因为低降速带深度一般是静态的,基本不变,而潜水面的深度则是动态的,有季节性,与该区雨水和含水量的多少有直接关系;在高程起伏比较大的工区,低降速带深度与潜水面深度往往就不一致,潜水面下3~5 m就不一定是最佳的激发岩性.因此,施工前技术人员可以摒弃旧的设计思想,通过结合调查岩性、潜水面的结果,综合小折射、微测井等方法得到的低降速带深度,利用本软件提供的计算功能,设计出整个工区的激发井深.

图 8(a)近地表高程局部观测;(b)近地表高程局部观测 Fig. 8(a and b)Near surface elevation and local observation

图 9 测线高程曲线图 Fig. 9 The line height curve

图 10 采集低降速带数据输出 Fig. 10 Output the Low velocity data
3.2 元坝2期1区实际应用

与新疆麦盖提工区地质情况不同,该地区地处四川盆地,低降速带薄并且地表高程变化剧烈,施工组在该工区共做了360口微测井,微测井的密度为1 km×1 km.为全面了解分析该工区的近地表深度及速度的变化情况并计算精确的激发井深度,需要建立全工区的速度、深度模型(宋智强等,2014).针对该地区地表较为特殊的地质现象,在常规计算基础之上,我们设计了以下流程:(1)先对山地资料进行预处理,由软件自动识别并删除测线交叉异常点.(2)地表高程曲面由全工区炮、检点实测数据插值后建立,有效地避免了由于微测井解释数据稀疏造成的低降速带穿越地表现象.(3)低降速带分层数据及速度分层数据由微测井解释数据插值后建立.(4)将速度、深度数据两个参数加载到软件模型中,建立全工区的速度、深度模型.(5)插值计算出激发井深位置三维图像,计算生成激发井深数值文件并保存.(6)在二维平面、三维空间(可直观检测插值误差)绘制等值线图.软件可以标注试验点位置坐标,激发井的激发深度等,以便于在现场直接指导野外激发井深设计.通过以上几项措施,有效地解决了该项目的近地表激发井深计算技术方面的难题.

4 结束语

通过详细研究目前地震采集中激发井深设计方法,研发了一套近地表激发井深设计软件,该软件采用即插即用的设计模式,既可与开放平台无缝集成,获取平台提供的各类数据资源(杨群等,1998赵连功和刘洪,2003),也可以脱离平台独立运行,同时也减小了野外开发设计时由于硬件设施的局限性和单一性导致的耗时,为现场施工提供了便利,以实用、高效的特点,指导野外激发井深设计,填补了该领域的技术空白.软件开发的工具和环境使用VS2005提供IDE集成OpenGL三维可视化开发库实现近地表三维场景的创建和人机交互,利用C++ Qt(王秀闽等,2007宋亮等,2011)提供的跨平台集成开发库,实现了整个应用插件的跨平台运行.利用该研究成果在实际生产工区应用,也取得较好的应用效果.

致 谢 感谢胜利物探公司研究所相关同志在软件应用过程中提出的宝贵意见和建议!
参考文献
[1] Chang W Y. 2004. A case study of geoestatistical interpolation to meteorological fields[J]. Chinese Journal of Geophysics (in Chinese), 47(6): 982-990, doi: 10.3321/j.issn:0001-5733.2004.06.008.
[2] Chen N, Zhu Y Y, Zhang G D, et al. 2013. Development and application of scalable platform for seismic exploration based on QT [J]. North China Earthquake Sciences (in Chinese), 31(4): 31-36.
[3] Di Q Y, Fang G Y, Zhang Y M. 2013. Research of the Surface Electromagnetic Prospecting (SEP) system[J]. Chinese Journal of Geophysics (in Chinese), 56(11): 3629-3639, doi: 10.6038/cjg20131104.
[4] Fang R X, Shi C, Song W W, et al. 2013. Real-time GNSS seismometer and its accuracy[J]. Chinese Journal of Geophysics (in Chinese), 56(2): 450-458, doi: 10.6038/cjg20130209.
[5] Guo L H, Meng X H, Guo Z H. 2006. Inverse interpolation for gridding of potential field data[J]. Chinese Journal of Geophysics (in Chinese), 49(4): 1183-1190.
[6] Li X F, Li X F. 2008. Seismic data reconstruction with fractal interpolation[J]. Chinese Journal of Geophysics (in Chinese), 51(4): 1196-1201.
[7] Song L, Wang X M, Zhao W, et al. 2011. The design and implementation of the software package for lithology-petrophysical property joint inversion[J]. Progress in Geophysics (in Chinese), 26(4): 1304-1311, doi: 10.3969/j.issn.1004-2903.2011.04.022.
[8] Song Z Q, Liu B, Chen W J. 2014. Chaidamu basin salt mud crystal region excitation technique[J]. Progress in Geophysics (in Chinese), 29(3): 1224-1230, doi: 10.6038/pg20140331.
[9] Wang C Y, Lu Y, Xie J B, et al. 1991. Seismic sounding datafile and its processing system[J]. Chinese Journal of Geophysics (in Chinese), 34(4): 455-464.
[10] Wang X M, Liu H, Liu Y J, et al. 2007. Editing and running interactive job in seismic data processing system[J]. Progress in Geophysics (in Chinese), 22(3): 860-864, doi: 10.3969/j.issn.1004-2903.2007.03.030.
[11] Xie W, Liu J X, Zhang D F, et al. 2009. Development of magnetotelluric data processing software based on VC++[J]. Progress in Geophysics (in Chinese), 24(6): 2242-2249, doi: 10.3969/j.issn.1004-2903.2009.06.044.
[12] Yang Q, Lv G N, Chen Z M. 1998. Studies on the technology of geographical information data warehouse [J]. Journal of Image and Graphics (in Chinese), 4(8): 621-626.
[13] Zhang J S, Guan Y, Zhang X W. 1995. The software development of evolution of geology and animation[J]. Chinese Journal of Geophysics (in Chinese), 38(S2): 159-164.
[14] Zhao L G, Liu H. 2003. The research situation and trend of development of the seismic exploration processing software[J]. Progress in Geophysics (in Chinese), 18(4): 598-601, doi: 10.3969/j.issn.1004-2903.2003.04.004.
[15] 常文渊. 2004. 地质统计学在气象要素场插值的实例研究[J]. 地球物理学报, 47(6): 982-990, doi: 10.3321/j.issn:0001-5733.2004.06.008.
[16] 陈楠, 祝媛媛, 张光德,等. 2013. 基于QT的地震勘探可扩展平台研发与应用[J]. 华北地震科学, 31(4): 31-36.
[17] 底青云, 方广有, 张一鸣. 2013. 地面电磁探测系统(SEP)研究[J]. 地球物理学报, 56(11): 3629-3639, doi: 10.6038/cjg20131104.
[18] 方荣新, 施闯, 宋伟伟,等. 2013. 实时GNSS地震仪系统实现及精度分析[J]. 地球物理学报, 56(2): 450-458, doi: 10.6038/cjg20130209.
[19] 郭良辉, 孟小红, 郭志宏. 2006. 位场数据网格化的反插值法[J]. 地球物理学报, 49(4): 1183-1190.
[20] 侯景儒, 黄竞先. 1998. 实用地质统计学[M]. 北京: 地质出版社.
[21] 李信富, 李小凡. 2008. 分形插值地震数据重建方法研究[J]. 地球物理学报, 51(4): 1196-1201.
[22] 宋亮, 王秀闽, 赵伟,等. 2011. 岩性物性联合反演系统设计与实现[J]. 地球物理学进展, 26(4): 1304-1311, doi: 10.3969/j.issn.1004-2903.2011.04.022.
[23] 宋智强, 刘斌, 陈吴金. 2014. 柴达木盆地盐泥结晶区激发技术[J]. 地球物理学进展, 29(3): 1224-1230, doi: 10.6038/pg20140331.
[24] 王椿镛, 陆原, 谢剑波,等. 1991. 地震测深数据文件及其处理系统[J]. 地球物理学报, 34(4): 455-464.
[25] 王秀闽, 刘洪, 刘永江,等. 2007. 地震数据处理系统中交互作业编辑与运行[J]. 地球物理学进展, 22(3): 860-864, doi: 10.3969/j.issn.1004-2903.2007.03.030.
[26] 谢维, 柳建新, 张东风,等. 2009. 基于VC++大地电磁数据处理软件开发[J]. 地球物理学进展, 24(6): 2242-2249, doi: 10.3969/j.issn.1004-2903.2009.06.044.
[27] 杨群, 闾国年, 陈钟明. 1998. 地理信息数据仓库的技术研究[J]. 中国图象图形学报, 4(8): 621-626.
[28] 张剑, 江锋, 刘梦花,等. 2012. 逐点激发井深设计网格化方法的选取[J]. 物探化探计算技术, 34(2): 204-212.
[29] 张季生, 管烨, 张晓卫. 1995. 地质构造演化显示软件的开发研究与动画制作[J]. 地球物理学报, 38(S2): 159-164.
[30] 赵连功, 刘洪. 2003. 地震勘探数据资料处理软件集成化研究现状和发展趋势[J]. 地球物理学进展, 18(4): 598-601, doi: 10.3969/j.issn.1004-2903.2003.04.004.