WIS测井数据格式文档格式.docx

上传人:b****6 文档编号:17279053 上传时间:2022-11-30 格式:DOCX 页数:21 大小:26.75KB
下载 相关 举报
WIS测井数据格式文档格式.docx_第1页
第1页 / 共21页
WIS测井数据格式文档格式.docx_第2页
第2页 / 共21页
WIS测井数据格式文档格式.docx_第3页
第3页 / 共21页
WIS测井数据格式文档格式.docx_第4页
第4页 / 共21页
WIS测井数据格式文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

WIS测井数据格式文档格式.docx

《WIS测井数据格式文档格式.docx》由会员分享,可在线阅读,更多相关《WIS测井数据格式文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

WIS测井数据格式文档格式.docx

偏移字节数描述

016对象的名称,以零结尾的字符串。

164对象的状态:

=0为正常;

=1为抛弃;

=2为删除。

202对象的主属性:

=1为通道对象;

=2为表对象;

=3为流对象。

222对象的子属性,描述对应主属性的子属性。

244对象数据体从文件开始处的偏移量。

284对象数据体占用磁盘的块数。

324对象产生的时间。

364对象最近修改的时间。

4032保留字节。

1.1.4对象数据体

对象数据体记录各个对象的具体特性及数据。

根据不同的主属性分三种类型。

对象数据体在WIS文件中的位置由对象入口指定。

1.1.5通道对象

通道对象用来存放采集和计算结果数据(如测井曲线)。

分为通道信息和通道数据两部分。

WIS文件将在一定时空内对某一采集或计算的物理信息数据集统称为通道数据。

通道信息描述通道数据的存放形式,分为基本信息和维信息,基本信息描述信息的基本物理含义,维信息描述信息的时空特性,可以等间隔(连续)或非等间隔(离散)。

最大允许有四维信息,通道信息共占用一个块空间,结构定义如下:

typedefstructtagWIS_CHANNLE

charUnit[8];

charAliasName[16];

charAliasUnit[16];

WORDRepCode;

WORDCodeLen;

floatMinVal;

floatMaxVal;

WORDReserved;

WORDNumOfDimension;

WIS_CHANNEL_DIMENSIONDimInfo[4];

}WIS_CHANNEL;

08对象的单位,以零结尾的字符串。

816对象的别名,以零结尾的字符串。

2416单位的别名,以零结尾的字符串。

402对象数据类型,参见

422数据类型的长度。

444对象的最小值(测井曲线缺省左刻度值)。

484对象的最大值(测井曲线缺省右刻度值)。

522保留字节。

542对象维信息数。

564*56对象维信息。

通道维信息结构定义如下:

typedefstructtagWIS_CHANNLE_DIMENSION

charName[8];

floatStartVal;

floatDelta;

DWORDSamples;

DWORDMaxSamples;

DWORDSize;

}WIS_CHANNEL_DIMENSION;

08维的名称,以零结尾的字符串。

88维的单位,以零结尾的字符串。

1616维的别名,以零结尾的字符串。

324维的开始值。

364维的采集或计算增量。

对于离散数据,该值为0,数据中记录该维的值。

404维的数据采样点数。

如果该值为0,采样点数为可变值,数据中记录该值。

对于第一维数据,该值不能为0。

444维的数据采样最大点数。

该值仅当采样点数信息为0(可变采样点)时有效,该维信息在数据中所占用的字节数通过该值计算。

484该维上每一采样点所占用的字节数。

522维的数据类型,参见

542保留字节。

通道数据从通道描述信息的下一块开始。

下面为一个包含深度和时间维的物理信息数据体的存放顺序。

第一维为深度,第二维为时间。

[A1]+[N2]+[B1]+X1+[B2]+X2+·

·

+[BN]+XN+

[A2]+[N2]+[B1]+X1+[B2]+X2+·

[AN]+[N2]+[B1]+X1+[B2]+X2+·

+[BN]+XN

其中:

A1,A2,·

