• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      B/S模式SEG-Y格式地震數(shù)據(jù)的讀取與演示

      2012-04-23 06:08孫蕾
      城市建設理論研究 2012年35期

      孫蕾

      【摘要】本文詳細介紹SEG-Y文件的組成,在對SEG-Y詳細研究的基礎上,研究B/S模式下,用戶遠程對服務器提供的SEG-Y資源文件進行讀取與演示。研究主要基于.NET平臺,使用ASP.NET動態(tài)網(wǎng)站開發(fā)技術,代碼主要由C#編寫,最終實現(xiàn)用戶對SEG-Y的讀取,完成地震剖面圖的繪制。

      【關鍵詞】B/S;剖面圖;遠程演示;SEG-Y

      中圖分類號:P315 文獻標識碼:A 文章編號:

      1緒論

      SEG-Y地震數(shù)據(jù)是地球物理領域運用很廣泛的一種數(shù)據(jù)存儲格式,本文從理論和實踐兩個角度出發(fā),通過設計和實現(xiàn)一個基于.NET的SEG-Y瀏覽系統(tǒng),深入探討和了解B/S模式結(jié)構(gòu),ASP.NET在動態(tài)網(wǎng)站建設方面的優(yōu)勢和SEG-Y文件的分析讀取與演示。

      2開發(fā)技術

      本文主要使用ASP.NET動態(tài)網(wǎng)頁開發(fā)技術,網(wǎng)頁后臺程序由C#語言編寫,前臺使用HTML+CSS實現(xiàn),客戶端動態(tài)數(shù)據(jù)驗證使用js。

      3SEG-Y文件分析

      3.1SEG-Y文件組成

      3.1.1組成簡介

      SEG-Y文件由文件頭文件和數(shù)據(jù)體兩部分組成。文件頭記錄了此文件的各項參數(shù),為文件的進一步讀取給出必要信息。數(shù)據(jù)體則是文件的主體部分,它記錄了主要的地震數(shù)據(jù),是繪圖的依據(jù)。

      3.1.2文件頭文件介紹與分析

      文件頭總長度為3600字節(jié),分兩部分:第一部分為字符型文件頭,文件頭第二部分為二進制文件頭。

      3.1.3數(shù)據(jù)體部分介紹與分析

      數(shù)據(jù)體由多個數(shù)據(jù)道組成,每道數(shù)據(jù)分兩部分:道頭和采樣數(shù)據(jù)。

      3.2SEG-Y文件處理及實現(xiàn)

      3.2.1SEG-Y文件字符型文件頭(Textual File Header)處理及實現(xiàn)

      字符型文件頭數(shù)據(jù)由EBCDIC代碼組成,所以,必須將其轉(zhuǎn)換為ASCII代碼才可以正確顯示。具體方法是建立兩種代碼關系對應表,每次讀入一個字節(jié)EBCDIC代碼,循環(huán)查找EBCDIC代碼表,找出它在EBCDIC表中的位置,在返回ASCII代碼表中對應位置的ASCII代碼。

      3.2.2SEG-Y文件二進制文件頭(Binary File Header)處理及實現(xiàn)

      二進制文件頭由16位和32位二進制數(shù)據(jù)構(gòu)成,但在讀取其中的各參數(shù)值時就要注意,SEG-Y文件以工作站的存儲格式存儲。工作站中的二進制數(shù)據(jù)是高字節(jié)在前,低字節(jié)在后面;而微機中的數(shù)據(jù)則是低字節(jié)在前,高字節(jié)在后。

      我們采用先通過FileStream將400個字節(jié)的文件信息讀入內(nèi)存,400字節(jié)數(shù)據(jù)按從低地址到高地址的順序存放在一個數(shù)組中,然后根據(jù)數(shù)據(jù)的存儲位數(shù),決定轉(zhuǎn)換字節(jié)數(shù),如讀取16位數(shù)據(jù),先讀取第一個字節(jié)放入一個16位臨時整型數(shù)中,將整型數(shù)據(jù)左移8位,然后,再讀入下一字節(jié),將其放入另一個16位臨時整型數(shù)中,最后,將臨時16位數(shù)按位或,得到16位微機格式的地震數(shù)據(jù)。

      3.2.3SEG-Y文件道頭文件(Trace Header)的處理及實現(xiàn)

      道頭與二進制文件頭數(shù)據(jù)存儲相同,所以,可以采用相同的數(shù)據(jù)處理方式,這里不再贅述。

      3.2.4 SEG-Y文件道數(shù)據(jù)(Trace Data)的處理及實現(xiàn)

      道數(shù)據(jù)格式與二進制頭文件的控制位有關,長度由道采樣點數(shù)及采樣點格式共同決定。二進制頭文件3225-3226字節(jié)標志了采樣點數(shù)據(jù)(道數(shù)據(jù))采用的數(shù)據(jù)格式,采樣點數(shù)由道頭115-116字節(jié)給出,若二進制文件頭3503-3504字節(jié)標志為0,則該文件道長一致,可以根據(jù)二進制文件頭3221-3222字節(jié)得出,無需分別讀出每道采樣點數(shù)。若采樣點使用32位數(shù)據(jù)記錄(如:IBM浮點型,IEEE浮點型,4字節(jié)整型),道長則為采樣點數(shù)×4字節(jié),若采樣點使用16位數(shù)據(jù)記錄(如:2字節(jié)整型),道長則為采樣點數(shù)×2字節(jié)。

      道數(shù)據(jù)依然是以工作站存儲方式存儲數(shù)據(jù),所以,首先要進行高低位轉(zhuǎn)換,然后根據(jù)數(shù)據(jù)類型,轉(zhuǎn)換為微機存儲格式以便讀出。

      SEG-Y道數(shù)據(jù)主要用IBM浮點型數(shù)據(jù)記錄,后來也常用IEEE浮點型數(shù)據(jù)記錄。這里主要介紹IBM浮點數(shù)的存儲格式和轉(zhuǎn)換方法。IBM浮點數(shù)分三部分:符號位(sign)占1 位, 指數(shù)部分(e)占7位, 尾數(shù)部分(m)占24位。

      所得數(shù)值result = (-1)^sign * ( m / (2^24 ) )*16 ^ ( e^ - 64 )。

      讀取IBM浮點數(shù)具體方法為,先順序讀入道數(shù)據(jù)至數(shù)組,逐個讀出4字節(jié)數(shù)據(jù),每個數(shù)據(jù)先高低位換位(方法同二進制文件頭處理方法)。將32位數(shù)右移31位,所剩為符號位,取出保存;將32位數(shù)與0x7f000000按位與,獲得浮點數(shù)指數(shù)部分,保存;將32位數(shù)與0x00ffffff按位與,獲得浮點數(shù)位數(shù)部分,保存。IBM浮點數(shù)符號位0表示正數(shù),1表示負數(shù),指數(shù)部分使用移碼存儲,底數(shù)為16,尾數(shù)部分為實數(shù)小數(shù)點后數(shù)據(jù)。根據(jù)之前提供計算公式,算出IBM浮點數(shù)微機中表示值。

      3.3讀取SEG-Y文件整體設計

      3.3.1SEG-Y文件整體分析

      綜合分析,設計制作字符型文件頭類,二進制文件頭類,地震道道數(shù)據(jù)類,SEGY文件類,前三各類分別負責各中數(shù)據(jù)文件的讀取,SEGY文件類有前三類組成。

      3.3.2 SEG-Y文件字符型文件頭類設計

      字符型文件頭3200個字節(jié),由EBCDIC編碼,只包含對文件的字符描述信息,所以,此類主要負責讀出3200字節(jié)的字符信息,將其轉(zhuǎn)換為ASCII后返回。

      3.3.3SEG-Y文件二進制文件頭類設計

      二進制文件頭包含對SEG-Y整個文件的描述信息,對后續(xù)文件的處理有重要作用。它緊接在3200字節(jié)字符型文件頭之后,所以,從3201開始讀入文件,經(jīng)逐個轉(zhuǎn)換,得到二進制文件頭數(shù)據(jù),存儲在類私有變量中,通過公共屬性供前臺使用。

      3.3.4SEG-Y文件地震道道數(shù)據(jù)類設計

      道數(shù)據(jù)分為道頭數(shù)據(jù)和道地震數(shù)據(jù),道頭按存儲位置存儲有道各種信息,道地震數(shù)據(jù)則是緊密排列的地震采樣點數(shù)據(jù)。讀取地震道數(shù)據(jù)時,首先判斷該文件是否存在附加字符文件頭文件,設長度為length(若不存在,則長度為零),然后,根據(jù)讀取的道數(shù),設為tracenum(從1開始計數(shù)),讀取第x道數(shù)據(jù),若道長一定,文件從3600+length+tracenum×(采樣點數(shù)×采樣點存儲長度+240)讀取,若道長不定,則要逐個讀取,讀取起始位置逐個計算得出。

      每讀一道數(shù)據(jù),先讀取道頭數(shù)據(jù),讀取方法與讀取二進制文件頭相同,不再贅述。讀取道數(shù)據(jù)先判斷數(shù)據(jù)格式,不同格式讀取不同長度數(shù)據(jù),處理也不同。若數(shù)據(jù)格式為IBM浮點型,則道長為采樣點數(shù)×4字節(jié),再將IBM浮點型數(shù)據(jù)換算為微機浮點數(shù);若數(shù)據(jù)格式為4字節(jié)整形,則道長為采樣點數(shù)×4字節(jié),再將四字節(jié)整型數(shù)據(jù)換算為微機整數(shù);若數(shù)據(jù)格式為2字節(jié)整形,則道長為采樣點數(shù)×2字節(jié),再將2字節(jié)整型數(shù)據(jù)換算為微機整數(shù);若數(shù)據(jù)格式為4字節(jié)IEEE浮點型數(shù)據(jù),則道長為采樣點數(shù)×4字節(jié),再將四字節(jié)IEEE浮點型型數(shù)據(jù)換算為微機整數(shù)。

      3.3.5SEG-Y文件類設計

      SEG-Y文件類是前三個類的集合,通過它可以初始化和訪問指定SEG-Y文件。

      4B/S模式SEG-Y格式地震數(shù)據(jù)讀取演示系統(tǒng)設計實現(xiàn)

      主要介紹基于B/S模式的SEG-Y格式地震數(shù)據(jù)的讀取演示系統(tǒng)的具體實現(xiàn)過程,并給出一些系統(tǒng)成果展示。

      4.1設計方案

      該系統(tǒng)采用B/S模式設計,分為前后臺兩個部分:

      4.1.1前臺設計

      前臺是面向用戶提供服務的系統(tǒng)部分: (1)用戶登錄 (2)首頁 (3)文件目錄(4)詳細信息 (5)個人中心。

      4.1.2后臺設計

      后臺是系統(tǒng)管理部分,它包括以下部分:(1)管理員登錄(2)首頁(3)文件管理 (4)用戶管理。

      4.2剖面圖繪制實現(xiàn)

      剖面圖繪制使用了ASP.NET的GDI+,GDI+是圖形設備接口(GDI)的高級版,它提供了各種豐富的圖形圖像處理功能,主要有二維矢量圖形,圖像處理和版式3部分組成。

      具體實現(xiàn)過程為用戶選擇文件,服務器獲得文件編號,進而獲得文件在服務器的路徑,服務器新建SEGY類,根據(jù)其路徑進行初始化,最后,根據(jù)用戶的需求,發(fā)送相關信息或圖像給用戶。

      5總結(jié)

      使用B/S模式來實現(xiàn)對SEG-Y文件的讀取與演示可以節(jié)約企業(yè)在系統(tǒng)維護方面的成本,方便分析人員隨時隨地接入網(wǎng)絡了解地震信息,提高分析人員的工作效率。

      英德市| 平远县| 迁西县| 泗阳县| 房山区| 周宁县| 曲靖市| 安庆市| 黄龙县| 徐汇区| 武威市| 东乌珠穆沁旗| 宣汉县| 开鲁县| 梁山县| 耒阳市| 红河县| 宁夏| 海晏县| 云霄县| 岳池县| 定安县| 青铜峡市| 平阴县| 南靖县| 平远县| 恭城| 图片| 客服| 高雄市| 电白县| 沾益县| 自治县| 湖南省| 广元市| 五华县| 星座| 攀枝花市| 儋州市| 布尔津县| 静海县|