GeoToolkit在Web环境下的应用研究
- 格式:pdf
- 大小:149.12 KB
- 文档页数:2
… …………一
F-一 …一堡……电~…照 …………………… ………,… 一……,…~一 一一,
曩UJiAN eO UT基鹣
GeoToolkit在Web环境下的应用研究
袁旭L ,韩家新 ,刘彦伯
(1西安石油大学计算机学院 陕西西安710065:
2陕西延长石油国际勘探开发工程有限公司 陕西西安710065)
【摘要】:随着Web技术的不断进步,数字化油田的应用也在不断的推广。石油地质绘图作为石
油工业的重要组成部分也显得十分重要。GeoToolkit工具为油藏地质绘图提供了高性能的图形组件,
本文通过对ActiveX控件的使用,使得GeoToolkit开发的应用程序可以很好的在JSP网页中进行数据
处理以及显示。完成了复杂的油藏地址图像在Web环境下的显示功能。
【关键词】:Web环境;GeoToolkit;Activex控件;油藏地质绘图
引言
石油行业地质研究工作中需要用到大量的图形,
这些图形专业性强,具有特定的业务逻辑和业务对
象。本文通过对相关的Web技术的介绍,阐述了油藏
地质绘图如何在Web环境下应用的问题。主要采用
Web环境下利用ActiveX技术,使得GeoToolkit开发 的应用程序可以很好的在JSP网页中进行数据处理 以及显示I11。 1 GeoToolkit介绍 GeoToolKit是INT公司旗下的一款产品。 GeoToolkit提供基于C++/Qt,Java,或C#/.NET语言 开发的,用于石油和天然气勘探与应用的高性能的图 形组件。它允许开发人员利用高层次的工具,能够快 速部署先进的数据可视化和分析应用。许多行业的主 要石油企业,服务提供商和软件厂商依靠GeoToolkit 图形地球科学来提供应用与开发。 业界很多主流软件中的图形显示模块或功能,均 都采用了INT图形组件,以提升软件性能、缩短研发 时间、减小研发成本。这使得开发者真正专注于如何 解决企业勘探开发生产中面临的实际难题。 2 GeotoolKit在Web环境下的应用 GeoToolkit用于开发石油工业系统的应用,因此, 运用GeoToolkit开发的应用应当满足基于企业网的 B/S结构即应当基于Web环境。GeoToolkit在Web环 境下的应用分为两方面的问题。 第一,如何实现数据的传输的问题。运用 GeoToolkit工具绘图时,相关曲线的绘制需要用到数 据库中的数据。这就涉及到了在Web环境下与数据 库的连接以及访问、如何将数据从Web环境中传递到 ・160・ 福建电脑l 2014年第2期 应用程序中等问题。 第二,如何实现Web环境中应用程序的动态显 示的问题。开发的绘图应用如何在Web页面上显示、 前台如何和后台进行交互、数据如何传递等问题。 针对以上问题,我们选择JSP网页作为Web环 境,通过ExtJS、Json、ActiveX相关技术进行处理。以
Json数据处理语言为主,同时,结合ExtJS框架进行前
台、后台数据的交换。最后,基于ActiveX控件技术的
优点,可以实现在Web环境下GeoToolkit应用的显示
和交互。
2.1 GeotoolKit绘图
GeoToolKitT包括有Carnac的组合,以及Well—
Log,Seismi和Contour几个组件库。分别能够完成不
同油藏图像的绘制。
以WellLog为例,它是GeotoolKit中专门封装好
的用来绘制测井曲线的一个库。使用WeI1LOg绘制测
井曲线,可以直接使用其封装好的类和对应的方法,
读入数据即可画出对应的测井曲线,主要涉及到的类
有如下几个:
1)cgWellLOgTrackContainer:用于建立曲线的容
器。
2)cgWellLogTrack:用于记录曲线路径,即它代表
了每条画出的曲线。
3)cgWellLogCurve:用于根据cgWellLogDataSource
中的数据绘制曲线。
4)cgWellLogDataSource:用于存储测井曲线的数
据。
通过上述四个类,就可以建立一个简单的测井曲
线。具体实现步骤如下:
‘…竭……堡…一皇…照……………… 嚣UJlAN COMp L{T基R
1)cgWellLogTrackContainer创建并初始化一个变
量trackContainer作为存放曲线的容器。
2)cgWellLogTrack创建并初始化一个变量track
用于记录曲线路径。
3)设置两个数组变量double口depths和double
口values分别存储测井曲线的深度和宽度。
4)cgWellLogDataSource创建一个变量ds,并在ds
初始化时读入depths、values。
5)cgWellLogCurve创建一个变量curve,用ds进行
初始化。
6)track调用Add方法添加curve。
7)trackContainer调用Add方法添加track。
2.2 ActiveX控件与后台整合
利用ActiveX控件可以使用户能够在不安装任何
软件的情况下,仅仅通过IE浏览器就可以实现远程
的图像访问功能。在用户浏览页面时,通过Web服务
器将ActiveX控件发送到用户浏览器上,用户只需运
行这个ActiveX控件就可以进行远程动态访问功能闭。
由于GeotoolKit编写的绘图程序不能再浏览器环
境下运行,为了解决这个问题,可以使用ActiveX技
术。将编写好的绘图程序编译成ActiveX控件,让后将
其嵌入到浏览器中,在前台使用ExtJS去调用ActiveX
控件的公用方法来读取由后台传到前台的数据。
在vs2008环境下,将程序改造为ActiveX控件,
具体步骤如下:
1) ̄uJ建Windows窗体库项目;
21更改ActiveX的项目属性,在程序集信息中,将
“使程序集COM可见”勾选,选择“生成”选项卡,并
勾选“为COM互操作注册”;
31修改Assemblylnfo文件;
4)生成GuidlD;
51需要实现一个名为IObjectSafety的接口。
经过上述步骤,一个ActiveX控件就开发完成了。
其中接口IObjectSafety是为了让ActiveX控件获取客
户端的信任[31。
测试的过程也就是ActiveX控件在web环境下
显示的过程。其中,主要工作是在JSP网页中使用
ExOS对控件对外开放的公有方法进行调用以获取后
台数据。
以系统中的井径曲线为例,在浏览器上显示井径
曲线的ActiveX控件的ExdS代码如下:
qxPane1.add([{html:'<object id=”JJquxianActiveX”classid=”
clsid:447B3728一B015—4d06-837A—DEDDE5F3A953”width=”
750”height=”510”></object>,}]);
JJquxianActiveX.DrawWellLog(jjDataStore.getAt(6).get('data3,
jjDataStore.getAt(7).get( data );
qxPanel是ExtJS面板,add方法将object加入面
板中并在面板中显示,即object就是ActiveX控件。id
就是控件名,可以通过id去调用ActiveX控件的公有
方法。DrawWellLog方法就是ActiveX控件的公有方
法,它有连个string类型的参数,分别接收后台传给
jjDataStore的数据后显示当前井径曲线图像如图1所
示。
嚣0姆“。 一鬣菇~一一一-… ………~一~
图1 ActiveX控件在网页上的显示实例
3结语
本文通过将GeotoolKit与ActiveX技术相结合,
很好的将复杂的油藏地质图像绘制功能在Web环境
下实现。将系统以B/S的方式实现。更好的辅助分析
油田开发动态,节约成本,提高油田开发效益。
参考文献:
[1]韩家新,刘彦伯.基于Web的油藏信息图形显示研究[门.软
件导刊.2013(7)
[2]潘爱民.COM原理与应用[M].清华大学出版社,2004:
44-60.
[3]王映辉.ActiveX控件的工作机理与实现研究[T].计算机科
学,2003,30,253-255.
2014年第2期 l福建电脑 ・161・