- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常见测井曲线文件的解编与应用.doc
常见测井曲线文件的解编与应用
测井数据和测井成像处理工作中,经常遇到各种不同的数据采集系统各有不同的数据格式。详细介绍了常用的几种数据格式(二进制格式、716格式、L1S格式、DLIS格式、XTF码等)及转换方法。
【关键词】测井 数据格式 格式转换 浮点数 处理方式
1 常见测井数据格式
1.1 BIT格式
BIT格式是Atlas公司提供的一种现场测井记录用的磁带数据格式,其格式相对较简单。BIT格式的数据有1个头记录块(General Heading)和若干个数据记录块(Data Record)组成。每盘磁带有若干个数据文件组成,每个数据文件由若干个记录卡组成,每个记录块由若干个字节组成。每个记录块之间用记录间隔分开,文件与文件之间用文件结束标志分开,磁带上最后一个文件由双EOF结束。
1.2 716格式
716格式是Atlas公司提供的测井解释中心用于保存中间数据和成果数据的磁带文件格式,716格式与BIT格式的结构相同。716格式的文件也是由1个头记录块和若干个数据记录块所组成,但LA716的头记录块要比BIT的头记录块大,为512B。LA716格式的文件最多可容纳40条曲线的数据,而BIT格式的文件最多只能容纳20条曲线的数据,因此716格式的头记录块在BIT格式的头记录块的后部增加了20条曲线名称的空间,其前面部分与BIT格式相同,最后多出的空间用空格(nul1)来填充。
1.3 LIS、DLIS格式
LIS、DLIS测井数据格式是法国斯伦贝谢公司制定并被美国石油协会(API)所推荐的一种测井数据存储格式。其中LIS用于CSU系统中,DLIS用于MAXIS系统中,DLIS由LIS发展而来,其基本框架相同,二者都遵循API的“Digital Log Interchange Standard”。
1.4 XTF格式
XTF文件是ECLIPS5700数控测井系统实时测井生成的数据文件。它由标题块和数据块2大部分组成, 最小的组成单元是记录, 每个记录的长度均为4096 字节, 数据块包含的记录个数由曲线的深度范围来定,XTF文件允许不同特性的曲线并存(起始深度、结束深度、采样率等可不同)。
2 测井数据解编及应用
2.1 参数定位
下面以XTF格式文件的解编为例,演示测井数据文件中参数的定位,编程开发工具为Delphi2007,实现代码如下:
function ReadFileHead(strfilename: string): boolean;
begin
XTFFileStream := TFileStream.Create(strfilename, fmOpenRead or fmShareDenyWrite);
StrFileHead.clear;
XTFFileStream.Position := 0;
XTFFileStream.Seek(28672, soBeginning);
XTFFileStream.Read(byteN, SizeOf(TUnitByte));
//井名
CopyMemory(@WellNames[0], @ByteN[8], 80);
ALogwellname := WellNames;
StrFileHead.add(井名:);
StrFileHead.add(ALogwellname);
//油田名
CopyMemory(@WellNames[0], @ByteN[88], 80);
Aoilname := WellNames;
StrFileHead.add(油田名:);
StrFileHead.add(Aoilname);
end;
该段代码实现了井名和油田名信息的定位和读取。
2.2 数据转换
为了实现不同CPU间数据格式的转换,浮点数需做相应的转换,delphi处理过程如下:
//高低字节转换
function GetSingleValue(byteN: TIntByte):single;
var
Intvalue: Integer;
Sign, Exponent, Mantissa: Integer;
SMantissa: single;
begin
Intvalue := (Integer(byteN[0]) shl 24) + (Integer(byteN[1]) shl 16) + (Integer(byteN[2]) shl 8) + Integer(byteN[3]);
Sign := In
文档评论(0)