编辑: 黎文定 | 2019-12-26 |
36No.
2 Ma r .
2 0
1 7 d o i :
1 0.
1 9
5 0
9 / j . c n k i . d z k q.
2 0
1 7.
0 2
3 6 郑贵洲, 晋学领, 彭俊芳. 工程勘探钻孔岩心图像管理技术[ J ] . 地质科技情报,
2 0
1 7,
3 6 (
2 ) :
2 7
2 -
2 7 8. 收稿日期:
2 0
1 6 -
0 3 -
1 5 编辑: 杨勇作者简介:郑贵洲(
1 9
6 3― ) , 男, 教授, 主要从事地理计算与空间分析、 三维地理信息系统及地学模拟、 空间信息应用工程、
3 S技术 与资源环境遥感研究工作.E-m a i l : z h e n g g z @c u g . e d u. c n 工程勘探钻孔岩心图像管理技术 郑贵洲a ,晋学领b ,彭俊芳b ( 中国地质大学( 武汉) a . 信息工程学院;
b. 地球科学学院,武汉
4 3
0 0
7 4 ) 摘要: 岩心是勘探的重要成果, 传统的岩心管理方法已不适应实际工作的需要.以河南省钻孔岩心数据为例, 建立了岩心图 像管理系统.系统是在建立图像管理实体概念模型的基础上, 借助于 GD I+图像处理和文字显示技术, 实现了岩心图像入库、 图 像绘制及图像编号, 使用I m a g e类打开和保存一个I m a g e类对象, 使用 G r a p h i c s类在视图中绘制I m a g e类对象, 设计了 CNN I m- a g e、 CNNAR o wA l b u m和CNNA l b u m三个类用于管理三级图像;
实现了岩心相册建立、 岩心对比及岩心查询等功能.该系统便于 勘探人员观察、 处理和分析岩心信息. 关键词: 钻孔;
岩心;
图像;
概念模型;
数据库 中图分类号: P
6 3
4 文献标志码: A 文章编号:
1 0
0 0 -7
8 4 9(
2 0
1 7)
0 2 -0
2 7
2 -0
7 岩心是通过钻探取心获得的能够直观反映地层 情况的实物, 是科研、 生产和管理人员在地质勘查过 程中了解地下信息的重要依据.获取岩心以后, 对 岩心的存储管理十分重要.早期国内主要岩心保存 方法是对岩心进行编号后放入特制的岩心盒内[ 1] . 在整理、 装盒、 搬运的过程中, 由于受到诸多因素的 影响, 钻探取得的岩心很难保证完整性[ 2] .如何更 好地保存岩心、 有效地利用岩心一直是地矿工作者 探讨的课题.随着计算机技术的不断发展与进步, 改变传统的岩心图文资料管理方法, 推行计算机管 理, 是解决这一难题的重要途径. 近年来, 各大油田普遍采用计算机岩心图像采 集技术, 建立数字化岩心库.华北油田开展了岩心 库数字化建设, 现已建成一套较完善的岩心数字化 网络系统[
2 -
3 ] .吐哈油田不但建有国内先进水平的 自动化立体岩心库, 而且较早引进了岩心图像采集 设备和信息管理技术, 并积极组建项目组开展网络 数字化岩心库的研究创建和应用推广工作, 取得了 许多实质性的成果[
4 -
5 ] .大庆油田建立了岩心资料 数据库, 实现了岩心资料网络化管理[ 6] .形式各样 的岩心图像采集和岩心图像数据库管理系统以及岩 心图文综合管理系统被应用到 岩心数据库的建设 中, 岩心数据库具有向多源性、 多维性、 开放性发展 的趋势[ 7] .数据模型和数据编码方式的设计和选择 是建立综合岩心数据库的关键.建立地层模型和基 于XML编码存储的结合应用能较好地解决岩心数 据的复杂性, 提高数据库管理系统的异构性和可扩 展性[ 8] .但是以上岩心图像数据库管理系统并未实 现对不同岩心图像分类对比功能, 对钻孔图像信息 表达也不够全面, 面对海量数据的存储代价较高, 不 能应用在高并发和兼容性能较高要求的综合岩心图 像数据管理系统中[ 9] .基于 G D I +的图像绘制和存 储能较好地融合地理信息系统空间数据处理技术, 实现综合岩心图像数据管理, 能更好地满足对大数 据量处理和清晰岩心图像操作分析的要求.
1 岩心图像数据模型设计 对岩心钻孔数据的应用需求进行抽象, 就可以 得到岩心钻孔的信息结构.钻孔信息结构是独立于 具体存储技术的概念模型, 它反映了钻孔数据库的 数据处理需求及钻孔信息的组成与联系, 可以有效 地归纳、 整理和组织分散钻孔零散的信息, 将关键的 信息按照一定顺序和模式排列、 整合, 使其结构化. 在矿区、 勘探线和钻孔等实体关系中, 按照现实 逻辑关系, 每个矿区由不同勘探线组成, 而每条勘探 线包括多个钻孔, 是一种一对多的实体关系.钻孔、 钻孔层位以及钻孔分层实体之间是一对多的实体关 系.钻孔、 测井曲线和测井点实体之间也是一对多 的关系.所以, 以钻孔为数据实体依次组成不同勘 探线实体, 以勘探线为数据实体组成矿区实体, 并以 地层数据为基础实现各地层实体间的分层表达.在第2期 郑贵洲等: 工程勘探钻孔岩心图像管理技术 相册管理中, 相册与矿区、 图像集与勘探线、 图像与 钻孔之间都是一对多的实体关系, 图像、 图像集和相 册之间也是一对多的实体关系. 利用地理信息系统技术以特殊连接符形式搭建 空间数据和属性数据组成的图像数据序列库, 并在 构建图像、 图像集和相册实体基础上实现对各钻孔、 勘探线和矿区的相册管理和图像对比分析.由钻孔 实体观测得到钻孔所在钻孔层位, 建立钻孔与地层 的关联, 为复杂钻孔数据实现规范编录.通过钻孔 观测到的测井曲线和测井点组成关系实现对测井信 息资料的综合管理.在矿区、 勘探线和钻孔实体与 相应图像实体间分别建立与矿区索引、 勘探线索引 和钻孔索引的关联关系操作, 可根据不同的矿区和 勘探线来关联对应钻孔索引并以此获得钻孔岩心图 像序列标识, 实现用户对不同种类岩心图像的读写 操作.图1为根据岩心图像数据库管理系统需求分 析得出的系统概念模型. 图1 岩心数据库概念模型图 F i g.
1 T h e ER o f c o r e d a t a b a s e
2 岩心图像管理类设计 G D I +提供了二维矢量图形绘制、 图像处理和 文字显示排版三大功能.系统主要借助了图像处理 和文字显示两部分功能, 实现了岩心图像的入库和 在主视图中绘制图像及图像编号的功能, 涉及I m- a g e类和 G r a p h i c s类. I m a g e类用于从本地文件或 流对象中 打开一个I m a g e类对象和将一个I m a g e 类对象保存到本地文件或流对象中.因此, 借助此 类, 既可以打开本地图像文件, 也可以将以二进制字 节方式保存在关系数据库中的图像数据加载到I m- a g e类的对象中, 从而借助 G r a p h i c s类将I m a g e类 对象绘制到视图中.G r a p h i c s类提供了绘制直线、 曲线、 图形、 图像和文字的成员方法, 其对象中既存 储了绘制项的信息, 也存储了显示设备的信息.例 如本系统中, 显示设备为继承自 C V i e w 的视图, 绘 制项为I m a g e类对象和文本类型的图像编号, 分别 对应 D r a w I m a g e函数和 D r a w S t r i n g函数. 由于系统采用电子相册的方式显示矿区中的所 有岩心图像, 即钻孔某一层的图像作为一个I m a g e 类对象;
一个钻孔的所有图层的I m a g e类对象集作 为一行显 示在视图中;
最终一个矿区所有钻孔的Image类对象集在视图中就显示为一个电子相册. 对应 上述的3个层次, 系统设计了CNN I m a g e 、 C NNAR o wA l b u m 和CNNA l b u m
3 个类用于组织 管理并绘制整个矿区的所有岩心图像, 类关系图如 图2所示. (
1 ) 单张钻孔图像 C NN I m a g e类CNN I m a g e类封装了I m a g e类对象和 G r a p h i c s 对象, 实现了Image类 对象和文本对象的绘制功能.类中提供了2种方式创建对应的图像对象: 一 种是打开一个本地图像文件, 将图像文件路径存储 在Cstring类型变量 m_ s t r F i l e N a m e中;
另一种是 读取数据库中图像二进制字节, 将图像二进制字节 存储在 B YT E 类型的数组变量 m_ b t F i l e B u f f e r中 然后转换为流对象来创建I m a g e类对象.C NN I m- a g e类将图像编码 存储在Cstring类型的m_ i m g - C o d e变量中.类中还提供了绘制I m a g e类对象和 图像编号的成员函数.基于以上
2 种方式, C NN - I m a g e类提供了绘制水平图像、 绘制垂直图像的
2 种成员函数并提供编制水平图像编号和垂直图像编 号2种成员函数.
3 7
2 地质科技情报2017年 图2 电子相册相关类类图 F i g.
2 T h e r e l a t e d c l a s s d i a g r a m s o f a l b u m B OO L NN D r a w I m a g e ( CWn d *w n d C t r l ,R e - c t d i s R e c t )函数的功能是绘制水平图像, 传入参数 w n d C t r l是用来显示图片的容器、 d i s R e c t是用来确 定图片显示大小, 返回值 T RU E 说明显示成功, 返 回值 F A L S E 说明显示失败.B OO L NN D r a w I m a - g e VT( CWn d *w n d C t r l , R e c t d i s R e c t , f l o a t t r a n - R a n g e , f l o a t r o t A n g l e ) 的功能是图像的垂直绘制成 员函数, 传入参数 w n d C t r l是用来显示图片的容器, d i s R e c t是用来确定图片显示大小, t r a n R a n g e是用 来确定水平移动距离, r o t A n g l e是用来确定图像旋 转的角度, 返回值TRU E 说明显示成功, 返回值FALSE说明显示失败. B OO L NN D r a w I m a g e S t r( CWn d * w n d C t r l , R e c t d i s R e c t , L O G F ONTA &
l f , C O L O R R E F &
c l r ) 的功能是绘制图片水平编号, 传入参数wndCtrl是用来显示图片的容器、 d i s R e c t是用来确 定图片显示大小, 返回值 T RU E 说明显示成功, 返 回值 F A L S E 说明显示失败.B OO L NN D r a w I m - a g e S t r VT( CWn d *w n d C t r l ,R e c t d i s R e c t , f l o a t t r a n R a n g e ,f l o a t r o t A n g l e , L O G F ONTA &
l f , C O L O R R E F &
c l r )的功能是绘制图片垂直 编号, 传入参数 w n d C t r l是用来显示图片的容器、 d i s R e c t 是用来确定图片显示大小, 返回值 T RU E 说明显示 成功, 返回值 F A L S E说明显示失败. (
2 ) 单个钻孔图像集 C NNAR o wA l b u m 类CNNAR o wA l b u m 类用于管理单个钻孔所有图层的图像集, 即CNN I m a g e类对象集, 类中使用 v e c t o r 来管理图像集合, 对应成员变 量m_ v e t R o wA l b u m, 用于存储单个钻孔的图像集 合, 类还提供了添加图像、 绘制水平图像和绘制垂直 图像的成员函数. v o i d N N A d d A I m a g e ( C N N I m a g e &
a d d I m g ) 的功 能是添 加一幅图片到相册中, 传入参数addImg是 C N N I m a g e类对象, 返回值是单行相册中图片编号. v o i d NN D r a wAR o wA l b u m ( CWn d * w n d C - t r l , NNA L B UMS E T T I NG &
n n A l b S t t , L O G - F ONTA &
l f , C O L O R R E F &
c l r ) 是绘制单行相册 中所有水平图像, 返回值 无 . v o i d NN D r a wAR o wA l b u mVT ( CWn d * w n d C t r l , f l o a t t r a n R a n g e , f l o a t r o t A n g l e , NNA L - B UMS E T T I NG &
n n A l b S t t ,L O G F ONTA &
l f , C O L O R R E F &
c l r ) 是绘制单行相册中所有垂直图 像, 返回值 无 . (
3 ) 整个矿区图像集 C NNA l b u m 类CNNA l b u m 类用于管理一个矿区多个钻孔的 图像集合, 即CNNAR o wA l b u m 类对象集中, 使用 v e c t o r 来管理图像集合, 对应 成员变量 m_ v e t A l b u m, 用于存储所有钻孔图像集. 类中还定义了一些辅助变量用于实现设置图像的大 小、 间隔和图像编码的字体大小、 颜色等功能.类还 相应地提供了 C NNAR o wA l b u m 类对象的添加、 删 除和绘制 C NNAR o wA l b u m 类对象集等成员函数. v o i d NNA d d AR o wA l b u m ( C NNAR o wA l b u m &
r o wA l b u m)函数的功能是添加单行相册, 输入参 数r o wA l b u m 是引用类型, 返回值 无 . v o i d C N N A R o w A l b u m &
N N G e t A R o w A l b u m ( I N T r o w N o )函数的功能是获取单行相册, 输出参数 r o w A l b u m 是引用类型, 输入参数r o w N o是行号.
4 7
2 第2期 郑贵洲等: 工程勘探钻孔岩心图像管理技术 v o i d C NN I m a g e &
NNG e t A I m a g e( I NT r o w - N o , I NT c l mN o )函数的功能是获取相册中的某个 图片, 输入参数r o wN o 、 c l mN o是图片所在行列号, 返回值是 C NN I m a g e类型对象的引用. v o i d NN D r a wA l b u m( CWn d *w n d C t r l )函数 的功能是绘制整个水平相册, 参数 w n d C t r l是绘制 容器, 返回值 无 . v o i d NN D r a wA l b u mVT( CWn d * w n d C t r l , f l o a t t r a n R a n g e , f l o a t r o t A n g l e )函数的功能是绘 制整个垂直相册, 参数 w n d C t r l是绘制容器, t r a n - R a n g e表示水平移动距离, r o t A n g l e表示旋转角度.
3 岩心图像管理功能实现 3.
1 钻孔岩心图像存储技术 将钻孔图像以文件方式加载到 C NN I m a g e类 型的对象中, 并通过调用AppendChunk函数保存到S Q................