,AN代表深度值,当深度维信息结构中的Delta为零时,记录此值。

N2代表当前深度点上的时间采样点数,当时间维信息结构中的采样点数为零时,记录此值。

B1,B2,·

,BN代表时间值,当时间维信息结构中的Delta为零时,记录此值。

X1,X2,·

,N代表物理信息的值。

1.1.6表对象

表对象用来存放二维表数据,分为表信息和表数据体两个部分。

表信息由不同的表项组成,每一表项称为字段。

表信息结构定义如下:

typedefstructtagWIS_TABLE

DWORDRecordCount;

DWORDFieldCount;

WIS_TABLE_FIELD*pField;

}WIS_TABLE;

04表的记录数。

44表的字段数。

84指向字段信息结构的指针。

字段信息结构定义如下:

typedefstructtagWIS_TABLE_FIELD

charName[32];

WORDLength;

DWORDReserved;

}WIS_TABLE_FIELD;

032字段的名称,以零结尾的字符串。

322字段值的浮点类型,参见

342字段值的长度。

表数据体(记录)从表信息记录的下一块开始。

1.1.7流对象

流对象用来存放二进制数据块。

开始为4个字节的无符号长整形数,代表数据流的长度。

接着为该流的二进制值。

第二章 

WIS测井数据格式转换文本格式C程序代码

代码如下:

viewplaincopytoclipboardprint?

1./* 

2. 

Copyright 

(c) 

2011, 

Sun 

Yunqiang 

3. 

All 

rights 

reserved. 

4. 

Software:

 

wis2txt_win 

5. 

Version:

1.0 

6. 

Author:

7. 

English 

Name:

Alex 

8. 

Release 

Date:

18/03/2011 

9.*/ 

10./** 

***************************************************************** 

*/ 

11./** 

This 

Program 

is 

for 

converting 

wis 

format 

file 

to 

txt 

12./** 

Command:

wis2txt_win.exe 

args1 

args2 

13./** 

Description:

14./** 

wis2txt_win.exe:

the 

executable 

as 

command 

15./** 

args1:

first 

argument 

that 

name 

16./** 

args2:

second 

17./** 

18.#include 

<

windows.h>

 

19.#include 

stdio.h>

20.#include 

stdlib.h>

21.#include 

string.h>

22.#include 

ctype.h>

23.#include 

time.h>

24.#include 

math.h>

25.#define 

ROW 

65536 

26.#define 

COL 

512 

27./* 

**************************************** 

28./* 

Below 

blocks 

are 

structs 

of 

29./* 

30.typedef 

struct 

tagWIS_HEAD 

31.{ 

32. 

WORD 

MachineType;

// 

0-PC 

1-SUN 

2-IBM 

3-HP 

33. 

MaxObjectNumber;

34. 

ObjectNumber;

35. 

BlockLen;

36. 

DWORD 

EntryOffset;

37. 

DataOffset;

38. 

FileSize;

39. 

time_t 

TimeCreate;

40. 

char 

Reserved[32];

41.}WIS_HEAD;

42.typedef 

tagWIS_OBJECT_ENTRY 

43.{ 

44. 

Name[16];

45. 

long 

Status;

46. 

short 

Attribute;

1-通道对象 

2-表对象 

3-流对象 

47. 

SubAttribute;

1-曲线对象 

2-波形对象 

3-地层测试对象 

4-时深时对象 

48. 

Position;

对象数据体从文件开始处的偏移量 

49. 

BlockNum;

50. 

51. 

TimeWrite;

52. 

53.}WIS_OBJECT_ENTRY;

54.typedef 

tagWIS_CHANNEL_DIMENSION 

55.{ 

56. 

Name[8];

57. 

Unit[8];

58. 

AliasName[16];

59. 

float 

StartVal;

60. 

Delta;

61. 

Samples;

62. 

MaxSamples;

63. 

Size;

64. 

RepCode;

65. 

Reserved;

66.}WIS_CHANNEL_DIMENSION;

67.typedef 

tagWIS_CHANNEL 

68.{ 

69. 

70. 

71. 

AliasUnit[16];

72. 

73. 

CodeLen;

74. 

MinVal;

75. 

MaxVal;

76. 

77. 

NumOfDimension;

78. 

WIS_CHANNEL_DIMENSION 

DimInfo[4];

79.}WIS_CHANNEL;

80.typedef 

tagWIS_STREAM 

81.{ 

82. 

Length;

83. 

Offset;

84.}WIS_STREAM;

85.typedef 

tagWIS_TABLE_FIELD 

86.{ 

87. 

Name[32];

88. 

89. 

90. 

91.} 

WIS_TABLE_FIELD;

92.typedef 

tagWIS_TABLE 

93.{ 

94. 

RecordCount;

95. 

FieldCount;

96. 

WIS_TABLE_FIELD 

*pField;

97.}WIS_TABLE;

98.typedef 

tagWIS_TABLE_DEFAULT_FILED 

99.{ 

100. 

101. 

Alias[16];

102. 

103. 

Type[8];

104. 

105. 

Count;

106. 

DefVal[64][12];

107.} 

WIS_TABLE_DEFAULT_FIELD;

108.typedef 

tagWIS_DEFAULT_TABLE 

109.{ 

110. 

111. 

112. 

Attrb[8];

113. 

114. 

WIS_TABLE_DEFAULT_FIELD 

115.} 

WIS_DEFAULT_TABLE;

116./* 

曲线的信息结构体*/ 

