石油地质与工程
2021年5月PETROLEUM GEOLOGY AND ENGINEERING 第35卷第3期文章编号:1673–8217(2021)03–0041–03
WIS测井数据中流对象解析及格式转换
彭博1,2,谭成仟1,2,张奔1,2,孙遥1,2,杨泽1,2
(1.西安石油大学地球科学与工程学院,陕西西安710065;2.陕西省油气成藏地质学重点实验室,陕西西安710065)
摘要:为了解决Forward测井解释平台中的测井格式转换器不能从WIS数据文件中批量获取解释成果表,且手动获取后只能保存为ASCII格式文档,不利于获取层位、起始深度、终止深度、解释结论、特征数值及相应的曲线数据等问题,通过分析WIS数据文件的数据格式,利用Visual Basic 6.0语言编写了一款软件,能够实现从多个WIS文件中批量获取解释成果表,并将ASCII格式的解释成果表转换为EXCEL格式,同时可将所有井的解释成果表保存到一张EXCEL表格中。此软件极大地方便了科研工作者,能显著缩短项目的开发周期、节省人力和时间、提高数据处理的正确率。
关键词:WIS数据;Forward;流对象;测井数据;格式转换;Visual Basic 6.0
中图分类号:P631.84 文献标识码:A
Stream object analysis and format conversion in WIS data of well logging
PENG Bo1, 2, TAN Chengqian1, 2, ZHANG Ben1, 2, SUN Yao1, 2, YANG Ze1, 2(1. School of Earth Sciences and Engineering, Xi'an Shiyou University, Xi'an, Shaanxi 710065, China; 2. Key Laboratory of Oil and Gas Accumulation Geology in Shaanxi Province, Xi'an, Shaanxi 710065, China) Abstract: Acquiring the interpretation result table from WIS data file with the format converter in Forward logging interpretation platform, every time it can only manually form a WIS file parsing out the interpretation result table, each well is corresponded to an ASCII format document, the data format in the document is not conducive to obtain horizon, starting depth, ending depth, interpretation conclusion, average characteristic value and corresponding curve data. In order to solve the problem, after analyzing how WIS format data is stored, writer wrote a software with Visual Basic 6.0 for explaining results tables from multiple WIS files, the ASCII format of the results tables is converted to the EXCEL format, the interpretation results in EXCEL format for all wells are saved in an EXCEL spreadsheet. This software can shorten the project development cycle, save manpower and time, and improve the accuracy of data processing.
Key words: WIS data; Forward; stream object; logging data; format conversion; Visual Basic 6.0
Forward平台采用WellBa(Well Basic Analysis System Environment)作为数据底层,即WIS数据,国内大量的测井数据以WIS格式存放、处理和解释。Forward平台支持将多种数据解编为WIS格式的功能[1]。李忠新[2]详细介绍了多种测井数据格式之间转换技术的进展及对未来的展望,胡振平[3]等编写的测井格式软件能对13个主流的测井数据格式进行转换。
在石油的勘探开发中,往往涉及到几百个乃至上千个WIS文件的处理[4,5],前人主要针对不同测井数据格式之间的转换[3]和WIS测井数据中各种二维通道数据的格式转换[1]。WIS文件中的解释成果表数据也是很重要的测井数据之一,Forward平台本身提供了从WIS文件中获取解释成果表的功能,但是每次只能手动获取一口井的解释成果表,每口井保存为一个ASCII格式文档,且无法转换为更适合
收稿日期:2020–07–05;修改日期:2021–03–17。
第一作者简介:彭博(1989—),男,在读硕士研究生,现从事地球探测与信息技术研究。E–mail:****************。
·42·石油地质与工程2021年第3期
处理数据的EXCEL格式文档,这给项目中数据处理带来了不便。虽然张宫[1]编写的软件也能从WIS 文件中获取解释成果表,但是也是每次只能手动获取一口井的解释成果表。本文利用VB语言在Visual
Basic 6.0平台上编写了一个软件,该软件能从多个WIS文件中批量获取ASCII格式的解释成果表,从ASCII格式的解释成果表中获取指定数据列并转换为适合数据处理的EXCEL格式,并可将所有井的EXCEL数据合并到一张EXCEL表格中。通过这个软件,可以很方便地从多个WIS文件中批量解析出解释成果表,极大地方便了科研工作者。
1 WIS文件格式说明[6]老年活动
WIS数据文件由文件头、对象入口记录和对象数据三部分组成。
1.1 文件标识
WIS数据文件的标识为从文件偏移值为零处开始的长度为10个字节的字符。
1.2 文件头结构
WIS数据文件的头结构紧接文件标识,描述WIS文件的公共信息,其数据结构如表1所示。
表1 WIS文件头信息存放方式
数据类型(VB6.0)所占字节数字段说明Integer 2 机器类型
老醋花生做法
Integer 2 最大对象数
Integer 2 当前对象数
Integer 2 块长
Long 4 入口偏移位置
Long 4 数据偏移位置
Long 4 文件大小
Long 4 创建时间
Byte[32] 32 保留空间
1.3 对象入口
WIS数据文件的对象入口描述了每个对象的公共信息,其开始位置在头结构中给出。每个对象的描述信息前后相连,其数据结构如表2所示。
啊呜网表 2 WIS对象入口描述信息存放方式数据类型(VB6.0)所占字节数字段说明Byte[16] 16 对象名
Long 4 对象状态
Integer 2 属性
Integer 2 子属性
Long 4 数据偏移地址
Long 4 数据块数
Long 4 创建时间
Long 4 修改时间
Byte[32] 32 保留空间
1.4 流对象数据格式ctrip携程旅行网官网
WIS数据文件共存放三种类型的对象,分别为通道对象(Channel Object)、表对象(Table Object)和流对象(Stream Object)。通道对象一般用来存放采集数据和处理结果(如测井曲线);表对象用来存放二维表数据(解释结论);流对象用来存放二进制数据块(如解释参数,用户数据),开始为
4个字节的无符号长整型数,记录流数据的长度,紧接着为该流对象的二进制数据,且流对象数据的具体存储格式由对象的子属性决定。解释成果表为流对象数据,本文只关注流对象的数据存储方式。
2 程序设计方法[7]
弄清楚WIS文件标识、文件头、对象入口及流对象的存储格式后,就可以在Visual Basic 6.0平台编写程序批量获取所有井的解释成果表。
2.1 解释成果表的解析
使用“Scripting.FileSystemObject”对象的CreateFolder方法来获取保存WIS文件路径中的所有WIS文件,使用For循环及Open函数遍历并打开所有WIS文件,根据WIS文件格式读取流对象,判断对象名称是否为“RPT_OG_REST”来确定该流对象是否为需要的解释成果表,以确定是否应该读取此流对象。
2.2 流对象的转存
如果流对象名为“RPT_OG_REST”且子属性为1,则该流对象为ASCII格式的解释成果表数据。使用“Scripting.FileSystemObject”对象的CreateTextFile 方法根据井名创建TXT文档、Do循环遍历每个字符和put方法将读取的字符转存到新建的TXT文档中。
2.3 EXCEL文件的存取
在Visual Basic 6.0平台引用Microsoft Excel 16.0 Object Library和Microsoft Office 16.0 Object Library,就可以调用对EXCEL文档读写的对象和函数(如Excel.Application、Workbooks、Workbook、Workshheets、Worksheet和Cells等函数)。
3 代码模块及软件运行流程
3.1 代码模块
Function AnalysisWIS(WISFile)
Open WISFile For Binary As #1
Open SaveFile For Binary As #2
彭博等.WIS测井数据中流对象解析及格式转换·43·
Get #1, 11, wis_head
IndexOfft = wis_head.Offt
Do
Get #1, IndexOfft + 1, object
If object.Attribute = 1 Then
If object.name == "RPT_OG_REST" Then
Get #1, object.Pos + 1, Length
For i = 0 To Length –1
Get #1, Index, C
Put #2, , C
Index= Index+ 1
Next灰原哀的图片
End If
提高全要素生产率Clo #2
撒娇的女人Exit Do
End If
Loop
Clo #1
End Function
3.2 软件运行流程
软件运行的流程如图1所示。
中国现当代作家
图1 软件运行流程
4 软件应用
4.1 获取解释成果表
打开软件,选择WIS文件所在路径和解析出的解释成果表保存路径,点击获取成果表按钮,软件会自动获取WIS文件所在路径下所有WIS文件的解释成果表,并将成果表数据保存在所选择的保存路径下。
4.2 解释成果表的格式转换
在软件主界面菜单栏中选择“数据处理––>TxtToExcel”,打开将解释成果表转换为EXCEL 的功能界面,
选择解释成果表所在路径和转换结果的保存路径,点击转换按钮,程序会自动获取解释成果表所在路径下的所有解释成果表,并将其转换成EXCEL文件后保存在所选择的保存路径下。
软件会在所选择保存转换结果的路径下新建ErrTxt、Excel和MeanTxt三个文件夹。其中,文件夹ErrTxt存放无法转换或转换出错的解释成果表的复件,文件夹Excel存放转换成功的EXCEL文件,文件夹MeanTxt存放TXT格式的解释成果表。文件夹Excel中名称为“All.xlsx”的文件保存转换出来的全部解释成果表。
5 结论
本软件解决了Forward软件中测井数据格式转换器不能批量获取解释成果表的问题,可高效地、准确地获取解释成果表,极大地方便了石油科研工作者;同时该软件还能将文本格式的解释成果表转换为EXCEL格式的数据,并获取指定的特征数值;而且能在XP系统及其以上版本操作系统上运行,兼容性好。
参考文献
[1] 张宫,何宗斌,樊鹤.WIS测井数据格式中二维数据的
解析与转储[J].科学技术与工程,2011,11(16):3 775–3 778.
[2] 李忠新.测井数据格式转换技术综述[J].化工设计通讯,
2016,42(4):36.
[3] 胡振平,王昌德,王本奇.测井数据格式转换系统[J].测
井技术,2005,29(4):368–370.
[4]魏修平,胡向阳,李浩,等.致密砂岩气藏水平井测
井评价[J].石油与天然气地质,2019,40(5):1 084–1 094.
[5] 王伟,康胜松,高峰,等.基于模糊C均值聚类与Bayes
判别的致密油储层分类评价[J].特种油气藏,2020,27(5):118–124.
[6] 中国石油天然气集团公司油气勘探部.测井数据平台底
层Well Ba技术开发手册[S].北京:石油工业出版社,2000:26–32.
[7] 王萍,聂伟强.Visual Basic 6.0程序设计基础教程[M].北
京:电子工业出版社,2012.
(编辑杜建波)