DatistEQ之解析CSF地震觀測報告

CSF地震觀測報告是常見數(shù)據(jù)格式之一,地震臺網(wǎng)中心發(fā)布觀測報告的標準格式。如圖所示,文件由標題、數(shù)據(jù)體兩大部分構(gòu)成。

標題部分,定義了字段名稱,由HBO、HEO、HMB、HPB四行組成,相應(yīng)行的內(nèi)容記錄了數(shù)據(jù)的字段名稱,字段名之間以空格分隔。

數(shù)據(jù)體部分,定義了數(shù)據(jù)具體內(nèi)容,以固定寬度記錄觀測值。其中DBO與HBO、DEO與HEO、DMB與HMB、DPB與HPB相對應(yīng),DBO、DEO、DMB有一行數(shù)據(jù),DPB可以有多行數(shù)據(jù),行數(shù)不定。

CSF地震觀測報告

從數(shù)據(jù)表達的內(nèi)容來看,CSF混合了單行與多行數(shù)據(jù),數(shù)據(jù)提取工作比較麻煩,同時文件方式存儲,也不利于數(shù)據(jù)查詢與應(yīng)用。如何使用DatistEQ來解析CSF文件呢?

1、解析CSF節(jié)點

DatistEQ節(jié)點,提供CSF文件讀取功能,將按行疊加的觀測數(shù)據(jù),以列方式存儲。它把DBO、DEO、DMB數(shù)據(jù)和DPB組合成記錄,構(gòu)成一張二維數(shù)據(jù)表。

image.png

2、數(shù)據(jù)結(jié)構(gòu)化

解析CSF節(jié)點完成了數(shù)據(jù)格式的按行轉(zhuǎn)換功能,我們可使用列劈分節(jié)點將行的內(nèi)容結(jié)構(gòu)化出來。采用列劈分節(jié)點的固定列寬分隔數(shù)據(jù)讀取方式,標記出數(shù)據(jù)項讀取的位置,將以行存儲的數(shù)據(jù),轉(zhuǎn)換成以列方式存儲。

列劈分
數(shù)據(jù)劈分結(jié)果

3、修改字段名稱

列過濾節(jié)點,提供了數(shù)據(jù)模型映射工具,可快速建立成數(shù)據(jù)字段之間的對應(yīng)關(guān)系。當然也可以一個個地去修改字段名稱,只是工作量有點大。

數(shù)據(jù)模型化

數(shù)據(jù)解析流程示例

數(shù)據(jù)解析流程

流程中,由掃描目錄獲取文件,解析CSF節(jié)點轉(zhuǎn)換數(shù)據(jù)存儲方式,劈分節(jié)點結(jié)構(gòu)化數(shù)據(jù),最終由列過濾節(jié)點重定義字段名稱及數(shù)據(jù)類型。

另外,解析CSF節(jié)點支持兩種數(shù)據(jù)源,一是BLOB文件體數(shù)據(jù),二是文件的路徑。兩種方式給我們以無限發(fā)揮空間,可以用它來解析本地磁盤上的文件,也可以用于解析獲取網(wǎng)絡(luò)上的數(shù)據(jù)體。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容