APP下载

C#的三维可视化水平井井眼轨迹跟踪研究与实现

2015-05-11宋文广邹佳伦罗之睿彭文浩

湖北工业大学学报 2015年1期
关键词:井眼水平井钻井

李 婉, 宋文广, 邹佳伦, 罗之睿, 彭文浩

(长江大学计算机科学学院, 荆州 湖北 434023)



C#的三维可视化水平井井眼轨迹跟踪研究与实现

李 婉, 宋文广, 邹佳伦, 罗之睿, 彭文浩

(长江大学计算机科学学院, 荆州 湖北 434023)

利用C#开发平台结合OpenGL技术,设计出一种新算法,实现水平井井眼轨迹实时监测软件,能及时跟踪定向井眼轨迹,提高钻井工作效率,为气田井轨迹描述、地质导向、水平井设计评估提供了技术支持。能够将复杂的井眼数据以更加直观的方式表达出来,对水平井钻井过程的科学决策具有一定的指导意义,有助于降低水平井开发风险,提高钻井效率。

水平井; 井眼轨迹; 三维可视化

随着计算机技术在油气勘探领域应用范围越来越广,可视化技术应运而生。在国外钻井信息化起步比较早,一些钻井承包商都拥有各具特色的水平井轨迹可视化软件[1]。全球最大的油田技术服务公司,斯伦贝谢开发的Osprey Drilling,其中的Drilling Office模块中就包含了轨迹可视化系统,帮助规避一些昂贵的钻井风险。美国摩尔公司与Halliburton等公司也开发了一些钻井轨迹可视化软件[2]。计算机水平井轨迹可视化技术在国外石油工程中已取得了长足的进步,已经深入到石油工业的许多实际工程中。

国内各大油田的钻井研究院都在开发自己的水平井轨迹可视化软件,对水平井的施工起到了推动作用[3]。但是由于国外的井眼可视化模块价格昂贵,引入到国内的软件一般只享有使用权。目前国内的可视化技术在计算和显示方面尚需进一步完善。本文基于C#环境的OpenGL可视化技术的应用在数据处理,井下轨迹显示方面取得了良好的效果。

1 设计原理与实现

1.1 数据结构

目前已采集到的井眼轨迹数据量比较大,为了在三维井眼轨迹可视化的过程中提高系统的运行速度,方便数据查找显示,本文采用List类来存储数据。List是 ArrayList类的泛型,是ArrayList类的泛型等效类,大部分用法跟ArrayList类相似,继承了IList接口,提供了数据的存储和检索,其对象的大小是按照存储的数据动态扩充与收缩的,同时节约了存储空间,提高了有效数据的查找效率。需要注意的是,在声明List集合时,要为其声明List集合内数据的对象类型[4]。

1.2 数据导入

数据导入主要是对Excel文档中的井眼轨迹数据进行导入,数据保存容器为dataset数据集。在获取Excel文档路径之后,首先应该建立SQL与Excel文档的连接。本文采取的是通过OLEDB对Excel进行连接,运用的ADO.NET技术访问Excel表格。为保证连接的表格为选中的表格,添加了Excel表格预览功能。最后通过添加控件,测试数据是否正确导入dataset容器中。

1.3 基于OpenGL的成图显示

1.3.1 OpenGL概述 OpenGL是图形硬件的一种软件接口。从本质上说,它是一个3D图形和模型库,具有高度的可移植性,并且具有非常快的渲染速度。如今,OpenGL广泛流行于游戏,医学影像,地理信息,气候模拟等领域,是高性能图形和交互式场景处理的工业标准。

1.3.2 成图显示过程 根据实际图像显示过程,设计程序流程图见图1。

图1 成像流程图

使用OpenGL显示图形,必须先根据图形的预测形状来建立图形的数学描述。根据获得的数据,绘制得到二维和三维坐标系,然后通过坐标转换算法将数据转换成相应的坐标点,再通过OpenGL显示图形。最后从用户需求出发,加载相应的功能控件,展示图形功能。其算法实现如下:

//从导入的数据获取数据集

public IList GetGuiJi() //继承IList接口

{

IList GJList = new List();

if (_ds == null)

return null;

int length=0;

for (int i = 0; _ds.Tables[0].Rows[i]["F4"].ToString() != "";i++ ) //获得F4列的实际长度

{

length++;

}

for (int i = 2; i < length; i++)

{

GuiJi newGuiji = new GuiJi();

newGuiji.Depth = Single.Parse(_ds.Tables[0].Rows[i]["F4"].ToString());

newGuiji.NS = Single.Parse(_ds.Tables[0].Rows[i]["F5"].ToString());

newGuiji.WE = Single.Parse(_ds.Tables[0].Rows[i]["F6"].ToString());

newGuiji.R = 3f;

GJList.Add(newGuiji);

}

return GJList;

}

