?

基于GeoProbe地球物理平臺的軟件等值線追蹤算法研究與軟件開發

2020-04-22 02:23何輝李芳王冠鑫
物探與化探 2020年2期
關鍵詞:等值線連通性物探

何輝,李芳,王冠鑫

(1.中國自然資源航空物探遙感中心,北京 100083; 2.自然資源部 航空地球物理與遙感地質重點實驗室,北京 100083)

0 引言

等值線一般是用來表示具有空間連續分布特征的現象,并且可以精確地表示這些現象的垂直變化和水平強弱差異,尤其在地球物理數據上可直觀地表現地球物理數據變化趨勢,廣泛應用于大地測量、地球物理、地球化學等行業中,并且作為數據處理及解釋成果的重要圖件之一[1-3]。在航空物探數據處理及位場轉換過程中,無論是作為數據調平前的準備,還是全測區位場水平的確定,乃至最后成果圖件的編制,都以等值線圖作為基礎圖件[6-10]。

在國家863 計劃重大項目“航空地球物理勘查技術系統”和地質調查項目“航空物探方法技術與數據處理解釋系統研究”支持下,中國自然資源航空物探遙感中心研制了GeoProbe軟件平臺,同時在平臺基礎上集成了地球物理數據處理與解釋系統(GeoProbe Mager)。該系統空間數據顯示平臺以ArcEngine為基礎[11],系統中對網格數據的管理采用統一的接口,但ArcEngine中繪制等值線以Raster圖層為數據源,在數據訪問方面存在不一致性,為了保持整個系統功能的完整性,有必要對等值線追蹤繪制技術進行研制。

1 研究基礎

GeoProbe軟件平臺在對加拿大GeoSoft Oasis montaj軟件、Golden Software Surfer軟件、航空物探AirProbe 1.0軟件及GeoProbe 多網格文件(GGF)存儲格式分析的基礎上,設計并實現了統一的網格數據管理接口,對網格數據進行訪問、處理等操作,從而方便整個系統維護及升級改造。

1.1 網格數據訪問接口

航空地球物理所獲取的測線數據(或稱剖面數據)以GeoProbe數據庫管理,經各項校正、改正、調平處理后,對其網格化,形成網格文件,并作為進一步應用的基礎數據,因此網格數據是系統管理及處理重要的基礎數據。

在充分分析網格數據特點的基礎上,統一設計網格數據訪問接口,以GGFHead作為網格文件信息結構,包括3部分內容:基本信息(GridInfo)、坐標信息(GCSInfo)和數據信息(DataInfo),其中基本信息主要指網格行數、網格列數、網格行間距、網格列間距等信息;坐標信息主要指坐標原點東向距、坐標原點北向距、坐標地理方位角度等;數據信息主要指網格數據的最大值、最小值、均值、基值及系數等信息。同時VMA虛擬內存數組結構實現對數據的管理,通過SetV和GetV函數來設置和獲取網格行列數據。

void SetV(VMA &Va, __int32 nRow, __int32 nCol, double Value);

double GetV(VMA &Va, __int32 nRow, __int32 nCol);

Va表示虛擬內存數組結構,即整體網格數據;nRow表示網格行號;nCol表示網格列號;Value表示指定行列號的網格點數據;GetV函數返回指定行列號的網格點數據。

通過統一的網格訪問函數SetV和GetV,方便系統對任意格式的網格數據獲取的VMA進行訪問,并為將來系統維護及升級改造提供方便。

1.2 插件技術

在大型的通用軟件或專用軟件中通常都支持用戶進行二次開發,而二次開發的模式通常都采用插件技術。插件是基于面向對象的思想設計和實現,用以給用戶進行二次開發的一種接口方式。用戶應用插件模式按照指定規范編寫出來的功能模塊可供應用程序在運行時調用,以菜單或工具方式進行集成并完成相應的功能[6]。

