APP下载

基于地质数据库实现构造等高线图的双缓冲绘制

2021-10-09徐胜利

中国管理信息化 2021年19期
关键词:等高线图数据表绘制

徐胜利,石 晋,江 明

(中国石油辽河油田勘探开发研究院,辽宁 盘锦 124010)

1 概述

构造等高线图作为地质平面图件的一种,按一定的比例和科学投影系统绘制,用等高线、断层线等来定量、醒目地反映地下构造,是油气勘探开发过程中需要经常编绘的重要图件。[1]然而在辽河油田当前的地质研究工作中,利用专业软件在绘制构造等高线图时所需数据资料仍需进行专门的编辑、加载及格式转换,准备时间长且操作烦琐。另外,在利用计算机进行研究软件绘图功能开发时,不仅需要根据读取的大量数据绘制构造图件,还需考虑到用户对图件将进行的各类编辑操作,以便进行细致便捷的研究。基于此,本文提出了从地质数据库中直接读取数据的一种专业软件,并利用双缓冲技术实现构造等高线图的绘制方法。

2 具体实施

经过对系统功能应用方式、应用对象的综合分析,整个系统采用C/S(客户/服务器)结构应用的实现方式。数据层采用Oracle 11g 作为地质数据库服务器,负责存放并管理辽河油田静态地质数据库系统中的数据和地质模型数据;C/S 结构下的客户层采用Oracle 提供的OLE DB 驱动程序方式与地质数据库服务器交互,客户端应用软件采用C++技术进行实现来建立客户端软件应用系统。

2.1 数据结构调整

为使地质综合研究软件能直接调取地质数据库中的数据进行构造图绘制,必须结合地质研究业务对库中原有数据表进行模型结构调整,比如通过调整PICK_SURF_NAME(地层代码数据表)、STRAT_SCHEME_NAME(分层方案名称数据表)、STRAT_SCHEME(分层方案(模式)数据表)、PICK_DATA(地质分层数据表)。使调整后地质分层数据结构,实现了不同研究项目可以有不同的分层方案和同一个研究项目可以有不同的分层方案的应用需求,便于研究人员不同研究思路的表达。解析井位平台、井筒平面投影、井别图标及井号标识的图形要素;解析断层平面投影、地层边界平面投影的图形要素;解析地质断块、构造网格、构造等深线的图形要素等。将这些要素解析成可单独矢量化绘制和任意组合的基本图元形式进行表达和存储[2],做到图形元素的完全矢量化和快速绘制。经过调整的数据结构同地质综合研究软件内部数据结构实现了统一,并使二者采用统一的数据采集接口。

2.2 存储过程及处理函数优化

由于对地质数据库中的数据表进行模型结构调整,绘制图件时构造图中的井位、井斜、分层等数据直接从数据库中调取,地质构造图中修改的断层、等高线、分层数据等需要回写到地质模型数据库中,因此,需要改写对应的存储过程、数据处理函数,便于绘图模块进行数据快速求取和回写操作。共优化完善存储过程及处理函数33 个,例如:SEL_PR_BLOCK_NAME 是读取断块名称数据存储过程。

end SEL_PR_BLOCK_NAME;为了使软件查询数据更方便,也为了提高软件的可移植性,并保证数据库中原始版本数据的安全,本软件系统设计了应用只读视图,例如:V_COORD_CTRLPOINT_WELL 是读取井控制点数据应用视图。

2.3 双缓冲绘制流程

双缓冲技术(Double buffering)是在屏幕上进行图形显示以外,在内存中也有图形在绘制。[3]在构造等高线图绘制时,首先在内存中创建缓冲图像,在缓冲图像中绘制各种图形元素,然后再一次性地将内存中的图形复制到屏幕上去,具体流程如图1 所示。

图1 双缓冲绘制流程图

(1)首先通过接口程序从地质数据库中求取绘制图件所需的坐标、井斜、分层等基础数据或图形数据,然后在内存中创建位图图像MemBitMap,并建立与显示屏幕兼容的MemDC,将位图图像选入MemDC,将MemDC 背景擦除干净后,在MemDC中绘制全部图像,初次将MemDC 图像复制到屏幕。

(2)判断图像局部是否发生变化(比如用户进行的修改编辑操作),如果没有变化,将MemDC 图像复制到屏幕,跳转至流程(3)。如果局部发生变化,接着判断是否图形元素被频繁修改,是则清除MemDC 中图像内容,在MemDC 中绘制未修改图元,将MemDC 图像复制到屏幕后进入流程(3);如果否,清除MemDC 中图像内容,重新在MemDC 中绘制整个图像后再复制到屏幕,进入流程(3)。

(3)判断图元是否被频繁修改,如果否,退出该流程;如果被频繁修改,则首先计算所有修改图元的矩形范围,再刷新屏幕中修改的矩形范围,最后在矩形范围内重新绘制修改图元,退出该流程。

3 应用效果

将本方法应用于地质综合研究软件构造等高线图绘制系统后,应用效果良好。首先实现了辽河油田静态地质数据库作为地质构造图绘制的数据源,节省了数据搜集整理的时间,比如1 000 口井的基础资料加载,由实施前的大于15 个工作日缩短至5 分钟以内,给研究人员带来了极大的便利。此外,在模块中采用双缓冲技术绘图后,用户在构造等高线图编辑后刷新时,屏幕界面不会出现混乱,也不会出现闪屏现象,同时也提高了绘制速率,很好地实现了地质图件绘制功能所要求的显示效果。例如:当用户需要绘制一张1 000 口井的构造等高线图,传统模式需约40 秒,应用本方法后仅需要10 秒,响应时间节省约2/3。

4 结语

本文提供了基于地质数据库实现构造等高线图的双缓冲绘制方法,解决了现有构造等高线图中人工加载数据的问题,缩短了地质研究的周期;使用双缓冲技术来实现图件的快速绘制以及编辑后的高效刷新,实现了高精度成图的目的,满足了现有油气勘探开发的应用需求。

猜你喜欢

等高线图数据表绘制
Art on coffee cups
带参数时空分数阶Fokas-Lenells 方程的精确解*
(3+1)维B-type Kadomtsev-Petviashvili-Boussinesq方程的精确解
基于地测信息管理系统GIS3.2的煤层底板等高线的优化
湖北省新冠肺炎疫情数据表
基于列控工程数据表建立线路拓扑关系的研究
放学后
图表
在转变中绘制新蓝图
基于VSL的动态数据表应用研究