国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Datist的地震目錄資料自動下載與數(shù)據(jù)存儲

2020-04-03 07:21張秀萍
防災(zāi)減災(zāi)學(xué)報 2020年1期
關(guān)鍵詞:專家資料流程

張秀萍,李 君,袁 林,李 楊,周 輝

(中國地震局第二監(jiān)測中心,陜西 西安 710054)

0 引言

地震目錄是地震活動構(gòu)造和震害分析研究等科學(xué)研究[1-3]和震情信息服務(wù)的重要資料[4-6],及時有效地獲取地震目錄資料對開展相關(guān)地震科學(xué)研究和數(shù)據(jù)服務(wù)具有重要的研究意義和應(yīng)用價值。國家地震臺網(wǎng)中心作為全國地震編目最終產(chǎn)出單位,擁有豐富的數(shù)據(jù)資源[6-7],其統(tǒng)一編目系統(tǒng)是各科研單位和臺站獲取國家地震目錄資料的主要來源之一。

國家地震臺網(wǎng)中心統(tǒng)一編目網(wǎng)站提供多種常用格式的地震目錄下載接口,在一定程度上滿足了研究人員的下載格式需求。但由于不同的地震目錄格式對應(yīng)不同的下載接口,當(dāng)按年月下載不同格式的目錄并分別保存時,會重復(fù)操作下載過程,耗費時間。此外,下載的地震目錄因為格式固定,數(shù)據(jù)以文本形式或其他文件形式進行保存,使得其應(yīng)用范圍比較受限[8]。

為了提高信息獲取效率,利用Python編程訪問下載網(wǎng)址并將腳本代碼放在數(shù)據(jù)專家Datist(多源數(shù)據(jù)融合專家應(yīng)用軟件,簡稱數(shù)據(jù)專家)中,設(shè)置定時運行流程,即可自動獲取地震目錄資料。為了更加靈活的對外界提供地震目錄數(shù)據(jù),同時保證數(shù)據(jù)的安全性,利用Datist將數(shù)據(jù)存入MySQL數(shù)據(jù)庫,并提供對外的數(shù)據(jù)接口,實現(xiàn)地震目錄資料的按字段存儲、管理與服務(wù),具有效率高、使用方便、數(shù)據(jù)獲取靈活等特點。

1 功能原理介紹

地震目錄資料自動下載與數(shù)據(jù)存儲的原理總框圖如圖1所示,包括三部分:下載文本數(shù)據(jù)、文本數(shù)據(jù)拆分入庫和獲取數(shù)據(jù)信息。下載文本數(shù)據(jù)通過程序訪問下載地址得到地震目錄文本,并將其保存在固定目錄下。程序在訪問下載地址時,通過更新下載地址鏈接中的時間、震級、經(jīng)緯度等參數(shù)性,可下載不同時間段、震級以及經(jīng)緯度的地震目錄。本文使用Python語言訪問下載地址,該腳本語言擁有強大的支撐庫,能夠?qū)崿F(xiàn)跨平臺移植且節(jié)省運算資源,可集成在數(shù)據(jù)專家Datist中使用。

文本數(shù)據(jù)拆分入庫和獲取數(shù)據(jù)信息這兩部分主要利用數(shù)據(jù)專家Datist實現(xiàn)數(shù)據(jù)處理過程。首先讀取地震目錄文本保存目錄,之后對文本數(shù)據(jù)拆分處理得到字段數(shù)據(jù),最后將字段數(shù)據(jù)過濾篩選后寫入數(shù)據(jù)庫。為了保證數(shù)據(jù)安全,最大程度的對外提供數(shù)據(jù)共享服務(wù),選擇MySQL數(shù)據(jù)庫存儲數(shù)據(jù)。地震目錄數(shù)據(jù)存儲到數(shù)據(jù)庫后,使用“接入數(shù)據(jù)庫”節(jié)點連接到對應(yīng)的數(shù)據(jù)庫,通過Datist數(shù)據(jù)專家提供的各類報告與軟件接口來獲取需要的數(shù)據(jù)信息。

基于Datist的地震目錄資料自動下載與數(shù)據(jù)存儲通過可視化的節(jié)點組合完成數(shù)據(jù)處理的有形化表達,不需要掌握復(fù)雜的編程技術(shù)即可實現(xiàn)對海量多源數(shù)據(jù)的整合、查詢以及報告生成等批量化處理過程[9],方法簡單,可操作性高,有效地提高了數(shù)據(jù)處理效率。

