一种通过计算机编程快速读取地震数据的方法
2011-01-09苏欣,杜鑫
苏 欣,杜 鑫
(承德石油高等专科学校计算机工程系系,河北,承德 067000)
一种通过计算机编程快速读取地震数据的方法
苏 欣,杜 鑫
(承德石油高等专科学校计算机工程系系,河北,承德 067000)
地震数据是地质勘探与开发研究工作中一类重要的数据,其格式复杂、数据体庞大,所以地震数据的访问成为地球物理软件开发中的技术难点之一。通过分析常用地震数据的格式,可以明确地震数据访问要解决的关键技术问题是地震道在文件中的随机定位。提出了一种在微机上快速读取地震数据文件的方法,可以实现对大体积地震数据的直接读取与随机数据道访问。将该方法应用于中国石油天然气集团公司科技项目《多学科专家协同勘探虚拟现实工作平台研制》中的地震数据管理软件,可以更为快速准确地读取并转换大体积的地震数据,为实现3D虚拟显示勘探数据的任务目标提供可靠保障。
SEG-Y文件;随机访问;地震数据
1 地震数据简介
地震勘探技术在油气田勘探开发中起着重要作用。地震勘探包括地震采集、处理和解释三大部分。在地质勘探与开发研究工作中,地震数据是最为重要的研究对象。但是,地震数据格式复杂,并且体积十分庞大,因此成功地对地震数据进行分析与读取是地质勘探软件开发的重点之一。本文对常用地震数据格式:SEG-Y格式进行分析,并提出了一种通过VC编程实现对SEG-Y数据进行进接读取的方法,有效提高了读取地震数据的速度。
2 SEG-Y地震数据格式
SEG是the Society of Exploration Geophysicists(勘探地球物理家学会)的缩写。该学会是一个非赢利性组织,成立于1930年。SEG-Y数据交换格式是石油勘探行业地震数据最为普遍的格式,目前应用的版本是SEG-Y rev1.0,文件结构如表1所示:前3600字节(包括3200字节的文本文件和400字节的二进制文件头)一般看作是一个整体,随后是若干个3200字节的扩展文本文件头记录,最后是若干条道的数据记录。地震数据可以以IBM浮点型、IEEE浮点型、整型等格式存储,在一个三维工区中,同一次处理的地震数据格式是惟一的。
表1 SEG-Y rev1.0标准下的文件格式
2.1 文件头
SEG-Y的标准文件头包括3200字节的文本文件头和400字节的二进制文件头。3200字节的文本文件头包括40条(每条共80字节)记录,用来保存地震数据体的相关描述信息;而400字节的二进制文件头中包含了地震数据的重要信息,包括该SEG-Y数据文件的数据格式、采样间隔、采样点数和测量单位等,这些信息均存储在固定的位置,比如,采样间隔存放在第3217-3218字节处,每道的采样点数存放在第3221-3222字节处,具体如表2所示。
表2 二进制数据头参数位置示意表
2.2 地震道数据
在SEG-Y数据中,地震道数据保存在数据头之后,每一道的地震数据均包括240个字节的道头信息。道头信息中包括该地震道的线号、道号,采样点数、大地坐标等参数,如大地X坐标保存在第73-76字节,大地Y地震保存在第77-80字节,该道采样点数保存在第115-116字节,该道的采样间隔保存在第117-118字节处。
实际上,地震道数据是对地震信号的波形按一定的时间间隔(即前文所说的采样间隔)Δt进行取样,然后把这一系列的离散振幅值记录下来。该地震道的采样点数是由本道头数据(即240字节)中所定义的采样点数决定的,一般来说,大部分的SEG-Y数据所有的地震道采样点的个数是相同的,但也有不相同的情况,一般称地震道采样点不相同的文件叫做变道长SEG-Y文件。
3 在微机上访问大体积SEG-Y地震数据
要访问SEG-Y地震数据,首先要确定的是SEG-Y文件的数据格式,是IBM型浮点数、IEEE型浮点数,亦或是其它类型,这可以通过读取二进制文件头信息直接获取。
3.1 读取二进制格式文件
在通常情况下,地震数据的处理都是在Sun或IBM工作站上进行,而在这些工作站中,二进制的地震数据的存放格式与在微机上的存放格式并不相同,以微机为例,存放一个4字节的浮点数的格式如表3所示。
其中,由左至右是从高位字节到低位字节。而在Sun工作站或IBM工作站中,若1-4字节依然是由高位至低位,则存储格式如表4所示,即是由低位至高位存储,与微机上面的存储顺序正好相反。
表3 微机存储4字节二进制数据的格式
表4 工作站存储4字节二进制数据的格式
因为,若要在微机上读取SEG-Y地震数据,就必须进行格式转换。格式转换可以通过类conversion实现,conversion的定义如下:
3.2 大体积SEG-Y数据的访问
目前,地震勘探面向着连片、高精度的方向发展,地震数据的体积变得越来越大。在一般情况下,三维工区的地震数据所占用的存储空间的大小可以表示为:
其中,FileHead_Size为3200字节的文本文件头,BinaryHead_Size为400字节的二进制文件头,Si为第i条地震道的大小。在一般情况下,单个SEG-Y数据文件的体积均达到4至5个GB,而目前的SEGY数据读取方法无法实现对这样大体积的数据进行随机访问。这是因为,目前的数据读取方法是通过fseek()函数实现对数据文件的随机定位,fseek()函数的原型是:
其中,参数offset是32位的整型数据,因此2GB(231-1字节)是随机进行文件定位的最大限值。因此可以采用64位函数对地震数据文件进行读取,原数据原型为:
其中,offset为64位的长整型数据,所以理论上可以读取的数据文件的大小为263-1字节,足够满足目前大体积数据的访问需要。
3.3 读取地震数据
完成数据格式转换后,即可用常规方法,按道读取每一地震道上的振幅值,亦可以使用上述文件定位方法随机读取SEG-Y数据文件中的某一道。按道顺序读取方法参见图1所示的流程,随机读取方法参见图2所示的流程,具体的读取过程不是本文研究的重点,在此不再详述。
4 结论
基于本文提出的读取大体积地震数据的方法,在微机上所开发的地震数据管理软件,可以对多块工区的三维地震数据进行读取与转换,总数据量可以达200GB至400GB。上述地震数据管理软件应用于中国石油天然气集团公司科技项目《多学科专家协同勘探虚拟现实工作平台研制》,可以更为快速准确地读取并转换大体积的地震数据,为实现3D虚拟显示勘探数据的任务目标提供可靠支持。
[1] 陆基孟.地震勘探原理[M].东营:石油大学出版社,1993.
[2] 牟永光.石油数据处理方法[M].北京:石油工业出版社,1999.
Quick Seismic Data Accessing by Computer Programming
SU Xin,DU Xin
(Department of Computer and Information Engineering,Chengde Petroleum College,Chengde 067000,Hebei,China)
The seismic data is one of the important data in petroleum exploration and production.Because of its complicated format and huge data body,accessing seismic data becomes one of the difficult technical issues in geophysical software development.By analyzing the common format of seismic data,we can find that the key technique in seismic data accessing is the seismic traces’random location in SEG-Y file.This paper puts forward a method of accessing seismic data on PC,we can read the huge body of seismic data directly and access random seismic traces in SEG-Y file.Using this method in seismic data management software,which is included in the technological project“multi-discipline experts explore base on virtual reality environment”of CNPC,we can access the huge body of seismic data more quickly and exactly.
SEG-Y file;random access;seismic data
P315.69
B
1008-9446(2011)02-0020-04
2011-04-08
苏欣(1981-),男,河北承德人,承德石油高等专科学校计算机系助教,硕士,主要研究方向为三维虚拟现实技术以及石油勘探、模拟软件数据管理。