ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:64.86KB ,
资源ID:3436383      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3436383.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(WIS测井数据格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

WIS测井数据格式.docx

1、WIS测井数据格式测井曲线wis文件格式转换为ASCII文本格式小软件的开发(C与Python结合开发) 分类: C/C+ 2011-03-25 12:45 627人阅读 评论(2) 收藏 举报 在油田开发地质研究工作中,测井曲线是必不可少的数据文件之一。Forward软件是测井软件中非常优秀的产品,Forward中使用的是wis二进制格式,可是很多其他类型的软件不能直接识别wis格式,所以需要我们将wis格式文本格式。Forward软件有一个transfer小软件,不能实现批量处理,每次只能转换一个文件,但实际工作中通常一次要转换上百个文件,这就有点不方便了,因此,我在业余时间,阅读了For

2、ward软件中自带的wis格式说明(如下,第一章内容),利用C和Python编写了一个可以批量处理的小软件。第1章 WIS测井数据文件格式WellBase平台底层数据文件使用WIS格式,WIS文件分为文件头、对象入口记录和对象数据三部分。数据存放以块为单位。WIS文件能存放三种类型的对象,根据对象的类型分为通道对象、表对象和流对象。通道对象一般用来存放采集数据和处理结果(如测井曲线),表对象用来存放二维表数据(如解释结论),流对象用来存放二进制数据块(如解释参数,用户数据)。1.1 WIS文件结构1.1.1 文件标识WIS文件标识从文件偏移零开始,为10个字节的字符。当前版本的标识为WIS 1

3、.0。1.1.2 文件头结构头结构紧接文件标识。描述WIS文件的公共信息。结构定义如下:typedef struct tagWIS_HEADWORD MachineType;WORD MaxObjectNumber;WORD ObjectNumber;WORD BlockLen;DWORD EntryOffset;DWORD DataOffset;DWORD FileSize;DWORD TimeCreate;char Reserved32;WIS_HEAD;偏移 字节数 描述0 2 机器类型=1 为PC; =2为SUN; =3为IBM; =4为HP。2 2 允许记录的最大对象数。缺省为512

4、个,该值可以在文件产生时给出。4 2 当前记录的对象总数(包括删除和抛弃的对象)。6 2 块长。WIS文件对象占用的磁盘空间以块为单位,该值指示每一数据块的字节数。8 4 对象入口记录从文件开始的偏移量。12 4 对象数据记录从文件开始的偏移量。16 4 WIS文件的字节数大小。20 4 WIS文件产生的时间。24 32 保留字节。1.1.3 对象入口对象入口描述每个对象的公共信息,开始位置由头结构给出。每个对象的描述信息前后相连。结构定义如下:typedef struct tagWIS_OBJECT_ENTRYchar Name16;long Status;short Attribute;s

5、hort SubAttribute;DWORD Position;DWORD BlockNum;DWORD TimeCreate;DWORD TimeWrite;char Reserved32;WIS_OBJECT_ENTRY;偏移 字节数 描述0 16 对象的名称,以零结尾的字符串。16 4 对象的状态:=0为正常; =1为抛弃; =2为删除。20 2 对象的主属性:=1为通道对象; =2为表对象; =3为流对象。22 2 对象的子属性,描述对应主属性的子属性。24 4 对象数据体从文件开始处的偏移量。28 4 对象数据体占用磁盘的块数。32 4 对象产生的时间。36 4 对象最近修改的时间

6、。40 32 保留字节。1.1.4 对象数据体对象数据体记录各个对象的具体特性及数据。根据不同的主属性分三种类型。对象数据体在WIS文件中的位置由对象入口指定。1.1.5 通道对象通道对象用来存放采集和计算结果数据(如测井曲线)。分为通道信息和通道数据两部分。WIS文件将在一定时空内对某一采集或计算的物理信息数据集统称为通道数据。通道信息描述通道数据的存放形式,分为基本信息和维信息,基本信息描述信息的基本物理含义,维信息描述信息的时空特性,可以等间隔(连续)或非等间隔(离散)。最大允许有四维信息,通道信息共占用一个块空间,结构定义如下: typedef struct tagWIS_CHANNL

7、Echar Unit8;char AliasName16;char AliasUnit16;WORD RepCode;WORD CodeLen;float MinVal;float MaxVal;WORD Reserved;WORD NumOfDimension;WIS_CHANNEL_DIMENSION DimInfo4;WIS_CHANNEL;偏移 字节数 描述0 8 对象的单位,以零结尾的字符串。8 16 对象的别名,以零结尾的字符串。24 16 单位的别名,以零结尾的字符串。40 2 对象数据类型,参见3.2.1。42 2 数据类型的长度。44 4 对象的最小值(测井曲线缺省左刻度值)

8、。48 4 对象的最大值(测井曲线缺省右刻度值)。52 2 保留字节。54 2 对象维信息数。56 4*56 对象维信息。通道维信息结构定义如下:typedef struct tagWIS_CHANNLE_DIMENSIONchar Name8;char Unit8;char AliasName16;float StartVal;float Delta;DWORD Samples;DWORD MaxSamples;DWORD Size;WORD RepCode;WORD Reserved;WIS_CHANNEL_DIMENSION;偏移 字节数 描述0 8 维的名称,以零结尾的字符串。8 8

9、维的单位,以零结尾的字符串。16 16 维的别名,以零结尾的字符串。32 4 维的开始值。36 4 维的采集或计算增量。对于离散数据,该值为0,数据中记录该维的值。40 4 维的数据采样点数。如果该值为0,采样点数为可变值,数据中记录该值。对于第一维数据,该值不能为0。44 4 维的数据采样最大点数。该值仅当采样点数信息为0(可变采样点)时有效,该维信息在数据中所占用的字节数通过该值计算。48 4 该维上每一采样点所占用的字节数。52 2 维的数据类型,参见3.2.1。54 2 保留字节。通道数据从通道描述信息的下一块开始。下面为一个包含深度和时间维的物理信息数据体的存放顺序。第一维为深度,第

10、二维为时间。A1+N2+B1+X1+B2+X2+BN+XN+A2+N2+B1+X1+B2+X2+BN+XN+AN+N2+B1+X1+B2+X2+BN+XN其中:A1,A2, ,AN代表深度值,当深度维信息结构中的Delta为零时,记录此值。N2代表当前深度点上的时间采样点数,当时间维信息结构中的采样点数为零时,记录此值。B1,B2, ,BN代表时间值,当时间维信息结构中的Delta为零时,记录此值。X1,X2, ,N代表物理信息的值。1.1.6 表对象表对象用来存放二维表数据,分为表信息和表数据体两个部分。表信息由不同的表项组成,每一表项称为字段。表信息结构定义如下:typedef struc

11、t tagWIS_TABLEDWORD RecordCount;DWORD FieldCount;WIS_TABLE_FIELD *pField;WIS_TABLE; 偏移 字节数 描述0 4 表的记录数。4 4 表的字段数。8 4 指向字段信息结构的指针。字段信息结构定义如下:typedef struct tagWIS_TABLE_FIELDchar Name32;WORD RepCode;WORD Length;DWORD Reserved;WIS_TABLE_FIELD;偏移 字节数 描述0 32 字段的名称,以零结尾的字符串。32 2 字段值的浮点类型,参见3.2.1。34 2 字段值

12、的长度。表数据体(记录)从表信息记录的下一块开始。1.1.7 流对象流对象用来存放二进制数据块。开始为4个字节的无符号长整形数,代表数据流的长度。接着为该流的二进制值。第二章 WIS测井数据格式转换文本格式C程序代码代码如下:view plaincopy to clipboardprint?1./*2.*Copyright(c)2011,SunYunqiang3.*Allrightsreserved.4.*Software:wis2txt_win5.*Version:1.06.*Author:SunYunqiang7.*EnglishName:AlexSun8.*ReleaseDate:18/

13、03/20119.*/10.11./*/12./*ThisProgramisforconvertingwisformatfiletotxtformatfile*/13./*Command:wis2txt_win.exeargs1args2*/14./*Description:*/15./*wis2txt_win.exe:theexecutablefileascommand*/16./*args1:thefirstargumentthatisthewisfilename*/17./*args2:thesecondargumentthatisthetxtfilename*/18./*/19.20.

14、#include 21.#include 22.#include 23.#include 24.#include 25.#include 26.#include 27.28.#defineROW65536 29.#defineCOL512 30.31.32./*/33./*Belowblocksarethestructsofwisfile*/34./*/35.typedefstructtagWIS_HEAD36.37.WORDMachineType;/0-PC1-SUN2-IBM3-HP 38.WORDMaxObjectNumber;39.WORDObjectNumber;40.WORDBlo

15、ckLen;41.DWORDEntryOffset;42.DWORDDataOffset;43.DWORDFileSize;44.time_tTimeCreate;45.charReserved32;46.WIS_HEAD;47.48.typedefstructtagWIS_OBJECT_ENTRY49.50.charName16;51.longStatus;52.shortAttribute;/1-通道对象2-表对象3-流对象 53.shortSubAttribute;/1-曲线对象2-波形对象3-地层测试对象4-时深时对象 54.DWORDPosition;/对象数据体从文件开始处的偏移量

16、 55.DWORDBlockNum;56.time_tTimeCreate;57.time_tTimeWrite;58.charReserved32;59.WIS_OBJECT_ENTRY;60.61.typedefstructtagWIS_CHANNEL_DIMENSION62.63.charName8;64.charUnit8;65.charAliasName16;66.floatStartVal;67.floatDelta;68.DWORDSamples;69.DWORDMaxSamples;70.DWORDSize;71.WORDRepCode;72.WORDReserved;73.W

17、IS_CHANNEL_DIMENSION;74.75.typedefstructtagWIS_CHANNEL76.77.charUnit8;78.charAliasName16;79.charAliasUnit16;80.WORDRepCode;81.WORDCodeLen;82.floatMinVal;83.floatMaxVal;84.WORDReserved;85.WORDNumOfDimension;86.WIS_CHANNEL_DIMENSIONDimInfo4;87.WIS_CHANNEL;88.89.typedefstructtagWIS_STREAM90.91.DWORDLen

18、gth;92.DWORDOffset;93.WIS_STREAM;94.95.typedefstructtagWIS_TABLE_FIELD96.97.charName32;98.WORDRepCode;99.WORDLength;100.DWORDReserved;101.WIS_TABLE_FIELD;102.103.typedefstructtagWIS_TABLE104.105.DWORDRecordCount;106.DWORDFieldCount;107.WIS_TABLE_FIELD*pField;108.WIS_TABLE;109.110.111.typedefstructta

19、gWIS_TABLE_DEFAULT_FILED112.113.charName16;114.charAlias16;115.charUnit8;116.charType8;117.WORDLength;118.WORDCount;119.charDefVal6412;120.WIS_TABLE_DEFAULT_FIELD;121.122.123.typedefstructtagWIS_DEFAULT_TABLE124.125.charName16;126.charAlias16;127.charAttrb8;128.DWORDFieldCount;129.WIS_TABLE_DEFAULT_

20、FIELD*pField;130.WIS_DEFAULT_TABLE;131.132.133.134./*曲线的信息结构体*/135.typedefstructtagCURVE_HEAD136.137.charName16;/曲线的名字 138.charUnit8;/曲线的单位 139.floatstartMD;/曲线的起始深度 140.floatstopMD;/曲线的结束深度 141.intpointNum;/数据样点数 142.intposition;/数据位置 143.structtagCURVE_HEAD*next;144.CURVE_HEAD;145.146./*曲线的数据结构体*/

21、147.typedefstructtagCURVE_DATA148.149.charName16;/曲线的名字 150.charUnit8;/曲线的单位 151.floatDepthROW;/曲线的深度值 152.floatValueROW;/曲线的值 153.structtagCURVE_DATA*next;154.CURVE_DATA;155.156.157.158.159./*/160./*BelowblockistheMainprogramofprocessingwisformatfile*/161./*/162.163.intmain(intargc,char*argv)164.16

22、5.FILE*wisfile;/输入文件 166.FILE*txtfile;/输出文件 167.char*infilename=argv1;168.char*outfilename=argv2;169./char*infilename=demoa.wis; 170./char*outfilename=demoa.txt; 171.172.if(argc!=3)173.174.printf(ERROR:Commandparametersisnotdefinedcorrectly!/n);175.exit(1);176.177.178.179.wisfile=fopen(infilename,rb

23、);180.if(wisfile=NULL)181.182.printf(ERROR:Readfileterminated!/n);183.exit(1);184.185.txtfile=fopen(outfilename,w);186.if(txtfile=NULL)187.188.printf(ERROR:Writefileterminated!/n);189.exit(1);190.191.192./*Processwisfile,Readitandtransferittotext*/193.194./*wis文件标识符从文件偏移0开始,为10个字节的字符*/195.charwisid10;196.fread(wisid,10,1,wisfile);197./printf(文件标识符:%s/n,wisid); 198.fprintf(txtfile,ASCIIWIS%c%c%c/n,wisid4,wisid5,wisid6);199.200./*头文件紧接文件标识*/201.WIS_HEAD*wishead;202.wishead=(WIS_HEAD*)malloc(

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

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