




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
通用測震數據獲取軟件包設計與實現
0引言
隨著“九五”和“十五”項目的建設完成,中國地震局推廣的地震監測系統JOPENS在地震日常工作及大震速報方面發揮了重要作用。隨著我國社會經濟的發展,政府和民眾對地震行業提出了更高的要求,快速、實時利用數字地震波形開展地震學相關學科的研究、地震預警、震源參數反演、“新參數地震目錄”的產生等工作已提上日程。但JOPENS沒有提供二次開發的接口,地震科技工作者在獲取地震數據時面臨很多難題,尤其是測震數據存在多數據源的情況,如JOPENS/SSS實時測震流數據、來自JOPENS數據庫的連續波形數據和事件波形數據、SEED波形文件等,并且這些數據的格式繁多復雜,需要了解這些數據的存儲方式、格式等。針對這些問題,本研究開發的軟件包將提供一個簡單、可靠、統一的方案,可讀取不同數據源的測震數據,從而方便后期數據的處理。
1總體結構
本軟件包的主要功能是為應用程序提供一個統一的獲取測震數據的平臺。根據數據源的不同,本軟件包分為3個獨立的模塊,總體模塊圖如圖1所示,分別為:SSS流數據處理模塊、JOPENS數據庫處理模塊、SEED文件處理模塊。SSS流數據處理模塊用來讀取SSS服務器的實時測震數據,JOPENS數據庫處理模塊用于處理JOPENS數據庫中的連續波形和事件波形數據,SEED文件處理模塊用于讀取SEED波形文件。這些模塊分別將不同的數據轉換為統一數據格式,最終為應用程序提供指定臺站、通道、采樣率的測震數據。本軟件包基于。平臺,采用C#語言開發,具有使用簡單、完全面向對象、層次清晰、效率高等優點。
2統一數據接口
為了能夠提供統一的數據接口,本軟件包自行定義了對外的統一數據接口S_data。三大模塊將獲取到的原始數據轉換為統一的格式,最后由S_data統一提供給應用程序。下面是統一數據接口S_data相關數據結構的定義。圖2為統一數據接口類的結構圖。
類S_data用來存放多個臺站的測震數據。stations_name用來存儲臺站名稱的數組,stations是存放臺站所有數據的數組。本軟件包對外提供的所有測震數據都通過這個類來提供。
類S_Sation_data用來存放單個臺站數據。channels_name是存儲該臺站中所有通道名稱的數組,channels是存放該臺站所有通道原始數據的數組。
方法getData_Time[KG0]和getStreamData_Time[KG0]根據指定臺站名、通道名和采樣率獲取測震數據。當前測震數據的采樣率通常為100Hz,數據量很大,同一臺站同一通道一天記錄的數據達到8640000個,存在計算量大的困難,用戶可能需要不同采樣率的數據來滿足不同的需求,因此本軟件包提供了自行設定采樣率的功能。方法getStreamData_Time[KG0]用于獲取流數據。方法getData_Time[KG0]應用于讀取數據庫和SEED文件數據。
3流數據處理模塊
/IP流服務協議
目前“十五”項目測震臺網采用SSS流服務器來負責接收和分發近實時波形數據,該服務遵守NetSeis/IP流服務協議,默認采用5000端口提供實時地震數據流。NetSeis/IP協議類似FTP協議,主要參考了美國AlbuquerqueSeismologicalLaboratory的LISS協議和TCP/IP協議,用于傳送實時地震波形數據。
設計思路
本模塊共有兩個線程——控制線程和接收數據線程。控制線程負責初始化SSS服務器連接、獲取數據端口和創建接收數據線程;接收數據線程負責創建數據連接、接收數據、處理解壓縮數據并將其轉換為統一格式供應用程序使用。
當控制線程連接到SSS服務器時,服務器將驗證用戶名和密碼,通過身份驗證后控制線程發送PASVRT命令,SSS服務器收到命令后,動態分配一個數據端口。接收數據線程連接到此端口上,再發送RETR命令,SSS服務器收到命令后,驗證請求的臺站數據可被下載后,通過該數據端口將請求的臺站波形數據發送給接收數據線程。本模塊的程序流程圖見圖3。接收數據線程從SSS服務器上接收的數據實際上是大小為512字節的純數據SEED卷。該卷包含有固定頭段部分和數據部分,總長度512個字節,主要記錄臺站名、通道名、記錄起始時間、樣本數目、測震數據等。每次接收的純數據SEED幀中的樣本數目并不完全一致,大約在500左右,也就是說在采樣率為100的情況下,該幀記錄了同一臺站同一通道約5s左右的測震數據,同一臺站同一通道的前后數據幀間隔5s左右。
4JOPENS數據庫處理模塊
JOPENS系統使用數據庫存儲系統接收和產出的各種數據。JOPENS系統使用的數據庫為開源數據庫MySQL,當前使用的版本為。
平臺連接MySQL
MySQL官方提供了MySQLConnector/NET數據庫驅動,使得在。NET平臺下連接MySQL數據庫十分簡便。本模塊采用MySQLConnector/作為連接MySQL的驅動。Connector/NET是一個純C#語言編寫的全面托管的驅動程序,并實現了所有接口,給開發人員提供了一種安全、高性能的與MySQL數據連接的方案。
設計思路
JOPENS數據庫中有事件波形和連續波形數據,這兩種數據存儲結構略有不同,但主要的數據格式是相同的,所以把它們的處理整合在一個模塊中。首先,根據數據庫服務器相應參數創建連接。數據庫連接創建成功以后,根據應用程序的不同要求來構建合適的查詢語句,接著執行該查詢語句。獲得相應的數據以后,再進行解壓縮并轉換為統一的數據格式,最后關閉數據庫連接。本模塊的程序流程見圖4。
5SEED文件處理模塊
SEED格式是一個針對數字地震波形數據交換的國際通用格式,它是為地震學界的應用而設計的,主要是用于各個機構之間交換未經處理的地面運動數據。
結構分析
以下僅以JOPENSMSDP產出的版SEED文件進行簡單介紹。SEED格式文件包括SEEDVOLUME文件和MiniSEED文件,SEEDVOLUME文件包括控制頭段和波形數據兩部分,MiniSEED文件僅包括波形數據部分。在SEEDVOLUME文件中,控制頭段部分以ASCII格式存儲,波形數據以二進制格式存儲。從物理上劃分,文件由若干個邏輯卷組成,每卷為4096字節。每個邏輯卷以一個8字節的ID子塊開始,后跟4088字節的不同類型的控制頭段及其子塊。存儲時每個控制頭段會根據其長度可能占一個或多個邏輯卷,當一個邏輯卷存放不下時,就開始一個新的邏輯卷存儲。圖5為完整SEED文件的存儲結構。
設計思路
SEED控制頭段內容豐富、結構復雜,在實際應用中可按不同要求在需要的卷中根據子塊類型讀取所需要的內容。例如若需要臺站列表,那么只需讀取卷索引控制頭段中的卷臺站頭段索引子塊;而臺站的具體信息可以讀取臺站控制頭段;數據卷的存儲采用了壓縮策略,在使用數據時需要對數據進行解壓縮,具體解壓縮算法可參考《地震波形數據交換格式》附錄B。圖6是SEED文件處理模塊的流程圖,已經有資料實現類Pascal編寫讀取SEED數據文件的程序。
6應用實例
軟件包中類及其主要成員介紹
本研究中開發的測震數據獲取軟件包中有S_data、clsStreamReader、clsDatabaseReader、clsSeedReader4個類,其中S_data為統一數據接口,在前面已經介紹過;clsStreamReader用來讀取SSS流數據,clsDatabaseReader用來讀取數據庫中的連續和事件波形,clsSeedReader則是用于獲取SEED文件數據。表1為軟件包中類及其主要數據、函數成員介紹。
在。NET環境中使用本軟件包,首先需要添加文件到C#工程中引用,使用usingUDSDAP來引用UDSDAP命名空間。是本軟件包生成的動態鏈接庫的文件名。
讀取實時測震流數據實例
本例為讀取湖北興山臺和房縣臺的實時測震流數據的過程。圖7為本實例的流程圖。
讀取JOPENS數據庫實例
從JOPENS數據庫中獲取2010年3月4日興山臺和房縣臺一天的連續地震波形數據。圖8為本實例的流程圖。
從JOPENS數據庫中獲取事件編號為地震波形數據。圖9為讀取JOPENS數據庫地震事件波形的流程圖。
讀取SEED文件實例
本例是讀取MSDP產出的SEED文件,該文件包含了武漢臺的測震數據。圖10為從SEED文件中獲取武漢臺BHE通道的測震數據的流程圖。
7結語
本軟件包完全實現了既定功能要求,能方便
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年武漢紡織大學外經貿學院輔導員考試真題
- 變電站維修中心管理制度
- 曲酒生產衛生管理制度
- 撫州市公務用車管理制度
- 公司設備檢維修管理制度
- 對下屬公司財務管理制度
- 景區門票丟失管理制度
- 小學語文《畫楊桃》課件
- 公司員工擅離崗管理制度
- 《李憑箜篌引》(李賀)測試題帶答案
- 2024年涼山州木里縣選聘社區工作者真題
- 保險公司攢錢活動方案
- 九師聯盟2024-2025學年高二下學期6月摸底聯考英語試題(含答案)
- 2024智聯招聘人社局解決就業大型招聘會活動方案
- 醫院護理崗位筆試題目及答案
- 芯核半導體科技有限公司年產2400套半導體零部件項目環評資料環境影響
- 供水行業安全培訓課件
- 2025家常保姆雇傭合同協議書
- 中小學校長管理能力測試題及答案
- 婦科腔鏡試題及答案
- DZ/T 0276.27-2015巖石物理力學性質試驗規程第27部分:巖體變形試驗(鉆孔變形法)
評論
0/150
提交評論