117.typedef 

tagCURVE_HEAD 

118.{ 

119. 

曲线的名字 

120. 

曲线的单位 

121. 

startMD;

曲线的起始深度 

122. 

stopMD;

曲线的结束深度 

123. 

int 

pointNum;

数据样点数 

124. 

position;

数据位置 

125. 

*next;

126.} 

CURVE_HEAD;

127./* 

曲线的数据结构体 

128.typedef 

tagCURVE_DATA 

129.{ 

130. 

131. 

132. 

Depth[ROW];

曲线的深度值 

133. 

Value[ROW];

曲线的值 

134. 

135.} 

CURVE_DATA;

136./* 

************************************************************* 

137./* 

block 

Main 

program 

processing 

138./* 

139.int 

main(int 

argc, 

*argv[]) 

140.{ 

141. 

FILE 

*wisfile;

输入文件 

142. 

*txtfile;

输出文件 

143. 

*infilename 

argv[1];

144. 

*outfilename 

argv[2];

145. 

"

demoa.wis"

;

146. 

demoa.txt"

147. 

if(argc 

!

) 

148. 

149. 

printf("

ERROR:

Command 

parameters 

not 

defined 

correctly!

/n"

);

150. 

exit

(1);

151. 

152. 

wisfile 

fopen(infilename, 

rb"

153. 

if(wisfile 

== 

NULL) 

154. 

155. 

Read 

terminated!

156. 

157. 

158. 

txtfile 

fopen(outfilename, 

w"

159. 

if(txtfile 

160. 

161. 

Write 

162. 

163. 

164. 

/* 

Process 

file, 

it 

and 

transfer 

text 

165. 

/** 

wis文件标识符从文件偏移0开始,为10个字节的字符 

166. 

wisid[10];

167. 

fread(wisid, 

10, 

1, 

wisfile);

168. 

文件标识符:

%s/n"

 

wisid);

169. 

fprintf(txtfile, 

ASCII 

WIS 

%c%c%c/n"

wisid[4], 

wisid[5], 

wisid[6]);

170. 

头文件紧接文件标识 

171. 

WIS_HEAD 

*wishead;

172. 

wishead 

(WIS_HEAD 

*)malloc(sizeof(WIS_HEAD));

173. 

fseek(wisfile, 

SEEK_SET);

174. 

fread(wishead, 

sizeof(WIS_HEAD), 

175. 

pri

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1