版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Author: Yangvvqcumt用C語言讀寫SGY格式的地震數(shù)據(jù)Yangwqcumt百度專用,轉(zhuǎn)載需授權(quán)地震勘探野外采集的數(shù)據(jù),以及經(jīng)過資料處理獲得的三維數(shù)據(jù)體,只要是放在計算機里,都是以二進制文件的形式存放的。這些文件的處理顯示等工作,一般都可以用商業(yè)化的軟件進行但是作為一 個從事地震勘探研究的技術(shù)人員,有時會有些想法,有某種靈感,但 是原有的軟件又不允許你去做某種試驗以驗證你的想法這時候,自 編個小程序顯然有必要,而且弄好后你的成就感會很強烈.1. SEGY格式地震數(shù)據(jù)文件地震數(shù)據(jù),是以各種格式存放的.所謂格式,指的是地震數(shù)據(jù)以 及各種信息在文件內(nèi)部的存放方式及順序.常見的地震數(shù)據(jù)格
2、式,有segy格式.seg2格式.segd格式等. 同樣的格式,還有微機版.工作站版及其它版本.本文僅是入門級材料,我們僅就微機版segy格式進行分析.Segy格式的地震數(shù)據(jù)文件,屬于典型的流式文件,它的信息和 數(shù)據(jù)都是按字節(jié)順序一個個地存放的,每個字節(jié)都有其特定的含義這種格式的文件,由文件頭部的3600字節(jié)以及地震道組成。文件頭前部的3200字節(jié)共分為40行,每行80個字符,但這些字符不是ascii碼,是一種稱為ebcdic的編碼一般這部分都不去讀,或者只能顯示出來查看其中的內(nèi)容.接下來是400字節(jié)的二進制部分.這里面有長整型數(shù)和短整型數(shù),其具體含義參見附錄一.每個地震道由道頭240字節(jié)(參
3、見附錄一)和地震數(shù)據(jù)組成.地 震數(shù)據(jù)的個數(shù)和類型(指它是浮點數(shù)整數(shù)還是什么)文件頭中有定義. 此處我們假定所有的數(shù)據(jù)都是微機的四字節(jié)浮點數(shù)2.文件頭部3200字節(jié)特殊編碼部分的讀取。該部分共分為40行,每行80個字符,但這些字符不是ascii碼,是一 種稱為ebcdic的編碼.轉(zhuǎn)換成ascii碼可以采用查表的方法進行.一 般處理地震數(shù)據(jù)不用讀這部分的內(nèi)容.Z include"stdio. h";S include"stdlibh"rLLvoid mainOI ?-unsigned char E2A256=:0, 1, 2, 3, 156, 9t 134,
4、127,151,141,142, 11, 12, 13, 14, 15, 16, 17, 18, 19,157,133,: =8, 135, 24. 25, 146.143, 2& 29, 30, 31, 12& 129. 130, 131, 132, 10, 23.:27,136, 137, 138,139.140,5,6, 7, 144,145, 22, 147, 14& 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
5、,43,33,:;3& 169, 170, 171,172,173,174,175,176, 177, 93, 36, 42, 41,59,91,45,sf*L:47, 17& 179. 180.181.182,183,184,185, 124. 44. 37, 95, 62,63,:186,187, 18& 189, 190, 191, 192, 193, 194, 96, 5& 35, 64, 39, 61, 34, 195, 97, 9& ; ;99, 100, 101, 102, 103, 101, 105, 196, 197, 19&
6、199, 200, 201,;L廠:202,106, 107, 10& 109. 110, 111, 112, 113, 114, 203, 201, 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,232,23
7、3,234,235,236,237, 125, 74, 75, 76,5;77,7& 79, 80,81,82,23& 239, 2巾0, 241, 242, 243, 92,159, 83, 84, 85, 86, 87, 8& 89,: ? 90, 244, 245, 246, 247, 24& 249, 48,49, 50, 51, 52, 53, 54, 55, 56,;:57, 250, 251, 252, 253, 254, 255;:L廠LL-mt 1, j;-:unsigned char f32003200; FILE *fl; char si2
8、00;:;printf (*InputSgyFileName:n*) ;scanf (*%s*, si) ; /輸入文件名;fl=fopen(sl, "rb");fread(f3200, 3200, 1, fl);;fclose (fl);LL: for(i=0;i<40;i 卄):; for(j=0; j<80; j-H) printf E2Af3200i*80+j):;:printf("n");: : :3文件頭400字節(jié)二進制部分的讀取可以把400字節(jié)作為若干個長整型及短整型數(shù)據(jù)讀入:游include "stdio. h&qu
9、ot; include "stdlib.h"-void mainOFILE *fl;int i, 1; int traces;Lunsigned char f320032002;:char FileName200;long int sl100;short int s2 200:;printf C輸入地蕊文件名. sgy:") ; scanf (%s: FileName);fl=fopen(FileName, "rb");L:if(fl=NULL) 文件打開不成就顯示錯誤信息.然后退出. printf("File Open error!
10、n*); exit(0);fread(f3200,3200,1, fl); 讀入前而的字節(jié)f read (si, 400,1, fl);讀入接祥的字節(jié),作為長整旳數(shù)fseek(flt 3200, 0);/退冋公,fread(s2, 400,1, fl);再以短整型數(shù)讀入那些個7節(jié)I/:for(i=0;i<3;i±+) printf :%d n", i+1, si i);:/顯示文件頭格式說明中的二進制部分的忸二項for(i=3;i<15;i*) 顯示4-1, 4-2. 。 15T, 15-2”:printf:%d n "1. s22*i);printf
11、 f%d-2:%d n i*l, s22*i+l);LfI/2/:在文件頭中.晟匝要的足下而幾項:;5-1:這個文件的地菽道的時間采樣間隔.單位是微秒:e:6-1:毎個地喪道的樣點數(shù)::71:數(shù)據(jù)的格式?,F(xiàn)在般都是四丫竹的浮點數(shù),格式1R.;/7printf (”時間釆樣間隔微秒:%dn s28);-printf ("地克道的樣點數(shù):dn", s210);:printf (M數(shù)據(jù)格式代碼:%dn s212);2/*;有了這些信息.這個文件金有的地呢道數(shù)是多少呢?Author: Yangwqcumt若文件長度:1u 則道數(shù):traces二(1-3600)/ (240+s210
12、*4)/彳fseek(fl,0f2); /El=ftell(fl);1此時就是文件的字節(jié)數(shù):rprintf (*文件的長度=%dnMt 1);:traces二(1-3600)/(240+4*s210);rprintf (*地蕊道數(shù)是:%dn*, traces):fclose(fl);也可以把那個400字節(jié)作為一個結(jié)構(gòu)體,該結(jié)構(gòu)體定義見附錄二。殛祐*7亦隔姑祥蠢菇茹R| ffinclude "stdio h"!芳include "stdlib.h"include "segyHeaderh"| void mainO:!FILE *fl;|
13、int i, 1;!int traces,trace_length;!char FileName=/*100. sgy"i|struct SegyReelHdrStruct FileHeader;:fl=fopen(Fi1eName, "rb");!if(fl=NULL) /文件打開不成就顯示錯誤信息.然后退出。II printf(wFile Open error!n*);iexit (0):iI|fread(&FileHeader, sizeof(FileHeader), 1, fl); trace_length=FileHeader hns;Iprin
14、tf ("%s:%dnM,"時何采樣間隔微秒J FileHeader.hdt);|printf (*%s:%dn*» "毎道的樣點數(shù)",FileHeader. hns);printf (*%s:%dn*t "數(shù)據(jù)的格式代, FileHeader. format);Iijfseek(flt0,2); /;l=ftell(fl);1此時就足文件的了節(jié)數(shù):printf(*文件的長度字節(jié)數(shù)=%dn*, 1);jtraces=(1-3600)/(240+4*trace_length);fclose (fl);;printf (M%s:%dn*t
15、 "地股道數(shù)S traces);4某道數(shù)據(jù)的讀取include "stdio. h* include "stringh" include "stdlib.h" void mainO包含頭文件/FILE *fl,*f2; int i, 1;定義兩個文件指針變呈char FileName200; 字符數(shù)組,存放文件名int Traces,Trace.length, Trace2read;顧名恵義,這兒個變雖用來"放:地蕊道數(shù)、地底逍的長度、耍迷的那 個地點逍的序float TraceData;定義個浮點空的指針.一會兒開辟內(nèi)存肩
16、放個地狂道的數(shù)據(jù)/獲得地底那個文件名/printf (*輸入地窓文件名. sgy;scanf FileName);當然上而兩行,可用一個這樣的語句代若:strcpyCFileName/lOO. sgy*);fl=fopen(FileName, *rb*); /打開文件,打開形j弋為:進制讀rb if(fl=NLLL) 判斷打開J"沒仃,不成功就返阿吧。printf (""Cannot open input file!n*); /顯示信息exit (0); 退出Trace2read=430; 耍吠取哪道,町以鍵盤輸入,為方便任這就給定了.設(shè)為第430逍 Trace_
17、length=800; 一個地確道股血數(shù)據(jù)的個數(shù),可以從文件這電先拿來用了Traces=631;該文件地復(fù)道的個數(shù),也可以通過文件頭里啲的信息設(shè)法獲得,也是先拿來用l=3600L+(240+Trace_length*4L)(Trace2read)+240;娶讀取的那-個地旋道的,數(shù)據(jù)部分,在這個文件中的開始的位代,這個很匝耍,下面做點說明 /*一般來說,地鳶勘探的數(shù)據(jù)文件是詢格式的。所謂格式.就是地爲數(shù)據(jù)、及相關(guān)的信息在地鳶文件 中的存放順序?,F(xiàn)在研究的這個叫做sgy格式.這種格式比較普遍它由文件頭和地震道組成,文件頭字節(jié),每個 地鳶道由字節(jié)的逍頭和數(shù)據(jù)組成.所以一個sgy格式的文件的組成為:
18、36007節(jié)十240丫節(jié)第一道數(shù)據(jù)+240丫節(jié)+第二道數(shù)據(jù)+240字廿+ 第三道數(shù)據(jù)+文件頭部的了節(jié)以及毎道的了節(jié)道頭冇信息,這個先不研究。對我們給的這個數(shù)據(jù),道數(shù)據(jù)的長度800.是指個浮點數(shù),所以其字節(jié)數(shù)變乘以,得到,加上7節(jié)的 道頭,共計了節(jié),所以第道的開始位代,就Si: *130*3140.然后山亍我們不讀這個地說道的道頭,數(shù)據(jù)部分的位腔還 要加,1=3600+3440*430+240;請時刻注總,c的數(shù)紐以及典他什么東西的編號多是從0丿始的。 /fseek(f 1,1,0); 定位到那個地族逋的 敵捌的 開始位代TraceData=new floatTrace_length;/先開一塊
19、內(nèi)存,耍不數(shù)據(jù)沒地方放,你看爭先定好可以嗎,比如:float TraceData800; fread(TraceData, lL*Trace_length, 1, fl);/*讀數(shù)據(jù)了,嘿嘿。這個fread函數(shù).括弧內(nèi)有四個東西:第一個,讀數(shù)據(jù)放在哪,可以是數(shù)組名或者指針第二個:一次讀入等少字節(jié)第三個:讀多少次,第艸個,文件指針看起來,里面的第:個和第三個,暫時叫參數(shù)吧,是可以互換的,但是這個,我猜測它的讀取的速度不同,沒仃驗證過。與他對應(yīng)的冇個二進制丐的函數(shù),叫做fwrite0;里面也冇四個參數(shù),四個參數(shù)的意義也和fread-樣, 只是那個文件指針是要寫出的文件的指針/fclose(fl);
20、/記得用完文件要關(guān)閉,冇的時候.沒冇關(guān)閉動作數(shù)據(jù)會被破壞,足教材上這么說的.我也都足這么做的 f2=f open ("aline, txt", w");打開一個文件文件,用來輸出,一會你運彳j完了看看aline.txt里血的內(nèi)容for(i=0;i<Trace_length;i+十)fprintf(f2, *%f n*,TraceDataCi); /'與到哪里了這是? printf (w%f n", TraceDatai);這個乂是行到哪里了 ? fclose(f2); 不管他.把文件關(guān)閉了 delete TraceData;/記得方才的開辟
21、內(nèi)存,現(xiàn)在用完了,該釋放了. new和delete是一對,廉則上必須成雙。可能你不公delete也成.但是,你還足delete了吧5. 一個完整的例子這個例子,我們讀入一個sgy文件的數(shù)據(jù),每道數(shù)據(jù)給它除以該道的絕對值 最大值,然后輸出(這樣,該地震道的數(shù)據(jù)映射到間了),文件頭和每一 個地震道的道頭原樣寫出,只是數(shù)據(jù)換成處理后的。include "stdio.h"“include "stdlib.h"include "string h"芬include "math h"void mainOFILE *filein,
22、*fileout;/輸入文件及輸出文件兩個文件指針char inputfile200t output file 200; /輸入文件名和輸出文件名int i, j,l; 定義一些整數(shù),循壞的時候用int traces, trace_length, samp_interval;道數(shù)、道長度(即毎逋的時何采樣點數(shù)),時間采樣何隔unsigned char f32003200; /文件頭部開始的字節(jié)Author: Yangvvqcumtshort int f400200;/文件頭的字節(jié)二進制部分float xmax; 用來存放某個地底道的絕對值最大值char Trace.header:240:;fl
23、oat tracedata;的指針,川來開辟內(nèi)存,放代地艇道的冬/ printff 輸入文件名. sgy: n");scanfinputfile);printfC輸出文件名電sgy :n");scanf outputfile);/ filein=fopen(inputfile,"rb");if(filein=NULL)printf("Can not open File %sn"t inputfile);exit(0); / f i leout=fopen (outputf i le,;if(filein=NULL)printf(*Ca
24、n not open File %s n: outputfile); fclose(filein);exit (0);fread(f3200, 3200,1, filein);/ /讀入3200字廿文件頭部分fread(f400, 400,1. filein);/讀入400 ? "文件頭部分samp_interval=f4008; traceJength=f400ll; fseek(filein. 0,2);l=ftell(filein);traces=(1-3600)/(240+4L*trace_length);fseek(filein, 3600, 0);fwrite(f3200
25、, 3200,1, fileout);j岀3200? Yjfwrite(f 100, 400, 1, fileout);/塢出400字節(jié)tracedata二new float Ltrace_length;for (i=0; Ktraces;"+)fread (Trace-header, 240, L filein); /讀入逍頭fread(tracedata, 4L*trace_length, 1, filein);飲入地T匚迫數(shù)據(jù) xmax=fabs(tracedata 101);for ( j=l; j<trace_length; J+)循環(huán)取得最大的絕對值if(xmax&
26、lt;fabs(tracedata 1j) xmax=fabs(tracedataj);if(xmax>0) /如果非0,就對毎個數(shù)據(jù)除以該最大for(j=0;j<trace_length; tracedataj/=xmax;fwrite(Trace.header, 240,1, fileout); /脈樣輸出道頭fwrite(tracedata,4L*trace.lengthy 1, fileout); /輸出那個變化的地貫數(shù)押: fcloseallO; 關(guān)閉文仲 delete tracedata; 釋放內(nèi)存 printf ("File process finished
27、. n"j ; /告訴你活干完了。6.后記你看,剛才的地震處理程序完成了對單道地震數(shù)據(jù)的一種處理, 程序很長。但是程序的主要工作是在進行數(shù)據(jù)的輸入和輸出,大量的工作是核心內(nèi)容之外的.在地震數(shù)據(jù)的處理工作中,常常都是這樣.所以,如果自己編程處理數(shù)據(jù),具備讀寫文件的能力,是非常必要的.當然,實際的地震資料數(shù)據(jù)處理非常復(fù)雜,使用的也都是商業(yè)化的大型軟件,處理員不用編程。如果商業(yè)軟件的某項處理功能不好,或者根本就不具備,而你自己有某種靈感想實現(xiàn),那就要自己編程序了.這種靈感,是進行科學(xué)研究需要的.最后跟大家說,地震勘探中各種文件的格式,在seg網(wǎng)站上都能找到相應(yīng)的文檔。http:/www.s
28、/resources/publicatio ns/misc/tech nicalsta ndards附錄一 SEGY格式地震數(shù)據(jù)文件頭及道頭說明(這個是老標準的格式說明,新標有改變)SEG-Y格式400字節(jié)二進制文件頭信息字(32位)1字節(jié)號32013204說明作業(yè)標識號。23205-3208*測線號(每卷僅一條線)33209-3212*五7 04T3213-3214*每個記錄的道數(shù)(包括DUMMY道和插入到記錄或者共深度點的 零記錄道)o4-23215-3216每個記錄的輔助道數(shù)(包括掃描道、時斷、增益、同步和其他 所有非地震數(shù)據(jù)道)5-13917-3918這一卷帶的采樣間隔,以
29、微秒表示。5-23219-3220野外記錄的采樣間隔,以微秒表示。6-13221-3222本卷數(shù)據(jù)的每個數(shù)據(jù)道的樣點數(shù)。6-23223-3224野外記錄的各數(shù)據(jù)道的樣點數(shù)。7-13225-3226*數(shù)據(jù)采樣格式碼:1二浮點(4字節(jié));2二定點(4字節(jié)):3二定點(2字節(jié)):4二定點(W/增益4字節(jié))輔助道的每個采樣使用相同的字節(jié)數(shù),7-23227-3228*CMP覆蓋次數(shù)(每個CMP道集所希望的數(shù)據(jù)道數(shù))。8-13229-3230道分選碼:1二同記錄(沒有分選):2二CMP道集;3二單次覆蓋剖面:4二水平巻加剖面。8-23231-3232垂直疊加碼1二沒有巻加:2二兩次巻加;N二N 次相加(N
30、二32, 767)9-13233-3234起始掃描頻率9-23235-3236終止掃描頻率。10-13237-3238掃描長度。以ms表示10-23239-3240掃描類型碼:1:線性掃描:2:拋物線掃描:3:指數(shù)掃描;4:其他。11-13241-3242掃描通道的道號11-23243-3244有斜坡時,為起始斜坡長度(斜坡起始于時間零.使用時間為 該長度)。以ms表示。12-13245-3246終了斜坡長度(終了斜坡起始于掃描長度:減終于斜坡長 度)。以ms表喬。12-23247-3248斜坡類型:1二線性:2二COS $3二其他13-13249-32DU相關(guān)數(shù)據(jù)道1二沒有相關(guān)2二相關(guān)。13
31、-23251-3252二進制增益恢復(fù):1:恢復(fù):2:沒有恢復(fù)。14-13253-3254振幅恢復(fù)方式:1二沒有:2二球面擴散;3=AGC:4 二其他14-23255-3256*測最系統(tǒng):1二米2二英尺.15-13257-3258脈沖信號極性:1二壓力增加或者使檢波器向上運動在磁帶上記的是負數(shù):2二壓力增加或者使檢波器向上運動在磁帶上記的是正數(shù).15-23259-3260可控震源地震信號滯極性代碼后引導(dǎo)信號1=337. 5-22.52=22.5-67.53=67. 5-112. 54=112. 5-157. 55=157.5-202. 56=202.5-247. 57=247. 5-292.58
32、=292. 5-337. 53261-3600沒有確定,選擇使用SEGY格式道頭說明字(32位)字節(jié)號說明11-4*一條測線中的道順序號如果一條測線有若干卷帶,順序號連續(xù) 遞増"25-8在本卷磁帶中的道順序號)每卷帶的道順序號從1開始。39-12原始的野外記錄號。413-16在原始野外記錄中的道號.517-20震源點號(在同一個地面點有多于一個記錄時使用)。621-24CMP 號。725-28在CMP道集中的道號(在每個CMP道集中道號從1開始)。8-129-30*道識別碼:I二地震數(shù)據(jù) 4:時斷:7二記錄:2二死道:5:井口時間;8二水斷:3二DUMMY; 6二掃描道:9N二選擇使
33、用(N二32767)8-231-32產(chǎn)生這一道的垂直巻加道數(shù)(1是一道:2是兩道相加;)。9-133-34產(chǎn)生這一道的水平替加道數(shù)(1是一道:2是兩道替加:)。9-235-36數(shù)據(jù)類型:1:生產(chǎn);2:試驗。1037-40從炮點到接收點的距離(如果是相反向激發(fā)為負值)。1141-44接收點高程.高于海平而的高程為止,低于海平面為負。1245-48炮點的地面高程。1349-52炮點低于地面的深度(正數(shù))。1453-56接收點的基準面咼程。1557-60炮點的基準面高程。1661-64炮點的水深。1765-68接收點的水深。18-169-70對41-68字節(jié)中的所有高程和深度應(yīng)用了此因子給出真值。比
34、例因子:1, ±10, ±100, ±1000或者±10000。如果為 正,乘以因子: 如果為負,則除以因子。18-271-72對73-88字節(jié)中的所有坐標應(yīng)用了此因子給出真值'比例因子:仁±10, ±100, ±1000或者±10000如果為正,乘 以因子: 如果為負,則除以因子。1973-76炮點坐標XI如果坐標單位是弧度的秒,X值代表。2077-80炮點坐標yI經(jīng)度,Y值代表緯度。正值代表格林2181-84檢波點X|威治子午線東或者赤道北的秒數(shù)。負2285-38檢波點Y丨值則為西或者南的秒數(shù)23-18
35、9-90坐標單位;1:長度(米或者英尺):2:弧度的秒.23-291-92風化層速度。24-193-94風化層下的速度。24-295-96震源處的井口時間。25-197-98接收點處的井口時間。25-299-100炮點的靜校正。26-1101-102接收點的靜校正。26-2103104應(yīng)用的總靜校正量(如果沒有應(yīng)用靜校正為零)o27-1105-106延遲時間-A,以ms表示.240字節(jié)的道標識的結(jié)束和時間 信號之間的時間。如果時間信號山現(xiàn)在道頭結(jié)束之前為正。 如果時間信號出現(xiàn)在道頭結(jié)束之后為負。時間信號就是起始 脈沖,它記錄在輔助道上或者由記錄系統(tǒng)指定。27-2107-108時間延遲B,以ms
36、表喬。為時間信號和能竜起爆之間的時間。可正可負。28-1109-110時間延遲時間,以ms表示。能量源的起爆時間和開始記錄數(shù)據(jù)樣點之間的時間(深水時,數(shù)據(jù)記錄不從時間零開始。)28-2111-112起始切除時間。29-1113-114結(jié)束切除時間。29-2115-116本道的采樣點數(shù)。30-1117J18本道的采樣間隔,以us表示。30-2119-120野外儀器的增益類別:1:固定增益:2:二進制增益:3:浮點增益:4N:選擇使用31-1121-122儀器增益常數(shù),31-2123124儀器起始増益(db)。32-1125-126相關(guān)碼:1二沒有相關(guān):2:相關(guān)。32-2127128起始掃描頻率。
37、33-1129-130結(jié)束掃描頻率。33-2131132掃描長度,以ms表示。34-1133-134掃描類型:1:線性;2:拋物線:3:指數(shù):4:其他34-2135-136掃描道起始斜坡長度,以ms表示。35-1137138掃描道終了斜坡長度,以ms表示。3匕一2139-140斜坡為型:1:線性;2: UUti2: 3:其他。36-1141-142濾假頻的頻率(如果使用)。36-2143144濾假頻的陡度。37-1145-146陷波陡率(如果使用)。37-2147-148陷波陡度一38-1149-150低截頻率(如果使用:。38-2151152高截頻率(如果使用)。39-1153154低截頻率
38、陡度。39-2155156高截頻率陡度。40-1157-158數(shù)據(jù)己錄的年。40-2159-160日。41-1161-162小時(24時制)41-2163164分。42T165-166秒。42-2167-168時間代碼:1:當?shù)貢r間:2:格林威治時間:3:其他43-1169-170道加權(quán)因子"(最小有效位定義為2*(-N), N=0, 1, 243-2171-172覆蓋開關(guān)位置1的檢波器道號。44-1173-174在原始野外記錄中道號1的檢波器號.44-2175-176在原始野外記錄中最后一道的檢波器號。45-1177-178缺口大?。L動的總道數(shù))。45-2179-180在測線的開
39、始或者結(jié)束處的斜坡位置:1:在后面:2:在前面。181-240沒有定義.可以選擇使用。,32767)說明: 1. 帶*的字節(jié)的信息必須記錄。2.本說明僅供參考。附錄二c語言400字節(jié)文件頭結(jié)構(gòu)體及道頭結(jié)構(gòu)體/* the SEG-Y reel identification header */struct SegyReelHdrStructchar long long long shor t short short shor t short short shortcomment13200Z;jobid; / job identification number */lino; /* line num
40、ber (only one linereno; /* reel number */ntrpr; /* number of data traces pernart; /* number of auxiliary tracesintintintintintintintintintrecord */ per record */hdtdtohns/*/* /* /*nso format;sample interval in micro secs for this reel */same for original field recording */number of samples per trace
41、 for this reel */number of samples per trace for original field recording */ / data sample format code:Author: Yangvvqcumt1 二 floating point (4 bytes) 2 二 fixed point (4 bytes) 3 二 fixed point (2 bytes)Author: Yangwqcumt4 = fixed point w/gain code (4 bytes) */short int fold; / CDP fold expected per
42、CDP ensemble */short int tsort; / trace sorting code: 1 = as recorded (no sorting) 2 = CDP ensemble3 = single fold continuous profile 4 = horizontally stacked */short int vscode; /* vertical sum code: 1 = no sum 2 = two sum N 二 N sum (X = 32,767) /short int hsfs; / sweep frequency at start /short in
43、t hsfe; / sweep frequency at end */short int hslen; /* sweep length (ms) */short int hstyp; /* sweep type code:1 = linear 2 = parabolic 3 = exponential 4 = other /short int schn; / trace number of sweep channel */short int hstas; /* sweep trace taper length (msec) at start if tapered (the taper star
44、ts at zero time and is effective for this length) /short int hst ae; /* sweep trace taper leng th (msec) at end (the ending t aper st arts at sweep length minus the taper length at end)short int htatyp; /* sweep trace taper type code: 1 = linear 2 = cossquared 3 = other /short int hcorr; / correlate
45、d data traces code: 1 = no 2 = yes / short int bgrcv; / binary gain recovered code: 1 = yes 2 = no */ short int rcvm; / * amplitude recoverir method code: 1 = none 2 = spherical divergence 3 = AGC 4 = other */short int mfeet; /* measurement system code: 1 = meters 2 = feet */short int polyt; /* impu
46、lse signal polarity code:1 = increase in pressure or upward geophone case movement gives negative number on tape2 = increase in pressure or upward geophone case movement gives positive number on tape */short int vpol; / vibratory polarity code: code seismic signal lags pilot by337.5 to 22 5 degrees
47、22.5 to 67 5 degrees 67 5 to 112. 5 degrees112. 5 to 157. 5 degrees 157. 5 to 202. 5 degrees 202. 5 to 247. 5 degrees 247. 5 to 292. 5 degrees 293. 5 to 337.5 degrees */short int hunass170 ;/* unassigned / ;/*3600 bytes if tightly packed */* the SEG-Y trace identification header / struct SegyTraceHd
48、rStruct long int tracl: /* trace sequence number within line / long int tracr; / trace sequence number within reel */ long int fldr; /* field record number */long int tracf: /* trace number within field record /long int ep; /* energy source point number /long int cdp; /* CDE ensemble number /long in
49、t cdpt; / trace number within CDP ensemble */short int trid; /* trace identification code:I 二 seismic data 2 = dead 3 = dummy 4 = time break 5 = uphole 6 = sweep 7 = timing8 = water break 9 , N = optional use (N = 32, 767) Following are CWP id flags: 9 = autocorrelation 10 = Fourier transformed 一 no
50、 packingxr0, xi0,xrN_l, xiN_lII = Fourier transformed 一 unpacked Nyquist xr0, xi0,» xrN/2, xiN/2 12 =Fourier transformed - packed Nyquisteven X:xr0 9 xr N/2, xr1, xi 1, . . , xrN/2 一 1. xi N/2 -1 (note the exceptional second entry) odd N:xr0, xr(N_l)/2, xrl, xilxr(N-l)/2 _1, xi (N_l)/2 T, xi(N-
51、l)/2(note the exceptional second & last entries) 13 二 Complex signal in the time domain xr 0, xi0,., xrxiNl14 二 Fourier transformed *amplitude/phasea0, p0, aN"l, pN"l 15 = Complex time signal - amplitude/phase a0, p0 t . . > aN"l, pN"l 16 = Real part of complex trace from
52、0 to Xyquist 17 =I mag par t of complex trace from 0 to Nyquist 18 = Amplitude of complex trace from 0 to Xyquist19 = Phase of complex trace from 0 to Nyquist 21 = Wavenumber time domain (k"t) 22 二 Wavenumber frequency (komega) 30 二 Depth一Range (zx) traces101 = Seismic data packed to bytes (by
53、supack 1) 102 = Seismic data packed to 2 bytes (by supack2) 200 = GPR data short int nvs; /* number of vertically summed traces (see vscode in reel header structure) */short int nhs; / number of horizontally summed traces (see vscode in reel header structure) */ if negative divide) */short int duse;
54、 /* data use: 1 二 production 2 二 test */long int offset; / distance from source point to receiver group opposite to direction in which the line was shot) */long int gelev; /* receiver group elevation from sea level (above positive) */long*/longlonglonglonglongsea level isintmtintmtmtintselev; /* source elevation from sea level (above
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州城市職業(yè)學(xué)院《機械設(shè)計》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽職業(yè)技術(shù)學(xué)院《數(shù)據(jù)科學(xué)導(dǎo)論》2023-2024學(xué)年第一學(xué)期期末試卷
- 油橄欖示范基地建設(shè)項目可行性研究報告-油橄欖市場需求持續(xù)擴大
- 貴陽人文科技學(xué)院《樂理視唱一》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州中醫(yī)藥大學(xué)《智慧城市信息系統(tǒng)建設(shè)與實踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025山西省建筑安全員-A證考試題庫及答案
- 2025河南省建筑安全員B證(項目經(jīng)理)考試題庫
- 2025河南省安全員B證考試題庫附答案
- 2025福建建筑安全員B證考試題庫附答案
- 2025上海市安全員A證考試題庫
- 滯銷風險管理制度內(nèi)容
- 關(guān)于物業(yè)服務(wù)意識的培訓(xùn)
- JJF 2184-2025電子計價秤型式評價大綱(試行)
- 排污許可證辦理合同1(2025年)
- GB/T 44890-2024行政許可工作規(guī)范
- 上海科目一考試題庫參考資料1500題-上海市地方題庫-0
- 【7地XJ期末】安徽省宣城市寧國市2023-2024學(xué)年七年級上學(xué)期期末考試地理試題(含解析)
- 設(shè)備操作、保養(yǎng)和維修規(guī)定(4篇)
- (完整版)四年級上冊數(shù)學(xué)豎式計算題100題直接打印版
- 玻璃瓶罐的缺陷產(chǎn)生原因及解決方法63699
- 高層住宅(23-33層)造價估算指標
評論
0/150
提交評論