孫肖南,孫 陶,辛春英,孫海仁
(核工業航測遙感中心,石家莊 050002)
基于C++Builder的航空物探數據瀏覽軟件設計
孫肖南,孫 陶,辛春英,孫海仁
(核工業航測遙感中心,石家莊 050002)
隨著計算機的發展,航空物探海量數據的質量瀏覽檢查與異常信息識別,已從傳統的觀看紙帶模擬曲線,過渡到了數字化記錄、模擬曲線屏幕再現并實時選取統計的自動化時代;該軟件應用C++Builder編譯系統,實現了技術人員對航空伽瑪能譜測量數據和航空磁測數據的快速圖形瀏覽,并具有對采樣點的位置進行導航跟蹤的圖形顯示功能,對設備的標定狀態和工作狀態及時掌握,幫助技術人員對航空伽瑪能譜測量異常快速的進行初選,自動計算異常的特征參數。
航空物探;數據質量;瀏覽;異常
航空物探通常包括伽瑪能譜、磁兩種參量測量,其采集的數據不僅包括伽瑪能譜和磁場,同時還包括反映飛行高度的雷達高度、反映測量環境的溫度和大氣壓力以及測點的空間定位GPS數據。以往對測量結果的質量檢查和航磁、航放異常的選取,主要采用人工瀏覽紙帶模擬記錄的方式,特別是航空伽瑪能譜測量異常的初選工作,大量的異常參數計算還須要手工來完成,影響了異常初選工作的效率。及時開發一款瀏覽原始數據的圖形軟件勢在必行,軟件能夠及時對航空伽瑪能譜測量的原始數據進行高效瀏覽取代現行的模擬紙帶記錄的瀏覽方式,同時能夠瀏覽模擬紙帶所不具備的采集點的全譜圖像,對采樣點的位置進行導航跟蹤和圖形顯示,并能夠在圖形瀏覽中直觀的完成對航空放射性伽瑪能譜數據異常點的異常參數值的計算,幫助技術人員完成異常點的初選。
設計軟件需適用于Windows操作系統,編制具有Windows界面的菜單命令管理方式,通過菜單命令進入各子窗口進行相應功能的數據瀏覽,實現測量數據的可視化圖形與數字顯示功能。
所設計軟件應實現以下內容及功能:對所采樣原始數據記錄,能夠以模擬曲線的圖形形式顯示出來,并且能夠以數字方式顯示曲線標記點位置的測量數值,主要包括:
1)GPS導航定位數據,將飛行軌跡以二維做標的形式顯示出來,航空伽瑪能譜鉀道、鈾道、釷道及總道窗數據和256道全譜數據、航測磁場總場補償前和補償后數據、三軸磁通門的三方向矢量磁場數據、飛行高度、氣壓高度和溫度數據。顯示的內容和量程可通過右鍵菜單實現改變。
2)能夠顯示標定后上測和下測的單點和累加全譜數據圖形,自動計算探測器設備對銫源、釷源標定的分辨率和峰漂參數值。
3)能夠圖形瀏覽放射性含量數據文件,并在圖形曲線中選擇航空伽瑪能譜測量異常點,自動計算出異常點的相關參數指標,供異常初選參考。
4)計算測區內兩點坐標之間的距離,獲得有效測線長度。
1.1 原始數據格式分析
目前我們中心航空伽瑪能譜測量數據文件主要有以下類型:能譜數據窗口spc文件、能譜能量256道文件、航磁數據AARCMag文件。所記錄的測量數據內容包括:測線號、基點號、GPS定位數據、氣壓高度、雷達高度、溫度,放射性伽瑪能譜窗數據和256道全譜數據,磁通門三分量數據,航空測量磁場總場數據、包括補償前和補償后的數據以及數據采樣點的原始記錄時間。
1.2 設計結構及軟件流程
軟件采用圖形窗口設計方式,基于C++Builder編程,適用于Windows環境下的數據瀏覽軟件。設計上采用多窗體結構,每個窗體進入采用動態分配方式,如圖1所示。進入時自動分配內存空間,退出時及時釋放所占用的內存資源,以減少內存的占用。

