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・