董浩然 鄭曉詩 偏衛東 閆翾 王永志,2* 李志鵬
(1、吉林大學地球探測科學與技術學院,吉林長春 130026 2、吉林大學綜合信息礦產預測研究所,吉林長春 130026)
地球物理探測是采用專業儀器探測地球內部結構、研究地下構造、監測區域活動的重要手段,基于地下介質磁性差異和電性差異的電磁勘探是當前的主流方法之一[1]。傳統方法對電磁大數據進行管理和可視化時,經常出現內存溢出、處理速度慢、更新滯后等問題。如何有效地對獲得的數據進行優化管理,將復雜的勘探數據通過可視化技術轉為直觀的圖像,成為領域內一個重要的研究方向[2]。
本文以電磁大數據為研究對象,綜合利用索引、數據庫、雙緩沖、GIS 等技術[3],探索一套能夠快速讀取電磁大數據、數據處理與可視化的方法,為地球物理學與地理信息科學的更深層次研究打下基礎。
根據數據噪聲特點[4]、數據處理方法[5]設計了一套從數據管理、數據預處理及可視化的層次框架(如圖1)。

圖1 電磁大數據優化管理與可視化框架
2.1 快速讀取:基于順序索引或GeoHash 算法的經緯度索引,建立索引數據庫以便以保證查詢和提取速度。
2.2 數據預處理:對原始數據依次進行數據過濾(空間域濾波和零值過濾)和數據抽稀(間隔采樣和垂距限值抽稀)過程,采用過濾干擾信號保證質量,通過抽稀在保證反映真實內容的同時減少數據體量。
2.3 數據可視化:采用二維圖形控件、GIS 組件等實現大波形動態可視化。
采用索引技術對大數據進行快速讀取,將大文件分割為若干個小文件,為小文件建立索引文件,可解決直接讀取大量數據導致內存溢出、提取速度過慢問題。主要采用順序索引、經緯度索引等方法。
3.1.1 順序索引
采用順序索引實現大數據文件的分塊存儲,即將一定長度數據存為一個小數據文件,建立索引文件記錄小數據文件的路徑和存儲數據位置和數量。提取索引文件提供的起始位置和數量,獲取數據所在小數據文件存儲位置,從而實現快速訪問和提取數據。
3.1.2 經緯度索引
對帶有位置信息的數據采用經緯度索引,即通過GeoHash 算法[6]將數據的經緯度轉為Base32 編碼,將數據歸類到對應小區域中。可根據數據特征和用戶需求決定Base32 編碼的長度。存儲小區域中數據的數據文件按照B+樹索引機制,以文件路徑形式實現。提取數據時提供所需區域西北角經緯度和東南角經緯度,即可獲得該區域內所有數據。
采用零值過濾方法去除信號中幅值過高或過小的信號。基于Weierstrass 定理和一階線性圓滑法進行空間域濾波,削弱噪聲中較大的峰值。如選取零值過濾范圍為篩除范圍內的數據。
基于采樣定理[7],設計了改進的垂距限值法。對過濾后的數據等間隔讀數,再選擇閾值進行垂距限值抽稀,從而突出異常、減弱毛刺現象[8]。采用此方法對電磁大數據進行抽稀采樣,可在保證其仍真實反映原始狀態情況下,數據體量極大減少。
為解決全部電磁大數據一次性成圖時,讀取文件耗時長、內存占用大、速度慢問題,可采用雙緩沖機制進行大圖形可視化[9],即先讀取一部分數據、顯示已讀取數據的圖形,后臺再繼續讀取、繪制,如此循環,可有效提高一維圖形的繪圖及顯示效果。
電磁數據帶有經緯度空間列,為了快速顯示二維平面圖形效果,可基于C# 的GDI 接口[10]、ArcGIS Engine[11],采用空間插值方法實現二維地圖可視化,可以解決在空間上采樣點分布不均勻、局部地區缺乏觀測值的問題[12]。
采用10 萬行電磁數據作為實驗數據(圖2(a)),經過空間域濾波后削弱了隨機噪聲(如圖2(b)),由于圓滑因子3 選取相對較小,對隨機噪聲的過濾效果并不理想。再使用50 萬行電磁數據進行實驗(圖3(a)),采用圓滑因子15 對其進行一階圓滑,經過空間域濾波之后信號的峰值基本保持不變,幅值相對較小的噪聲衰減明顯,可見線性圓滑能夠較好地減弱隨機噪聲(如圖3(b))。采用局部1000 行原始數據進行放大對比(如圖4(a)),在經過空間域濾波和零值過濾之后,波形中的異常噪聲明顯減小,曲線更加光滑(如圖4(b))。

圖2 10 萬行數據圓滑對比效果

圖3 50 萬行數據過濾對比

圖4 局部1000 行數據空間域濾波對比
使用1600 萬行數據進行測試,在未采用雙緩沖機制時,繪制全部圖像用時131.2 秒。經數據預處理后應用雙緩沖機制,繪圖時間縮短至23.1 秒,進一步優化雙緩沖程序參數,繪圖時間最終提升到6.2 秒,成圖速度是原有方法的20 倍(如圖5)。

圖5 雙緩沖機制速度對比
選取52 萬行的航磁數據作為原始數據,經數據預處理后進行成像(如圖6)。能夠清晰地反映區域磁異常分布特征,有助于快速直觀地識別局部地質異常。在確定需要進一步研究的區域之后,還可通過軟件的經緯度索引數據庫快速讀取對應區域的原始數據,在局部地區進行深入研究。

圖6 區域航磁平面可視化效果
5.1 本文以Visual Studio 2019 為開發工具,使用C#編程語言,研發了電磁大數據優化管理與可視化處理軟件,實現了大數據快速讀取、數據過濾、數據抽稀、動態成圖可視化等功能。
5.2 采用順序索引和基于GeoHash 算法的經緯度索引機制,實現電磁大數據管理,可有效提升數據的快速存取,有效解決了電磁大數據的讀取慢、內存占用多等問題。
5.3 采用數據過濾、數據抽稀等方法實現電磁大數據的科學預處理,并基于雙緩沖機制將圖形可視化速度提升10 倍甚至20 倍以上,實現大數據量圖形圖的動態繪制。