圖1 軟件結構及流程圖
1.3 窗體界面設計
軟件中設計了一個類class gaibianjiemiandaxiao用于記錄和改變窗體的大小變化,將窗體中各控件水平和垂直位置與界面窗體比值關系,記錄到數據結構structgaibiandaxiao中,以能夠讓各窗體執行大小改變的功能。
1.3.1 主界面
主界面以圖形菜單的形式,通過下拉菜單動態進入各子窗口。
主界面由class TForm1 : public TForm類構成,包含一個TMainMenu組件,由多個TMenuItem組件項、TImage組件以及相應的事件函數實現相應功能。
主清單MainMenu1各項,分別為:文件、瀏覽數據、輔助和幫助。
文件子項為:退出。點擊它軟件退出,釋放所占用的資源。
瀏覽數據子項分別為:磁測、能譜和異常點計算。輔助子項分別為:分辨率檢查和計算距離。點擊各TMenuItem控件,執行相應窗體的建立函數,采用動態分配語句系統動態分配顯示各相應的窗口功能界面并顯示所占用的內存空間,當退出窗口界面時,窗口所占用的資源被釋放。
1.3.2 航磁瀏覽界面
航磁數據的讀取采用動態數組的方式,將航空磁測數據文件數據讀取到動態數組vector
航磁顯示界面由class Thctuxing : public TForm類構成,包含TOpenDialog組件、TTimer組件、TPopupMenu組件、TChart組件、TLineSeries組件、TFastLineSeries組件、TPointSeries組件、TPanel組件、TLabel組件、TButton組件、TScrollBar組件以及多個Edit組件和相應組件的發生事件函數和實現界面功能編制的各功能函數。主要功能函數如下。讀取磁數據文件函數dusjwjmag(),GPS經緯度轉換為大地坐標函數GPStoxy();測量數據數字顯示函數seesjvol(),設置繪圖量程函數setlc(),定時事件發生函數Timer1Timer(),鼠標按下事件函數ChartMouseDown(),TPopupMenu清單項點擊事件函數MenuItemClick(),圖形曲線上鼠標點擊時事件函數SeriesClick(),滑塊發生改變事件函數ScrollBar1Change()和Form窗體的相關事件函數以及各按鍵動作函數。
繪圖部分在TChart組件內完成,其組件內瀏覽曲線其顯示量程可以通過類函數setlc(double mlc)來改變,鼠標點擊Chart框左右外側可以進行圖像的自動瀏覽,其功能由Timer1Timer(TObject *Sender)事件函數完成,鼠標滑動瀏覽圖形和數據由事件函數ScrollBar1Change(TObject *Sender)完成。退出窗口界面后自動釋放所占用的內存空間。
1.3.3 能譜界面
能譜數據的讀取采用動態數組的方式,將航空伽瑪能譜文件數據讀取到動態數組vector
能譜界面由class Tgknpqx : public TForm類構成,包含TOpenDialog組件、TTimer組件、TPopupMenu組件、TPageControl組件、TTabSheet組件、TChart組件、TLineSeries組件、TFastLineSeries組件、TPointSeries組件、TLabel組件、TButton組件、TScrollBar組件以及多個Edit組件和相應的事件函數、功能函數。
主要函數如下:航空伽瑪能譜數據文件讀取函數dusjwj256 (),GPS經緯度轉換為大地坐標函數GPStoxy(),測量數據數字顯示函數see256sjvol(),設置繪圖量程函數setlc(),繪圖框內繪制曲線的數據源設置函數setsjyuan(),頁顯示函數TabSheetShow(),定時事件發生函數Timer1Timer(),鼠標按下事件函數ChartMouseDown(),曲線上鼠標點擊事件發生函數SeriesClick(),TPopupMenu清單項點擊事件函數MenuItemClick(),滑塊滑動事件函數ScrollBarChange()和Form窗體的相關事件函數以及各按鍵命令函數。
繪圖部分在TChart組件內完成,其組件內瀏覽曲線所瀏覽的數據源可以通過類函數setsjyuan(int n)來改變,其顯示量程可以通過類函數setlc(double mlc)來改變,鼠標點擊Chart框左右外側可以進行圖像的自動瀏覽,其功能由Timer1Timer(TObject *Sender)事件函數完成。窗體界面分為兩頁,第一頁為各能量窗數據圖形瀏覽,第二頁為能量全譜數據圖形瀏覽包括上視和下視顯示。窗體退出后自動釋放所占用的內存空間。
1.3.4 能譜標定檢查界面
標定數據的讀取,同樣采用動態數組的方式,將放射源測試的標定數據文件的數據讀取到動態數組vector
分辨率測試:是在標定放射源后,將采集的標定數據進行累加,減去本底數據,尋找標定放射性源峰位的能量道值記錄的,除以放射源峰形曲線的半寬道數來獲得。本設計中分辨率的計算和峰位偏移的計算由類函數resolution(int *snch,intch)來完成,主要計算銫、釷分辨率。
軟件界面由:class Tfenbianlu : public TForm類構成。包含TChart組件,TFastLineSeries組件,ScrollBar1組件,多個Edit,TOpenDialog組件,RadioButton組件,以及相應的事件函數完成相應的功能。退出時自動清理所占用的內存空間。
繪圖區域由TChart組件構成。主要功能函數:dusjwj256 ()讀文件數據,所讀取的數據存放在動態數組vector
1.3.5 異常點初選窗口界面設計
軟件讀取數據文件的數據采用動態數組的方式,將放射性含量數據文件中的數據讀取到動態數組中vector
異常點的初選,在曲線圖形中選擇計算異常峰位區域前、后的背景場,計算出背景場的平均值和標準偏差,然后跟據異常點峰值與背景場相關參數的比較,來確定異常等級,本設計中主要由cazhaofsxyicang(vector
軟件界面由類:class Tjisuanyichang : public TForm構成。包含TChart組件,TFastLineSeries組件,TPointSeries組件,TAreaSeries組件,TMemo組件,ScrollBar1組件,TPopupMenu組件,TMenuItem組件,TTimer組件,多個Edit,TOpenDialog組件,TCSpinButton組件,RadioButton組件,TSaveDialog組件,TButton組件,以及相應的事件函數完成相應的功能。退出時自動清理所占用的內存空間。
主要功能函數:讀文件數據函數dusjwjhanliang(),GPS經緯度轉換為大地坐標函數GPStoxy(),顯示能譜各測量數據值函數see256sjvol(),設置繪圖曲線量程函數setlc(),設置數據源函數setsjyuan(),定時器事件函數Timer1Timer(),鼠標按鍵按下函數ChartMouseDown()和鼠標按鍵上彈函數Chart1MouseUp,TPopupMenu控件項點擊函數MenuItemClick(),Edit組件敲擊函數enKeyPress(),Memo組件敲擊函數MemoDblClick(),選取和計算異常參數函數cazhaofsxyicanga(),滑塊滑動函數ScrollBarChange()以及Form窗體的相關事件函數和各按鍵命令函數。
1.3.6 距離計算
將GPS經緯度轉換為大地坐標,采用GWS-84高斯投影算法,本設計中主要由函數GPStoxy()完成轉換的計算過程。界面中輸入要計算距離的兩點的GPS經緯度,自動計算兩點之間的距離值顯示到文本顯示區內。
軟件界面由類:class Tjishuanjuli : public TForm構成。包含TRadioGroup組件,TGroupBox組件,TEdit組件,TButton組件,TLabel組件,以及相應的事件函數完成相應的功能。
2.1 能譜數據界面
點擊菜單瀏覽數據/能譜項,在顯示界面后打開相應能譜數據文件顯示瀏覽界面如圖2所示。
窗體內包含:頁顯示區域,航跡顯示區域,數值顯示區域。
頁顯示區域包含兩頁,第一頁為能譜窗數據顯示,通過右擊曲線框標題,彈出各能譜窗和高度數據顯示清單,來選擇要顯示的數據源,右擊曲線框產生顯示量程選擇清單來選擇曲線量程;第二頁為全譜數據顯示。通過滑動滑塊,可以顯示每一記錄點的數值內容,相應的窗數據圖形和相應點的全譜數據圖形,以及航跡圖形,通過點擊曲線框兩側可以自動瀏覽曲線圖形。
航跡曲線區域:顯示測線飛行軌跡,通過鼠標選擇區域可以進行放大顯示。
數值顯示區域顯示圖形中標記位置的經緯度坐標,時間,各能譜窗值,高度等相關數據信息。
2.2 磁數據界面
點擊菜單瀏覽數據/磁測項,在顯示界面后打開相應磁數據文件顯示瀏覽界面如3所示。
窗體內包括:航跡曲線,大地磁補償前和補償后的圖形曲線,磁通門的x軸曲線,磁通門的y軸曲線,磁通門的z軸曲線,數字顯示各采集點的經緯度坐標,時間,磁場值等相關數據信息。
曲線框內顯示自動補償前和自動補償后的圖形曲線,曲線框內通過右擊可以顯示量程。顯示,通過右擊高度曲線框標題可以選擇要顯示的高度數據源(雷達高度、氣壓高度、GPS高度),顯示測區的飛行軌跡。通過滑動滑塊可以動態瀏覽各曲線圖形,及采樣數值,通過點擊曲線框兩側可以自動瀏覽曲線圖形。

圖3 航磁數據顯示界面圖
2.3 分辨率檢查界面
點擊菜單輔助/分辨率檢查項,在顯示界面后打開相應標定數據文件顯示瀏覽界面如圖4所示。

圖4 標定界面顯示圖
顯示界面內包括:下測全譜標定曲線,上測全譜標定曲線;道數選擇和記算結果數值顯示區域??梢燥@示標定的累加譜曲線,也可以通過滑動滑塊瀏覽各采集點的全譜數據圖形。通過點擊計算按鈕可以顯示標定的分辨率和峰漂結果。
2.4 異常點計算界面
點擊菜單瀏覽數據/異常點計算項,在顯示界面后打開相應數據文件顯示瀏覽界面如圖5所示。

圖5 異常選擇界面圖
界面包括:航跡曲線區域,能譜放射性含量曲線:總道、鉀到、鈾道、釷道區域,測量參量數字顯示區域,異常點計算結果Memo文本顯示區域,該文本區域的內容可以拷貝復制并可通過“保存結果”按鍵可以保存為文本文件。能夠在瀏覽圖形中通過功能鍵和鼠標快速選定異常區域并計算異常參數將結果顯示到Memo文本區域,計算內容主要有,鉀、鈾、釷放射性元素的放射性含量異常等級(非異常,偏高場,高場,異常)并在圖形曲線中自動的用不同的顏色進行標識,計算異常點所選取的采樣點數目,異常點峰位坐標,計算顯示出鉀、鈾、釷窗口所對應元素含量的最大值、最小值、平均值和含量的標準偏差以及U/Th,等判斷異常點的相關參數值。
此軟件實現了從模擬紙帶瀏覽到計算機數據圖形瀏覽的轉變,實現了技術人員瀏覽數據,了解設備工作狀態,把握數據測量質量,對下一步的測量飛行起到了指導意義。特別是在放射性伽瑪能譜測量異常初選方面,實現了可視化的放射性伽瑪能譜異常選取,減少了大量的手工計算異常的工作量,加快了異常選取進度,保證了后續工作的進度。在內蒙古阿拉善盟中部1:5萬航空磁法、伽瑪能譜測量(11-2-HK01)飛行項目中應用中,效果良好,所選取的異常初選點明顯高于其它測區的異常選取。
[1] 譚浩強.C程序設計[M].北京:清華大學出版社, 1999.
[2] 李幼儀,甘 志.C++Builder高級應用開發指南[M].北京:清華大學出版社,2002.
[3] 周海斌,王安鵬,牛 韜,等.C++Builder技術大全[M].北京:機誡工業出版社,2001.
[4] 范逸之,江文賢,陳立元.C++Builder與RS-232串行通信控制[M].北京:清華大學出版社,2001.
Data Browsing Software Based on C++Builder for Airborne Geophysical Prospecting
Sun Xiaonan, Sun Tao, Xin Chunying, Sun Hairen
(Airborne Survey and Remote Sensing Center of Nuclear Industry, Shijiazhuang 050002, China)
With the development of computer, the method of evaluating quality and identifying outliers of aero geophysical data has changed a lot. It has entered an era of automation which can choose the statistics in real time. Data browsing has changed from traditional tape recording todigital recording. This software is based on C++Builder compiler system, it not only lets the fast graphics browsing of airborne gamma energy spectrometric data and magnetic data come true, but also can display the navigation trail of the sampling point through image. By obtaining the calibration status and working status of equipment in real time, it helps the technician choose the abnormal data of airborne gamma energy spectrum quickly and automatically calculate the characteristic parameters of the anomaly.
airborne geophysical prospecting; data quality; browse; anomaly
2016-11-09;
2016-11-28。
中國核工業地質局航空自動磁補償測量系統研制項目。
孫肖南(1962-),男,河北巨鹿縣人,大學,高級工程師,主要從事航空物探設備的研究管理維護工作方向的研究。
1671-4598(2017)04-0117-04
10.16526/j.cnki.11-4762/tp.2017.04.033
TP311
A