GeoProbe軟件平臺提供了多種可供二次開發的插件,包括可重用的窗體插件模板(FrmGeoPlugin)、類插件模板(ClsGeoPlugin) 及各類狀態插件模板等,并支持多語言(C++,C#,VB.Net等)開發。通過插件模塊可方便快捷調用系統中的數據和資源,并進行相關的處理,為功能模塊的集成及運行提供了基礎。

2 逐行等值線追蹤算法設計

2.1 等值線特點分析

等值線用二維平面信息來表達三維數據,為空間數據的判別提供了諸多便利,更加直觀地把握空間數據的特征變化[12-13]。通過繪制相應的等值線圖可簡單而直觀對數據進行分析判讀。如何快速有效地對等值線進行追蹤,確保繪制結果滿足要求是系統研究的前提。在分析網格數據數據管理的基礎上,歸納起來等值線具有連通性、相鄰性和不相交性特點。

連通性是指等值線通過的網格數據單元必須是連續的[14-19],可解釋為如果某等值線在網格數據的第七至第八行中存在,而在第八至第九行數據中沒有,則該等值線要么封閉,要么追蹤到邊界處,完成該條等值線的追蹤。

相鄰性是指在等值線追蹤過程中相鄰等值線的值如果不相等,則其值必須是相鄰的。即如果當前位置的等值線值為5,則相鄰的等值線值只能是5、0或10。

不相交性是指等值線都是連續、閉合的曲線,并且任意兩條等值線在空間位置上不相交。

2.2 逐行追蹤算法模型設計

逐行等值線追蹤算法核心是對網格數據進行追蹤,獲取逐行等值線,利用等值線的連通性、相鄰性及不相交性特點來構建追蹤模型,實現對不同行等值線的連接,從而完成對整體網格數據等值線的追蹤,則整個等值線模型如下:

C=[c1,c2,…,cn]

設C為追蹤所有的等值線集合,則C為c1到cn等值線的集合,其中n表示追蹤等值線值間距的數量,

n=(Zmax-Zmin)/Z+1,

Zmax表示追蹤等值線值的最大值,Zmin表示追蹤等值線值的最小值,Z表示追蹤等值線值的間隔。

ci=[cl1,cl2,…,clm],則ci(i=1,2,…,n)表示序列為i等值線值的數據集合,m表示網格逐行追蹤過程中追蹤到前一行管理的該值等值線數量,clj(j=1,2,…,m)指追蹤到前一行管理序列為i等值線值的第j條等值線。

通過該模型構建,結合等值線相鄰性、不相交性及逐行坐標的有序性,在進行等值線連接處理過程中可極大地提高相鄰行等值線合并效率。應用等值線連通性特點,則等值線C在追蹤過程管理等值線極限為所有行追蹤等值線數量的最大數,極大地減少內存存儲,進而達到提高整個等值線追蹤效率。

2.3 逐行追蹤算法設計

逐行追蹤算法設計應用逐行追蹤算法模型為基礎,以行與行之間的間隔為單元進行追蹤,即追蹤相鄰兩行數據間的等值線,整個過程從第一行和第二行間開始追蹤,形成等值線索引,再追蹤第二行和第三行間等值線,直至追蹤到最后兩行為止,表示整個數據等值線追蹤完畢。該算法重點需要解決的問題即逐行追蹤等值線后線的連接問題。

設定由4個網格行列值點組成的一個格為網格單元,即有(i,j),(i,j+1), (i+1,j)和(i+1,j+1)組成一個單元,紅色字母a,b分別表示為追蹤的兩段等值線,p1、p2表示a等值線的首末節點,p3、p4表示b等值線的首末節點。

圖1 左右相鄰網格單元等值線連通性關系Fig.1 Connectivity of contours between left and right adjacent mesh elements

為此,在追蹤逐行數據等值線過程,需要判斷左右相鄰等值線的連通性,分別存在4種可能,p2與p3相等、p2與p4相等、p1與p3相等和p1與p4相等。通過4種判斷對左右相鄰并且值相等的等值線進行連同,合并為一條線。

圖2 上下相鄰網格單元等值線連通性關系Fig.2 Connectivity of contours between upper and lower adjacent mesh elements

同時在追蹤逐行數據等值線后,還需要判斷上下相鄰等值線的連通性,也存在4種可能性,p2與p3相等、p2與p4相等、p1與p3相等和p1與p4相等,進而將上下相鄰且值相同的等值線合并為一條線。

3 功能設計與應用

3.1 功能設計

應用GeoProbe平臺的插件技術,參照插件技術開發指南[20],以網格數據為基礎數據,結合網格數據訪問接口,設計并實現了等值線繪制功能。通過構建等值線模型,應用等值線追蹤算法實現逐行數據追蹤,并對相鄰行等值線進行合并,通過判斷其連通性進行等值線存儲,從而完成對整個網格數據的等值線追蹤。功能研發應用GeoProbe平臺的窗體插件進行界面設計,追蹤算法采用C++語言進行開發,等值線數據以ESRI的Shapefile文件進行存儲,通過ArcGIS平臺進行空間數據顯示,實現了功能模塊的GeoProbe平臺集成,并進行了應用分發。

圖3 繪制等值線流程Fig.3 Drawing contour flow chart

3.2 應用效果

等值線追蹤算法的優劣與否,主要通過其效果與效率來體現,為此將本文研究的等值線追蹤效果和效率與Surfer、ArcGIS及OASIS軟件進行對比分析。

應用實測航磁網格數據(1732行×1049列),網格數據最大值932 nT,最小值-513 nT,等值線追蹤間距為5 nT,從-510~930 nT每隔5 nT進行等值線追蹤,總計289個等級值。在筆記本W520(內存4 GB,Win7 32位操作系統)上進行性能測試。

表1 不同軟件等值線追蹤效率對比Table 1 Comparison of Tracking Efficiency of Different Software Contours

由此可見本系統與ArcGIS在同等條件下追蹤等值線效率相當。通過對比分析,本次研究的等值線追蹤功能模塊在效果及效率上,均達到通用軟件水平,滿足了GeoProbe平臺要求。

圖4 等值線繪制效果Fig.4 The effect of contour drawing

4 結論

等值線圖在地球物理數據處理解釋中具有廣泛的應用,筆者在分析等值線特點的基礎上,通過構建逐行追蹤算法模型,設計了逐行等值線追蹤算法,實現了網格數據等值線的追蹤,提高了等值線追蹤效率,追蹤效率及效果達到了商業軟件水平。結合VMA虛擬內存數組結構,解決了大數據訪問問題,網格數據處理能力超過了16 384行×16 384列。應用插件技術,基于GeoProbe平臺進行集成,滿足了GeoProbe Mager航空物探數據全流程處理需求,提高了航空物探網格數據可視化效率。

猜你喜歡
等值線連通性物探
植被覆蓋度和降雨侵蝕力變化對小流域泥沙連通性的影響
中國自然保護地連通性的重要意義與關鍵議題
改進連通性保持的二階多智能體編隊控制
橫波技術在工程物探中的應用分析
基于規則預計格網的開采沉陷等值線生成算法*
地質調查物探技術及其發展的若干研究
閘壩對撫河流域連通性的影響研究
新課標高考地理季節判斷的幾種方法
由一幅圖探究等值線題判斷規律
工程勘察中物探方法的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合