圖1地震目錄資料自動下載與數(shù)據(jù)存儲原理框圖Fig.1 The principle diagram of automatic downloading and data storage of seismic catalogue data

2 功能設(shè)計

2.1網(wǎng)站下載地震目錄文本

中國地震臺網(wǎng)中心統(tǒng)一編目系統(tǒng)提供了統(tǒng)一快報目錄、統(tǒng)一正式報目錄等地震目錄的下載接口,下載格式包括txt、wkf和xls等格式。使用Python腳本登錄網(wǎng)站后調(diào)用下載地址接口,然后將下載的文本(.txt)保存在固定的目錄下。腳本主要代碼如下所示,下載鏈接地址參數(shù)比較多,介于文章篇幅,此處省略了一些其他參數(shù),只保留了時間參數(shù)。

from urllib import request #加載request模塊,用來訪問網(wǎng)址地址

from http import cookiejar #加載cookiejar模塊,保存cookie

url =‘http://10.5.160.18/export/download.action?type=PHASE_WK_TXT&type1=

UniteWeek&type2=UniteWeekTxt&catalogw.t2Start=2018/01/01%2000:00:00&catalogw.t2

End=2018/02/01%2000:00:00’ #下載鏈接地址(省略了請求頭的部分參數(shù))

startdate=[‘2018/01/01’]#地震目錄開始時間

enddate=[‘2018/02/01’]#地震目錄結(jié)束時間

response=opener.open('url')

filename=startdate.replace("/","")+"_"+enddate.replace("/","") #保存下載的地震目錄

