路婧
摘 要 在地震资料处理中,SEGY数据格式是最常用的数据格式,作者通过编程在计算机上实现了SEGY格式与文本文件格式的互相转换,为后续的地震数据分析提供基础。文中对该原理与程序的有关技术问题和应用情况作了分析和阐述。
关键词 地震数据 格式转换 SEGY格式
中图分类号:P631.44 文献标识码:A
0引言
在石油地震勘探中,采集的数据常使用SEGY格式存储,该格式使用二进制存储,只能通过些商业软件图形化表现出来。为了将SEGY中所包含的信息,如幅值,相位值等,更加清晰的展现在我们面前,需要将其转换为一种可以编辑的文本格式,在这里选用文本格式,方便后续处理与分析。为了满足两种格式数据之间的转换,必须清楚两种存储格式的存储结构,编程实现SEGY文件和文本(DAT)文件之间的互相转换。
1数据格式分析说明
1.1 SEGY文件流结构介绍
SEGY格式由勘探地球物理学协会(Society of Exploration Geophysics, SEG)制定,是地震勘探中最常用的数据格式,广泛应用于石油勘探工业界。该文件格式后缀为sgy或segy,数据采用二进制存储,属于典型的流形式文件,其数据按照字节顺序挨个存放,每个字节有其特定的含义。
SEGY格式可分为标准SEGY与非标准SEGY。标准SEGY总型式为:卷头,道记录块1,……,道记录块n。非标准SEGY的型式无卷头,其余不变。
可以看出,标准的SEGY记录由卷头与道记录块组成。卷头部分包括ASCII区(3200字节)以及二进制数区(400字节)。道记录块部分包含道头字区(240字节)与数据段区(4字节*采样点数)。这部分通常包括记录采样点数、采样间隔、CDP号、XLine号、Line号以及坐标等信息。
1.2 文本文件(DAT)格式介绍
DAT文件属于ASCII文件,其后缀为dat,又称为文本文件或字符文件,它的每个字节放一个ASCII代码,代表一个字符。这种文本是纯文本,没有数据属性结构方面的信息,可以用记事本、UltraEdit等文本工具打开。
2数据格式转换的程序实现
2.1转换原理
(1)SEGY向DAT转换时,在输入时,选择要转换的SEGY文件,并且输入道间距和首道坐标,从SEGY文件中可以读出记录的采样率与采样点数。在输出时,得到的DAT文件内有三列数,分别为坐标x,时间值t,幅值A。幅值A是从SEGY文件中读到的数据。坐标x与时间值t的求取公式为:x=x0+i*d (i=1,2,…,n),其中x0为首道坐标,d为道间距,n为总道数。t=j*f (j=1,2,….,p),其中f为采样率,p为采样点数。
(2)DAT向SEGY转换时,在输入时,选择要转换的DAT文件,并且输入道间距和采样率。输入的DAT文件为三列数,分别为道号x、时间t或深度值h、幅值A。输出文件即为以SEGY格式存储的关于幅值的文件。
2.2程序实现
程序使用C++语言进行算法的实现,配合使用图形用户界面应用程序开发框架Qt,实现了程序的界面化。可以实现以下两种功能,(1)SEGY文件转换为DAT文件。(2)DAT文件转换为SEGY文件。
3应用实例
为了测试程序的正确性,通过数据文件来测试程序的正确性。
SEGY向DAT进行转换时,如图1左图为一SEGY格式地面地震记录,填写道间距与首道坐标后,输出结果,并配有进度条提示运行进度。得到的DAT文件(图1右)用UltraEdit打开后,为三列数,分别为坐标x,时间值t,幅值A。后续可以对输出的幅值进行分析,例如针对某一时窗内的数据进行最大值、最小值、平均值以及均方根值的统计等。
图1:SEGY转DAT转换 图2:DAT转SEGY转换
前后图 前后图
DAT向SEGY进行转换时,输入的DAT文件为三列数(如图2左),分别为道号x、时间t或深度值h、幅值A。图中所示的数据来说,t或h值并不是等间距分布的,这样的数据用SEGY文件格式存储时会出现错误。因此需要输入道间距和采样率对其进行等间距的重新插值,同时,对幅值也进行重新插值,具体插值方法为根据空缺处前后的数值求平均值。最后将插值完的结果输出为SEGY格式。从而得到一个以SEGY格式存储的属性值的剖面。
4结论
综上所述,编程实现了SEGY和文本文件两种存储格式之间的互相转换,可以快速的从SEGY文件中获取需要的信息,从而为后续的数据分析提供依据。
参考文献
[1] 李庆忠.走向精确的勘探道路[M].北京:石油工业出版社出版,1993.
[2] 陆基孟.地震勘探原理[M].山东:中国石油大学出版社,1993.
[3] Stanley B.Lippman.C++ Primer中文版[M].北京:人民邮电出版社,2006.