ACADEMIC RESEARCH 学术研究
SEGY地震数据文本头更改方法
◆ 王燕红 张文书 郑向阳 刘燕玲
摘要:SEGY地震数据文本头块是用来标注数据体的一些辅助信息,规范化的文本头块,记录着SEGY地震数据的工区、测线、面元、覆盖次数、CDP与SP对应关系、三维网格坐标等相关信息。SEGY地震数据文本头块的规范性,直接影响着石油地震勘探数据的应用。
关键词:SEGY;文本头;规范化;数据应用
一、前言
SEGY 地震数据是油气勘探和开发的重要数据来源之一,是油田发展的重要资源,因此对SEGY地震数据的规范化管理十分必要。在数据体归档时,需要对文本头块进行完整性、准确性的检查,以确保归档数据的可靠性[1]。SEGY数据是石油勘探行业地震数据最为普遍的格式之一,由文件头和数据体组成,标准的文本头块采用EBCDIC编码,共40行,每行80个英文字符,3200个字节记录组成,依次排列,形式如表1。
表1文本头排列格式
二、发现问题
在实际的SEGY地震数据验收工作中,有时发现一些异常现象,从SEGY地震数据体中提取的文本头显示为80行,每个文本行之间出现一个空白行(如图1)。
图1 出现异常文本头
这种异常现象,虽然不影响SEGY地震数据体的应用,但从规范化归档角度上来说属于不合格数据。必须在数据验收阶段予
140
信息系统工程 │ 2019.6.20
以整改,保证归档数据的完整性、可靠性。为了进一步提高数据整改的效率,缩短数据从提交到入库的时间周期,我们对数据体进行分析研究,寻找更改文本头的方法。
三、原因分析
通过对异常的文本头仔细分析,并与标准的文本头进行对比,发现异常的文本头虽然多了空白行,但每个文本行缺少了一个字符,只有79个。由此推断,第80个字符的位置上有一个换行符,也就是说,第80个字符移动到下一行了,而这个字符是不可见的,所以就显示为空白行[2]。
文本字符在计算机中以ASCII码值表示,一个字符的ASCII码值占一个字节(8个二进制位)。ASCII码表可以看成由三部分组成:第一部分由00H到1FH共32个,一般用来通讯或作为控制之用,有些可以显示在屏幕上,有些则不能显示,但能看到其效果,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BEL(振铃)等;通讯专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等。第二部分是由20H到7FH共96个,前95个字符是用来表示阿拉伯数字、英文字母大小写和下划线、括号等符号,都可以显示在屏幕上。第三部分由80H到FFH共128个字符,一般称为“扩充字符”,这128个扩充字符是由IBM制定的,并非标准的ASCII码。这些字符是用来表示框线、音标和其它欧洲非英语系的字母。
在文本正文中出现第一部分字符时,往往出现混乱情况,如上述的空行现象。还有一种常见的情况,在没有文本字符的空格处填充ASCII码值00H,实际上空格的ASCII码值是20H,不是00H。很多系统中,ASCII码值00H表示文本字符的结束,当在文本中间出现ASCII码值00H,则其后的内容都被忽略,造成错误的结果。
四、解决思路与方法
为了数据应用的安全,在数据归档时,将文本中的所有控制字符、通讯字符全部替换为空格符,这个过程由seisX系统中的字符替换函数完成,形式为:
void ReplaceChar(unsigned Old, unsigned New)该函数逐个字节扫描文本字符的ASCII码值,如果出现Old值,
即更改为New值。
在SEGY地震数据中,文本头块是很小的一部分,但需要借助专门的软件工具,对整个数据体进行扫描,也就意味着对整个
ACADEMIC RESEARCH 学术研究
地震数据体进行整改,当遇到较大的数据体时,还会花费很长的时间[3]。如果仅仅修改文本头块,seisX系统还提供了一个快捷方法,即卷头更新函数,形式为:
void SegyUpdateReelHeader(void)
该函数可以跳过对数据体的扫描,直接修改文本卷头,道数据不变,这也节省了重新构造SEGY地震数据体的过程,极大地提高工作效率,见图2。
五、结语
SEGY地震数据文本头更改技巧功能的开发,缩小了数据整改工作量,缩短了整改时间和入库周期,保证了归档数据的规范性、可靠性,为今后数据验收、数据应用工作带来更大的效率。
参考文献
[1] Barry, K. M. , C avers, D. A. and Kneale, C. W. RECOMMENDED
STANDARDS FOR D IGITAL TAPE FORMATS[S].1975, Report on recommended standards for digital tape formats: Geophysics, 40,no. 02, 344- 352.
[2]SEG Y rev 1 Data Exchange format[J].SEG Technical Standards Committee,Release 1.0,May, 2002.
[3] 王洪义,刘亚村,张蓉, 等. 地震速度数据归档方法研究[J]. 石油工业计算机应用,2008,16(1).
读取SEGY文本头 ReplaceChar 字符替换 是 是否替换 其它字符 否 SegyUpdateReelHeader 卷头更新 (作者单位:王燕红、张文书、郑向阳,油田公司勘探开发研究院地球物理研究所;刘燕玲,油田公司实验检测研究院)
图2 文本头更改流程图
对于图1所述的文本头块空行现象,字符替换函数和卷头更新函数配合应用,将换行符直接替换成同样不可见的空格符,即可删除空白行,实现了文本头的规范化(图3)。
A 文本字符替换功能 B 字符替换后的规范化文本
图3 文本头块整改
(上接第139页)
这样的做法就是为了更真实地比较算法的准确性[4-5]。
在MATLAB的环境下对算法进行验证。表1为对图像进行不同模糊角度后估计的结果。
表1 运动模糊角度的估计
文献估计结果本文估计结果真实角度
。图像尺寸
/检测角度绝对误差检测角度绝对误差1510.54.515.40.43021.58.531.21.24535.59.5450
256×256
6050.59.561.51.57569675.20.29091186.53.5
由表1知,在不同模糊角度时,利用本文的方法进行估计的结果还是具有很高的精度,结果较为满意,尤其是45°度时,检测结果误差为0,因此,在原有算法的基础上加入了直方图均衡化处理,避免了Radon变换后造成的极大值分辨不清的问题,使运动模糊角度的估计更加准确。H信息系统工程 │ 2019.6.20
参考文献
[1] 高巍. 运动模糊车牌自动识别算法研究与实现[J]. 西南交通大学研究生学位论文,2011.
[2] 闫永存, 杨燕翔, 黄小莉, 等. 匀速直线运动模糊图像复原的改进算法[J].电子设计工程,2012, 第20卷, 第3期.
[3] 张德丰,等编著. MATLAB 数字图像处理(第2 版)[M]. 北京:机械工业出版社,2012.
[4]Masayukl Takana,Kenichi Yoneji,Masatashi Okutomi.Motion blurparameter identification from a linearly blurred imagine[C].Internation Conference on Consumer Electronics,Digest of Technical Papers,2007:1-2.
[5] 周玉, 彭召意. 运动模糊图像的维纳滤波复原研究[J]. 计算机工程与应用,2009,45(19):181-183.
(作者单位:王素云、张雪飞,陆军装甲兵学院基础部教学教研室;褚艳广,全国农业展览馆)
141