uniteWeekCatalogDatafile = open('E: /Data/+filename+'.txt','w')

uniteWeekCatalogDatafile.write( response.read().decode('gbk'))

uniteWeekCatalogDatafile.close()

上面的腳本代碼實現(xiàn)登錄地震編目系統(tǒng)獲取下載地址的功能。腳本中沒有循環(huán)更新地址參數(shù)的代碼塊,因此腳本運行結(jié)果只能得到固定參數(shù)(如地震目錄時間是2018/01/01-2018/02/01)的地震目錄文本。下面將結(jié)合Datist流程更新地址參數(shù),動態(tài)更新地址鏈接,靈活獲取地震目錄。

2.2 Datist處理文本數(shù)據(jù)并寫入數(shù)據(jù)庫流程設(shè)計

數(shù)據(jù)專家處理文本數(shù)據(jù)并將處理數(shù)據(jù)寫入數(shù)據(jù)庫的流程如圖2所示,首先更新Python腳本中的日期變量,將更新后的變量傳入到鏈接地址對應(yīng)的變量中并保存地震目錄文本到固定的目錄(前兩行流程),掃描該目錄并對文本進行處理然后存到數(shù)據(jù)庫(第三行流程),最后從數(shù)據(jù)庫獲取字段數(shù)據(jù)(最后一行)。

圖2地震目錄資料自動下載與數(shù)據(jù)存儲流程圖Fig.2 The flow chart of automatic downloading and data storage of seismic catalogue data

地震目錄文本處理的關(guān)鍵在于文本數(shù)據(jù)拆分,數(shù)據(jù)專家的“列辟分”節(jié)點通過設(shè)置錨點,可以快速地對文本進行辟分操作,如圖3所示。與利用程序代碼實現(xiàn)數(shù)據(jù)辟分與合并操作相比較,節(jié)點辟分過程簡單、效率高,圖形用戶界面操作實現(xiàn)數(shù)據(jù)處理過程可視化,便于及時快速地更改需求。辟分完成后,數(shù)據(jù)將會根據(jù)設(shè)置的錨點拆分成一列列的數(shù)據(jù),過濾節(jié)點可以設(shè)置新列的名稱。在對數(shù)據(jù)存入數(shù)據(jù)庫之前插入了一個初始化時間節(jié)點,用來給數(shù)據(jù)庫插入初始化時間字段,記錄數(shù)據(jù)變更時間。利用數(shù)據(jù)專家“寫入數(shù)據(jù)庫”節(jié)點將數(shù)據(jù)存入MySQL時,流程會根據(jù)過濾條件自動建立數(shù)據(jù)表和表字段。

圖3文本數(shù)據(jù)辟分示意圖Fig.3 The dividing diagram of text data

3 流程結(jié)果

3.1文本數(shù)據(jù)處理及寫入數(shù)據(jù)庫結(jié)果

運行數(shù)據(jù)專家地震目錄資料自動下載與數(shù)據(jù)存儲流程,獲取2018.01.01至2019.01.01的統(tǒng)一正式報目錄,并按月份保存數(shù)據(jù)的流程下載結(jié)果如圖4所示,顯示的是2018.01.01到2019.01.01按月保存的全部事件文本目錄。從下載地址鏈接獲取地震目錄時,可以按年、月分別保存數(shù)據(jù),同時可以通過Python腳本自定義下載的文件名稱,便于識別保存的文本數(shù)據(jù)。

圖4運行數(shù)據(jù)專家流程自動獲取文本目錄結(jié)果Fig.4 The dividing diagram of text data

圖5是對下載的地震目錄文本數(shù)據(jù)進行數(shù)據(jù)處理后,存入到MySQL數(shù)據(jù)庫的結(jié)果。由圖5看出MySQL按字段存儲數(shù)據(jù),使得數(shù)據(jù)的使用更為靈活和安全。利用數(shù)據(jù)專家流程下載12個月的統(tǒng)一正式報目錄全部事件文本,并按月保存文本數(shù)據(jù)以及處理數(shù)據(jù)寫入數(shù)據(jù)庫,整個過程共耗時4分鐘,實現(xiàn)了高效高質(zhì)量的完成地震目錄的下載和存儲過程。

圖5地震目錄數(shù)據(jù)存入MySQL條目Fig.5 The results of running datist process to automatically obtain text catalog

3.2接口獲取數(shù)據(jù)結(jié)果

地震目錄資料數(shù)據(jù)存儲到數(shù)據(jù)庫后,可以根據(jù)需求獲取數(shù)據(jù)庫字段數(shù)據(jù),“接入數(shù)據(jù)庫”節(jié)點支持MySQL語句,能夠直接對數(shù)據(jù)庫的數(shù)據(jù)進行增刪改查操作;然后使用“瀏覽報告”節(jié)點查看具體的數(shù)據(jù)信息。例如需要獲取2018.12.01至2019.01.01發(fā)生的地震值大于5級的數(shù)據(jù)信息,從數(shù)據(jù)庫得到的數(shù)據(jù)如圖6所示,包括發(fā)生地震的具體時間、地震的經(jīng)緯度、震級深度以及參考地名等信息。

Datist提供了很多接口,除了各種數(shù)據(jù)庫接口,還有文本接口如PDF、word、Excell等以及可視化接口,不需要單獨定義接口,利用數(shù)據(jù)專家提供的接口即可方便快捷的對數(shù)據(jù)進行查看和使用,實現(xiàn)對外提供數(shù)據(jù)服務(wù)的功能。

圖6地震值大于5級的數(shù)據(jù)(2018.12.01—2019.01.01)Fig.6 The data with an earthquake value greater than 5(2018.12.01—2019.01.01)

4 結(jié)論

利用Datist節(jié)點流程能夠方便快捷地實現(xiàn)自動下載地震目錄和數(shù)據(jù)存儲功能,具有高效性和便捷性,同時以MySQL數(shù)據(jù)庫的方式保存地震目錄數(shù)據(jù),具有一定的靈活性和安全性等,極大地提高了地震目錄資料的獲取效率,為進一步的地震數(shù)據(jù)共享應(yīng)用奠定基礎(chǔ)。此外數(shù)據(jù)專家節(jié)點流程支持多種數(shù)據(jù)庫(MySQL、Access、Oracle)的寫入和接入,也支持文件如Word和Excell操作及數(shù)據(jù)可視化應(yīng)用,可根據(jù)實際需求提供地震目錄資料的數(shù)據(jù)接口,能夠為地震科研和業(yè)務(wù)監(jiān)測應(yīng)用提供方便快捷的地震目錄數(shù)據(jù)服務(wù),給地震數(shù)據(jù)自動化獲取服務(wù)提供參考方法,對促進地震科研信息化服務(wù)的發(fā)展具有一定的應(yīng)用的價值。

猜你喜歡
專家資料流程
致謝審稿專家
吃水果有套“清洗流程”
Party Time
PAIRS & TWOS
JUST A THOUGHT
違反流程 致命誤判
四川省高考志愿填報流程簡圖
析OGSA-DAI工作流程
請叫我專家
專家面對面