在油田开发地质研究工作中,测井曲线是必不可少的数据文件之一。Forward软件是测井软件中非常优秀的产品,Forward中使用的是wis二进制格式,可是很多其他类型的软件不能直接识别wis格式,所以需要我们将wis格式文本格式。Forward软件有一个transfer小软件,不能实现批量处理,每次只能转换一个文件,但实际工作中通常一次要转换上百个文件,这就有点不方便了,因此,我在业余时间,阅读了Forward软件中自带的wis格式说明(如下,第一章内容),利用C和Python编写了一个可以批量处理的小软件。
第1章 WIS测井数据文件格式
WellBase平台底层数据文件使用WIS格式,WIS文件分为文件头、对象入口记录和对象数据三部分。数据存放以块为单位。
WIS文件能存放三种类型的对象,根据对象的类型分为通道对象、表对象和流对象。通道对象一般用来存放采集数据和处理结果(如测井曲线),表对象用来存放二维表数据(如解释结论),流对象用来存放二进制数据块(如解释参数,用户数据)。
1.1 WIS文件结构
1.1.1 文件标识
WIS文件标识从文件偏移零开始,为10个字节的字符。当前版本的标识为WIS 1.0。
1.1.2 文件头结构
头结构紧接文件标识。描述WIS文件的公共信息。结构定义如下:
typedef struct tagWIS_HEAD
{
WORD MachineType;
WORD MaxObjectNumber;
WORD ObjectNumber;
WORD BlockLen;
DWORD EntryOffset;
DWORD DataOffset;
DWORD FileSize;
DWORD TimeCreate;
char Reserved[32];
}WIS_HEAD;
偏移 字节数 描述
0 2 机器类型=1 为PC; =2为SUN; =3为IBM;
=4为HP。
2 2 允许记录的最大对象数。缺省为512个,该值可以在文件产生时给出。
4 2 当前记录的对象总数(包括删除和抛弃的对象)。
6 2 块长。WIS文件对象占用的磁盘空间以块为单位,该值指示每一数据块的字节数。
8 4 对象入口记录从文件开始的偏移量。
12 4 对象数据记录从文件开始的偏移量。
16 4 WIS文件的字节数大小。
20 4 WIS文件产生的时间。
24 32 保留字节。