c语言读取sgy格式文件,用C语言读写SGY格式地震数据文件.pdf

Author: Yangwqcumt

用C 语言读写SGY 格式的地震数据

用C 语言读写SGY 格式的地震数据

Yangwqcumt

百度专用,转载需授权

地震勘探野外采集的数据,以及经过资料处理获得的三维数据

体,只要是放在计算机里,都是以二进制文件的形式存放的。这些文

件的处理显示等工作,一般都可以用商业化的软件进行。但是作为一

个从事地震勘探研究的技术人员,有时会有些想法,有某种灵感,但

是原有的软件又不允许你去做某种试验以验证你的想法。这时候,自

编个小程序显然有必要,而且弄好后你的成就感会很强烈。

1. SEGY 格式地震数据文件

地震数据,是以各种格式存放的。所谓格式,指的是地震数据以

及各种信息在文件内部的存放方式及顺序。

常见的地震数据格式,有 segy 格式、seg2 格式、segd 格式等。

同样的格式,还有微机版、工作站版及其它版本。

本文仅是入门级材料,我们仅就微机版 segy 格式进行分析。

Segy 格式的地震数据文件,属于典型的流式文件,它的信息和

数据都是按字节顺序一个个地存放的,每个字节都有其特定的含义。

这种格式的文件,由文件头部的 3600 字节以及地震道组成。

文件头前部的 3200 字节共分为 40 行,每行 80 个字符,但这些

字符不是 ascii 码,是一种称为 ebcdic 的编码。一般这部分都不去

读,或者只能显示出来查看其中的内容。

接下来是 400 字节的二进制部分。这里面有长整型数和短整型

数,其具体含义参见附录一。

Author: Yangwqcumt

每个地震道由道头 240 字节(参见附录一)和地震数据组成。地

震数据的个数和类型(指它是浮点数整数还是什么 )文件头中有定义。

此处我们假定所有的数据都是微机的四字节浮点数。

2. 文件头部 3200 字节特殊编码部分的读取。

该部分共分为40行,每行80个字符,但这些字符不是ascii码,是一

种称为ebcdic的编码。转换成ascii码可以采用查表的方法进行。一

般处理地震数据不用读这部分的内容。

#include "stdio.h"

#include "stdlib.h"

void main()

{

unsigned char E2A[256]={

0, 1, 2, 3,156, 9,134,127,151,141,142, 11, 12, 13, 14, 15, 16, 17, 18, 19,157,133,

8,135, 24, 25,146,143, 28, 29, 30, 31, 128,129,130,131,132,10,23,

27,136,137,138,139,140, 5, 6, 7, 144,145, 22,147,148,149,150, 4,152,153,154,155,

20, 21,158, 26, 32,160,161,162,163,164,165,166,167,168, 91, 46, 60, 40, 43, 33,

38,169,170,171,172,173,174,175,176,177, 93, 36, 42, 41, 59, 94, 45,

47,178,179,180,181,182,183,184,185,124, 44, 37, 95, 62, 63,

186,187,188,189,190,191,192,193,194, 96, 58, 35, 64, 39, 61, 34, 195, 97, 98,

99,100,101,102,103,104,105,196,197,198,199,200,201,

202,106,107,108,109,110,111,112,113,114,203,204,205,206,207,

208,209,126,115,116,117,118,119,120,121,122,210,211,212,213,214,215,

216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231, 123, 65, 66, 67,

68, 69, 70,71, 72, 73,23

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值