• 
    

    
    

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

      應用EXCEL VBA實現(xiàn)地震目錄格式的轉(zhuǎn)換

      2016-02-17 06:04:38梁阿全梁躍馬寶君李太巖高雙玲
      高原地震 2016年4期
      關鍵詞:經(jīng)度牡丹江震級

      梁阿全,梁躍,馬寶君,李太巖,高雙玲

      (黑龍江地震局牡丹江地震臺,黑龍江牡丹江 157009)

      應用EXCEL VBA實現(xiàn)地震目錄格式的轉(zhuǎn)換

      梁阿全,梁躍,馬寶君,李太巖,高雙玲

      (黑龍江地震局牡丹江地震臺,黑龍江牡丹江 157009)

      地震目錄是地震學中基礎資料。從相關網(wǎng)站下載的地震目錄在進行地震分析預測研究之前,需要轉(zhuǎn)換為相應的格式,以往這項工作都是人工完成,工作量大而且容易出錯。以Excel VBA宏語言為工具,實現(xiàn)下載目錄與地震分析預測目錄之間自動轉(zhuǎn)換,為進一步的科學研究提供詳實可靠的基礎資料。

      Excel VBA;地震目錄;格式轉(zhuǎn)換

      0 引 言

      地震目錄是地震學中最基礎的產(chǎn)出資料,在地震活動性研究、地震預測研究、地震危險性分析和震害損失預測研究中被廣泛使用;同時還是編制地震烈度區(qū)劃圖的主要信息源及國家經(jīng)濟建設和國土開發(fā)的重要資料。因此準確、及時和完整地獲取地震目錄對地震科研人員以及防震減災、城建規(guī)劃至關重要[1]。

      直接的地震目錄一般為*.xlsx、*.txt格式,而地震預測研究人員使用Mapsis軟件對地震數(shù)據(jù)分析時多為*.wkf、*eqt、*.Q01等格式,常常需要進行手動鍵入和人工校對,工作繁重、耗時費力,而且手動輸入非常容易出現(xiàn)錯誤。本文以Excel VBA宏語言為工具,實現(xiàn)下載目錄與地震分析預測目錄之間自動轉(zhuǎn)換,為進一步的科學研究提供詳實可靠的基礎資料。

      Visual Basic for Applications(簡稱VBA)是新一代標準宏語言,是基于Visual Basic for Windows

      發(fā)展而來的。VBA 提供了面向?qū)ο蟮某绦蛟O計方法和相當完整的程序設計語言, 易于學習掌握,可以使用宏記錄器記錄用戶的各種操作并將其轉(zhuǎn)換為VBA程序代碼。這樣用戶可以容易地將日常工作轉(zhuǎn)換為VBA程序代碼,使工作自動化。

      1 地震目錄格式

      1.1 地震目錄來源及格式

      目前,可從網(wǎng)絡檢索地震目錄,如中國地震臺網(wǎng)中心(CENC)地震數(shù)據(jù)管理與服務系統(tǒng)(http://www.csndmc.ac.cn/newweb/data.htm)及國家地震科學數(shù)據(jù)共享中心(http://data.earthquake.cn/data/),美國地震調(diào)查局(http://earthquake.usgs.gov/)等;另外地震工作中經(jīng)常使用的格式還有*.wkf,*.Q01,*eqt,*x01,*.C01等等。限于篇幅本文只介紹幾種常見的地震目錄格式(表1~表4)。

      表1 中國地震臺網(wǎng)中心(CENC)地震目錄格式

      表2 國家地震科學數(shù)據(jù)共享中心地震目錄格式

      表3 Wkf文件地震目錄格式

      表4 Q01文件地震目錄格式

      1.2 格式對比分析

      1.2.1 目錄格式對比

      臺網(wǎng)中心目錄:*.xlsx格式,時間保存到秒(保留小數(shù)后1位),經(jīng)度和緯度以度表示(保留小數(shù)后2位),采用Ms、Ms7、ML、mb、mB震級。

      數(shù)據(jù)共享中心目錄:*.xlsx格式,時間保存到秒(保留小數(shù)后1位),經(jīng)度和緯度以度表示(保留小數(shù)后2位),采用Ms震級。

      *wkf格式:文本格式,時間保存到分,經(jīng)度和緯度以度分為單位,采用Ms震級。

      *.Q01格式:文本格式,時間保存到秒(保留小數(shù)后1位)比*.wkf精度高(wkf保存到分),經(jīng)度和緯度以度分為單位,與*.wkf的經(jīng)度相同,采用ML、Ms震級。

      1.2.2 目錄格式分析

      (1)轉(zhuǎn)換前后的地震目錄字段先后順序不一樣,需要重新排序;

      (2)轉(zhuǎn)換前后經(jīng)緯度單位不同,需要化度為分;

      (3)深度、附加等字段計數(shù)位數(shù)不同,不足以0補齊,字段間以“,”間隔開來;

      (4)各種震級如Ms、ML的適用情況不同,根據(jù)不同需要,采用經(jīng)驗公式對其轉(zhuǎn)換[2-8]:

      Ms=1.13ML-1.08; 1.21=0.80mB-0.60Ms

      另外,網(wǎng)絡下載的地震目錄有單元格缺失的情況,程序轉(zhuǎn)換中以0補位進行處理。

      2 程序功能

      通過VBA程序,將中國地震臺網(wǎng)中心、地震數(shù)據(jù)共享中心等網(wǎng)站下載的目錄轉(zhuǎn)換為分析預報軟件mapsis可以使用目錄格式,實現(xiàn)從*.xlsx、*.Q01、*eqt等至*.wkf格式之間的轉(zhuǎn)換。

      轉(zhuǎn)換后統(tǒng)一使用文本格式,保留年、月日、經(jīng)緯度、震級等信息,時間保存到分,經(jīng)緯度以度分為單位,以北緯為正、南緯為負;東經(jīng)為正、西經(jīng)為負,采用Ms震級。

      3 示例程序

      Subtest()

      Dimi,j,kAsInteger

      Worksheets("sheet1").Activate

      Fori=Sheet1.[a65535].End(xlUp).RowTo1Step-1

      IfSheet1.Cells(i, 5) = ""Then

      Sheet1.Rows(i& ":" &i).DeleteShift:=xlUp

      EndIf

      Next

      Forj= 1Toi

      Sheets("list").Cells(j, "a") =Left(Sheet1.Cells(j, "a"), 4) '年

      Sheets("list").Cells(j, "b") =Mid(Sheet1.Cells(j, "a"), 6, 2) &Mid(Sheet1.Cells(j, "a"), 9, 2)

      Sheets("list").Cells(j, "c") =Mid(Sheet1.Cells(j, "a"), 12, 2) '小時

      Sheets("list").Cells(j, "d") =Mid(Sheet1.Cells(j, "a"), 15, 2)

      Next

      ……

      Sheets("list").Range("a1")="年"

      Sheets("list").Range("b1")="月日"

      Sheets("list").Range("c1")="小時"

      Sheets("list").Range("d1")="分鐘"

      Sheets("list").Range("e1")="緯度"

      Sheets("list").Range("f1")="經(jīng)度"

      Sheets("list").Range("g1")="震級"

      Sheets("list").Range("h1")="深度"

      Sheets("list").Rows(1).Select

      WithSelection

      .Font.Bold=True′加粗

      .Font.Name="arial" ′字體

      .Font.Size=11 ′字號

      .HorizontalAlignment=xlLeft′居中

      EndWith

      ……

      EndSub

      4 軟件使用

      使用VBA代碼以Offiice2007為例。

      單機左上角【Office圖標】-【Excel選項】-【信任中心】-【信任中心設置】-【宏設置】-【啟用所有宏】-單機確定-宏命令的啟動。如圖1所示。

      圖1 宏命令設置界面

      啟動宏命令后,用戶可以使用如下多種方法打開VBE窗口(圖2):

      (1)按組合鍵;

      (2)單擊菜單欄【開發(fā)工具】選項卡的【VisualBasic】按鈕;

      (3)如果VBE窗口已經(jīng)處于打開狀態(tài),多次按組合鍵也可以切換到VBE窗口;

      (4)在當前工作表標簽上單擊鼠標右鍵,在彈出的快捷菜單中選擇【查看代碼】命令。

      圖2 代碼編輯窗口界面

      單擊【運行】-【運行子過程/用戶窗體】或者使用快捷鍵【F5】運行代碼,結果如圖2。

      目前,VBA轉(zhuǎn)換程序已在牡丹江地震臺開展使用,使用者可以根據(jù)研究需要,從網(wǎng)站下載地震目錄進行轉(zhuǎn)換。該方法無需安裝軟件,操作簡單,便于地震預測研究人員開展后續(xù)工作。通過一段時間實踐,逐步完善其功能后進一步向其他臺站推廣。

      VBA的好處在于與Excel緊密結合在一起,增強了Excel的靈活性,使用ExcelVBA對地震目錄格式進行自動轉(zhuǎn)換,避免了大量數(shù)據(jù)的手動修改和人工校對,便捷快速,大大提高了工作效率。

      5 小 結

      本文選取VBA作為工具實現(xiàn)對地震目錄的轉(zhuǎn)換是基于以下幾點考慮:

      VBA代碼開放,簡單易操作,使用者針對不同的功能略做修改即可。VBA是一門內(nèi)置于Office中的語言,無需安裝,只要電腦中已裝備了Office,就可以運行VBA編程平臺了。

      VBA架構簡單,實用高效,便于推廣。目前常見的Java、C++等則是更為高級的語言了,他們都屬于結構化的面向?qū)ο蟮恼Z言,它的重點在于算法與數(shù)據(jù)結構,一般作為底層架構來開發(fā)大型程序。地震目錄無論是*.xlsx還是*.txt都是文本格式的,算法和運算相對簡單,用VBA即可方便實現(xiàn)功能需求。

      VBA編程語言適用于數(shù)據(jù)量不大的工作范圍。當數(shù)據(jù)量過大的時候,如超過10 000條記錄時,Excel的查詢和計算速度會明顯下降,這時候就要建議考慮選用數(shù)據(jù)庫產(chǎn)品;另外ExcelVBA無法像數(shù)據(jù)庫一樣實現(xiàn)多用戶管理等等。

      總體上Excel適合于開發(fā)單機版、訪問量與開發(fā)維護量都不是很大、對數(shù)據(jù)有分析建模功能的應用程序。當然,使用ExcelVBA作為開發(fā)工具還有一個巨大的優(yōu)勢就在于用戶群廣大,可以大大縮短學習周期,通過VBA對地震目錄進行批量轉(zhuǎn)換,簡單快捷,提高工作效率,保證數(shù)據(jù)質(zhì)量。

      地震目錄轉(zhuǎn)換僅僅是地震目錄資料應用的第一步,未來將深入研究ExcelVBA與其他語言及應用平臺上的融合與功能擴展,推動程序更加智能化和自動化。

      [1] 陸遠忠,李勝樂,鄧志輝.基于GIS的地震分析預報系統(tǒng)[M].成都:成都地圖出版社,2002:169-172.

      [2] 劉瑞豐,陳運泰,任梟,等.中國地震臺網(wǎng)震級的對比[M].地震學報,2007 29(5):467-476.

      [3] 張衛(wèi)華,李勝樂.地震目錄資料自動搜索、下載軟件的實現(xiàn)[J].地震,2007.27(1):131-141.

      [4] 劉麗芳.云南地區(qū)地震目錄最小完整性震級研究術[J].地震研究,2012.35(4):491-499.

      [5] 馬寶君.地震目錄快速轉(zhuǎn)換軟件[J].地震地磁觀測與研究,2005.26(3):87-90.

      [6] 吳娟,于笑非.遼寧省地震局目錄數(shù)據(jù)格式的轉(zhuǎn)換[J].北京:東北地震研究,2003.19(3):77-80.

      [7]Excelhome編著.ExcelVBA實戰(zhàn)技巧精粹[J].人民郵電出版社,2013:1-8.

      [8] 國家地震局震害防御司.地震工作手冊[M].北京:地震出版社,1990:129.

      CONVERSION OF EARTHQUAKE CATALOG FORMAT BY APPLICATION OF VBA EXCEL

      LIANG Aquan,LIANG Yue,MA Baojun,LI Taiyan,GAO Shuangling

      (MudanjiangSeismicStation,EarthquakeAdministrationOfHeilongjiangProvince,Mudanjiang157009,China)

      Earthquake catalogue is basic data in seismology.Before the analysis of earthquake prediction research,the earthquake catalog downloaded from relevant websites need to be converted to the corresponding format.This work is usually done manually, and this has heavy management working load and more mistakes.To Excel VBA macro language as the tool, download directory and automatic conversion between analysis and prediction of earthquake catalogue,in order to further scientific research to provide the basis of detailed and reliable data.

      VBA Excel;Earthquake catalog;Format conversion

      2016-04-28

      黑龍江省地震局一般性課題(項目編號:201601)資助。

      梁阿全(1981— ),男,黑龍江牡丹江人,工程師,主要從事地震監(jiān)測工作。E-mail:43326298@qq.com。

      P315-39

      A

      1005-586X(2016)04-0059-05

      猜你喜歡
      經(jīng)度牡丹江震級
      巧用四步法 妙解地方時
      巧用四步法 妙解地方時
      中學政史地(2023年8期)2023-04-14 07:19:08
      基于累積絕對位移值的震級估算方法
      地震后各國發(fā)布的震級可能不一樣?
      新震級國家標準在大同臺的應用與評估
      山西地震(2020年1期)2020-04-08 07:34:26
      貢獻更多“牡丹江力量” 書寫更精彩的“牡丹江篇章”
      活力(2019年17期)2019-11-26 00:40:26
      尋找最美校園 牡丹江師范學院
      文苑(2018年21期)2018-11-09 01:22:32
      牡丹江流域自然地理敏感區(qū)劃分研究
      中國地震臺網(wǎng)面波震級與矩震級的統(tǒng)計關系
      抗生素入選2014年“經(jīng)度獎”研究課題
      世界科學(2014年8期)2014-02-28 14:58:25
      阳曲县| 阜宁县| 碌曲县| 曲阳县| 樟树市| 双流县| 普安县| 阿克陶县| 徐水县| 海安县| 阳江市| 民县| 福安市| 潮安县| 巴南区| 醴陵市| 津市市| 紫金县| 莱州市| 宁远县| 云安县| 舞钢市| 凤台县| 江源县| 西丰县| 玉龙| 荥经县| 开封县| 大洼县| 洛阳市| 江口县| 高安市| 巴青县| 清流县| 曲周县| 彩票| 安仁县| 交城县| 定结县| 盖州市| 罗城|