//坐标转换算法

//OpenGL中的坐标均为齐次坐标(x,y,z,w),故所有变换矩阵都采用4x4矩阵。

转换后的坐标为(x/w,y/w,z/w),w为比例因子。

本文中的二维图形三条轨迹曲线转换坐标为:

gl.Vertex(Wtrajectory1.A / 10, (Wtrajectory1.B - 1000) / 10, Wtrajectory1.C /10);

gl.Vertex(Wtrajectory2.A / 10, (Wtrajectory1.B - 1000) / 10, Wtrajectory2.C / 10);

gl.Vertex(Wtrajectory3.A / 10, (Wtrajectory1.B - 1000) / 10, Wtrajectory2.C / 10);

2 实验与分析

本系统形成了一套井眼轨迹数据模板(图2),实现了对井眼轨迹的整体和局部显示,可实现水平井井眼轨迹可视化图形的二维以及三维的显示效果,并实现图形动态的平移、旋转、缩放。

图2 井眼轨迹数据模板

本系统是一款单机版的软件,能在windows的操作系统下稳定运行。

本系统可对中国大陆油气勘探井眼轨迹进行整体或局部显示,可以保存已形成的轨迹图及曲线,通过打开功能,将之前所作的图形提取出来并能继续操作,打印、输出清晰度高,输出格式为常用的JPG、BMP等格式。

实验证明,本系统能够直观地将井眼轨迹数据显示出来,并且与用户的交互性好,图形操作方式便利,用户能够通过本系统展示的井眼轨迹图像对地层的油气储藏做出相应的判断,提高了解决实际问题的效率。

3 结论

本系统在C#开发环境中结合OpenGL类库的开发思路实现了水平井井眼轨迹跟踪可视化,该系统已经形成一套新的井眼轨迹数据模板和三维成像算法,并设计有良好的数据库接口,可作为其他油气勘探可视化系统的子系统,能够较为准确地显示三维井眼轨迹图,对解决实际问题具有一定的指导意义。

[1] 张 德.基于OpenGL的钻井井眼轨迹可视化研究与实现[D].成都:西南石油大学,2011:9-11.

[2] 周 峰,王 征.Visual C#.NET 2008程序设计案例锦集[M].北京:中国水利出版社,2009:235-236.

[3] 钟 原,陈 浩,李悦钦,等.三维井眼轨迹仿真研究[J].石油工业计算机应用,2008,16(01):45-47.

[4] 李长春,戴国洪.基于VC++与OPenGL的三维图形环境的构建[J].电脑开发与应用,2011,17(06):10-13.

[责任编校: 张岩芳]

Research and Implementation of 3D Horizontal Well Track Visualization Based on C#

LI Wan,SONG Wenguang,ZOU Jialun,LUO Zhirui,PENG Wenhao

(SchoolofComputerScience,YangtzeUniv.,Jingzhou434023,China)

This paper has designed a new algorithm based on C# development platform and combined with OpenGL and developed a software to realise the real time monitoring of horizontal well tracks. This software can follow the track of horizontal well on time, increase the efficiency of drilling work and provide a technical support about gas well trajectory description, geosteering description, horizontal well design evaluation, and can also express complex borehole data in an intuitive way, which is of guiding significance for horizontal well drilling and helps reduce the risk of development of horizontal wells and improves drilling efficiency.

horizontal well, well track, three dimensional visualization

2014-07-19

湖北省教育厅项目(Q20141312);湖北省高等学校大学生创新创业训练计划项目(104892013025)

李 婉(1992-), 女, 湖北随州人,长江大学本科生,研究方向为石油软件开发

宋文广(1979-), 男, 湖北武汉人,工学博士,长江大学副教授,研究方向为软件工程,生产测井解释方法研究与软件研制

1003-4684(2015)01-0023-02

TE143

A

猜你喜欢

井眼水平井钻井
自升式钻井平台Aker操作系统应用探讨
低渗透油田压裂水平井生产动态分析
煤层气多分支水平井分支井眼重入筛管完井技术
伊拉克H 油田Sadi 油藏鱼骨井井眼布置方案研究
扫描“蓝鲸”——观察海上钻井平台
基于水平井信息的单一河口坝内部增生体识别
长庆油田储气库水平井大井眼钻井技术
一种计算水平井产能的新方法
热采水平井加热半径计算新模型
裂缝性致密储层钻井完井液漏失损害带模拟