• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      航空物探軟件系統(tǒng)支撐平臺設計與實現(xiàn)

      2020-04-08 13:04:36胥值禮劉俊杰
      物探化探計算技術 2020年1期
      關鍵詞:視窗航電插件

      胥值禮, 黃 威, 劉俊杰, 李 飛

      (中國地質(zhì)科學院 地球物理地球化學勘查研究所,廊坊 065000)

      0 前言

      航空物探包括航空磁力(航磁)、航空電磁(航電)、航空放射性(航放)、航空重力(航重)等測量方法,具有數(shù)據(jù)多樣化、數(shù)據(jù)量巨大、處理功能繁多等特點[1]。在實際生產(chǎn)應用中,經(jīng)常將多種測量方法集成為航空物探綜合測量系統(tǒng)開展多參數(shù)綜合測量,因此,在數(shù)據(jù)分析處理中,如果沒有統(tǒng)一的數(shù)據(jù)存儲格式、數(shù)據(jù)顯示方式和數(shù)據(jù)處理功能集成接口,勢必造成軟件系統(tǒng)缺乏整體性,導致數(shù)據(jù)管理混亂,不利于數(shù)據(jù)對比分析,增加了數(shù)據(jù)處理難度,同時也導致了系統(tǒng)擴展性較差、應用軟件開發(fā)和維護成本昂貴等問題[2-4]。

      依托中國地質(zhì)科學院地球物理地球化學勘查研究所(物化探所)承擔的“固定翼時間域航空電磁測量技術系統(tǒng)研制(編號2017YFC0601900)”國家重點研發(fā)計劃項目,開展了時間域航電數(shù)據(jù)處理軟件系統(tǒng)研發(fā)。首先通過分析時間域航電的數(shù)據(jù)特點,提出平臺的功能和性能需求。航電測量系統(tǒng)在采集原始數(shù)據(jù)時,記錄的數(shù)據(jù)道有經(jīng)度、緯度、雷達高度、氣壓高度、發(fā)射波形(Tx)、三個分量的接收波形(Rx、Ry、Rz)等,數(shù)據(jù)信息種類繁多。這些數(shù)據(jù)具有以下主要特點:①采樣率不同,發(fā)射波形和接收波形采用全波形記錄,其采樣率高達100 kHz;經(jīng)度、緯度、雷達高度、氣壓高度采樣率為1 Hz;②數(shù)據(jù)類型不同,經(jīng)度和緯度為雙精度浮點型;發(fā)射波形、接收分量波形、雷達高度、氣壓高度為單精度浮點型;③數(shù)據(jù)量巨大,1 h原始數(shù)據(jù)量約為5.5 GB,再加上處理過程中產(chǎn)生的各種結(jié)果數(shù)據(jù),數(shù)據(jù)量將成倍數(shù)增長;④按測線存儲數(shù)據(jù),測網(wǎng)一般為網(wǎng)狀分布,測線相互平行或近似平行,測線間的數(shù)據(jù)道個數(shù)和數(shù)據(jù)類型相同,而同一數(shù)據(jù)道的數(shù)據(jù)點數(shù)卻各異。

      上述時間域航電數(shù)據(jù)特點在航空磁力、航空放射性和航空重力中也同樣存在。鑒于這些數(shù)據(jù)特點,并考慮軟件系統(tǒng)的可擴展性、易用性和可維護性,便于航電或其它航空物探方法技術研究工作的開展,設計開發(fā)了一套適用于航空物探應用軟件系統(tǒng)開發(fā)、具有大數(shù)據(jù)和多參數(shù)顯示和處理能力的通用軟件支撐平臺。

      介紹了軟件平臺的主要需求、設計思路和關鍵技術,并給出了平臺在時間域航電數(shù)據(jù)處理軟件系統(tǒng)中的應用實例。

      1 需求概述

      平臺主要包括數(shù)據(jù)管理、數(shù)據(jù)顯示、數(shù)據(jù)編輯、系統(tǒng)工具、系統(tǒng)設置、功能擴展接口等基本功能組,各個功能組中包含一個或多個功能。

      1.1 數(shù)據(jù)管理

      以測量項目為單位對數(shù)據(jù)進行存儲管理,數(shù)據(jù)的存儲采用統(tǒng)一的數(shù)據(jù)庫模型。可在數(shù)據(jù)庫管理器中添加、刪除數(shù)據(jù)庫,并可打開數(shù)據(jù)庫,對數(shù)據(jù)進行界面顯示和編輯;可將外部數(shù)據(jù)導入到數(shù)據(jù)庫,也可將數(shù)據(jù)庫的數(shù)據(jù)導出為外部數(shù)據(jù);可將多個數(shù)據(jù)庫的數(shù)據(jù)合并到一個數(shù)據(jù)庫。

      1.2 數(shù)據(jù)顯示

      采用多文檔顯示方式,即可以打開多個數(shù)據(jù)庫,每個數(shù)據(jù)庫對應一個顯示主視窗,每個主視窗具有一個列表顯示視窗和多個并行的圖形顯示視窗,且各個視窗具有獨立的顯示配置,并具有顯示再現(xiàn)功能。

      1.2.1 列表顯示

      顯示選擇:可選擇測線、數(shù)據(jù)道顯示;可選擇顯示主道,所有顯示數(shù)據(jù)道均按照主道采樣率數(shù)據(jù)顯示。

      顯示格式:對一維數(shù)據(jù)道,按數(shù)據(jù)類型(浮點型、整型)以數(shù)值方式顯示在單元格,浮點型數(shù)據(jù)精確到小數(shù)點后八位。對二維數(shù)據(jù)道(如航電衰減曲線、航放全譜曲線)以曲線方式顯示在單元格。

      1.2.2 圖形顯示

      具有多個縱向排列的圖形顯示視窗,可以線/點方式顯示數(shù)據(jù)道剖面,便于圖形的對比顯示,且窗口縱向高度可任意調(diào)節(jié);對任何一個圖形視窗,可在水平方向上放大、縮小、移動圖形,且其它圖形視窗的圖形亦同步變化;可顯示縱坐標網(wǎng)格線和縱坐標零線;可顯示指示橫坐標的光標線;具有圖―數(shù)、圖―圖聯(lián)動顯示功能,可在數(shù)據(jù)顯示列表中的數(shù)據(jù)道名稱上選擇顯示/隱藏線剖面或點剖面,并將該數(shù)據(jù)道的線/點剖面顯示到指定的圖形窗口中;可在顯示列表中的數(shù)據(jù)道名稱上設置圖形顯示顏色,并將數(shù)據(jù)道對應的剖面圖形按相同顏色顯示;在圖形視窗中可移動指示橫坐標的光標線,并同步指示數(shù)據(jù)列表的數(shù)據(jù)點位置;可在數(shù)據(jù)列表中選擇數(shù)據(jù)點,并同步指示圖形視窗的橫坐標光標線位置。

      1.3 數(shù)據(jù)編輯

      在顯示列表中,可對數(shù)據(jù)進行編輯。將二維數(shù)據(jù)道分解為一維數(shù)據(jù)道;選擇單元格進行數(shù)據(jù)復制;選擇單元格對其所在行的數(shù)據(jù)進行刪除;對測線進行裁剪;創(chuàng)建、刪除、復制數(shù)據(jù)道;修改數(shù)據(jù)道的屬性值(名稱、起始FID、采樣率等)。

      1.4 系統(tǒng)工具

      為方便數(shù)據(jù)分析處理,提供數(shù)據(jù)道數(shù)學計算、坐標投影變換、數(shù)據(jù)道統(tǒng)計等基本工具。

      數(shù)學計算器:具有對數(shù)據(jù)道的數(shù)據(jù)進行簡單數(shù)學運算功能。支持等于、加、減、乘、除、指數(shù)、開方、常用對數(shù)、自然對數(shù)運算,便于數(shù)據(jù)轉(zhuǎn)換分析。

      坐標投影變換:可將WGS84經(jīng)緯度坐標轉(zhuǎn)換為Beijing54直角坐標,或?qū)eijing54直角坐標轉(zhuǎn)換為WGS84經(jīng)緯度坐標。

      數(shù)據(jù)道統(tǒng)計:可計算統(tǒng)計數(shù)據(jù)道的數(shù)據(jù)點個數(shù)、最小值、最大值、平均值等。

      1.5 系統(tǒng)設置

      可設置處理數(shù)據(jù)塊的最大數(shù)據(jù)個數(shù)、顯示數(shù)據(jù)塊的FID時長、默認顯示顏色等系統(tǒng)參數(shù)。

      1.6 功能擴展接口

      具有應用軟件功能(在平臺外部開發(fā)的功能)與平臺集成的通用接口。在不修改平臺程序的情況下,以插件方式對應用軟件系統(tǒng)進行功能定制,以加強軟件系統(tǒng)的功能。

      2 軟件設計

      2.1 運行環(huán)境與開發(fā)語言

      操作系統(tǒng):WINDOWS 7.0及以上操作系統(tǒng);內(nèi)存大小:8 GB以上;硬盤容量:256 GB以上。

      開發(fā)平臺:Microsoft Visual Studio 2015;開發(fā)語言:C/C++語言。

      2.2 總體架構(gòu)設計

      如圖1所示,平臺支撐的應用軟件系統(tǒng)為四層結(jié)構(gòu)模型:WINDOWS操作系統(tǒng)、GSS軟件支撐平臺、應用擴展功能(插件)、應用軟件系統(tǒng)[2]。

      軟件支撐平臺:提供數(shù)據(jù)庫管理、數(shù)據(jù)庫訪問、數(shù)據(jù)顯示、系統(tǒng)工具、系統(tǒng)設置、應用擴展功能集成接口等基本功能(圖2),應用功能集成具有插件式集成統(tǒng)一接口。

      圖1 應用軟件系統(tǒng)架構(gòu)

      圖2 支撐平臺的功能結(jié)構(gòu)

      應用擴展功能:為軟件支撐平臺外部定制開發(fā)的軟件功能(功能插件),可通過平臺提供的插件式集成接口集成到平臺上。

      應用軟件系統(tǒng):由軟件支撐平臺和集成到其上的應用擴展功能插件共同組成。

      3 關鍵技術

      在平臺實現(xiàn)中,采用了數(shù)據(jù)庫、數(shù)據(jù)分段處理、虛擬列表顯示、雙緩沖圖形顯示、功能集成插件技術、算術表達式求值等多項關鍵技術。

      采用數(shù)據(jù)庫、數(shù)據(jù)分段處理、虛擬列表顯示、雙緩沖圖形顯示關鍵技術,主要目的是解決巨大數(shù)據(jù)量的處理效率和內(nèi)存限制問題。采用功能集成插件技術的主要目的是解決系統(tǒng)的擴展性問題。

      3.1 數(shù)據(jù)庫技術

      3.1.1 數(shù)據(jù)庫模型

      圖3 數(shù)據(jù)庫模型

      根據(jù)航空物探數(shù)據(jù)特點,采用SQL關系型數(shù)據(jù)庫模型顯然不能滿足航空物探大數(shù)據(jù)的存儲要求,需要采用特定的數(shù)據(jù)模型[6]。本平臺的數(shù)據(jù)存取采用自主設計的數(shù)據(jù)庫(即數(shù)據(jù)集文件),一個數(shù)據(jù)庫實際上就是一個二進制數(shù)據(jù)文件,它除了可存儲數(shù)據(jù)本身外,還可存儲數(shù)據(jù)的索引等信息。

      如圖3所示,數(shù)據(jù)庫模型按三個層次組織數(shù)據(jù):文件、測線、數(shù)據(jù)道。

      數(shù)據(jù)庫文件可以包含任意數(shù)量的測線,測線又可以包含任意數(shù)量的數(shù)據(jù)道。在每個層次上,均可以包含任意數(shù)量的自定義屬性,僅在數(shù)據(jù)道包含數(shù)據(jù)體(一維或二維數(shù)組)。

      該數(shù)據(jù)模型無需自行設計頭信息結(jié)構(gòu)、無需重新設計程序,具有較強的靈和性和良好的擴展性。

      3.1.2 數(shù)據(jù)庫訪問

      采用面向?qū)ο?Object Oriented)思想實現(xiàn)數(shù)據(jù)存取功能,測線和數(shù)據(jù)道均作為對象來處理。

      測線和數(shù)據(jù)道對象由唯一的路徑來標識,各個路徑包含對象的名稱及其所屬對象的名稱(表1)。

      表1 數(shù)據(jù)庫對象標識示例

      3.2 數(shù)據(jù)分段處理技術

      在數(shù)據(jù)量巨大而計算機內(nèi)存又不能滿足全部數(shù)據(jù)讀入的情況下,采用分段技術對數(shù)據(jù)進行顯示或計算處理。

      采用FID(基點號)來實現(xiàn)分段處理。針對要顯示或計算處理的各個數(shù)據(jù)道,根據(jù)設置的起始FID和結(jié)束FID,分別計算各數(shù)據(jù)道在數(shù)據(jù)庫中的數(shù)據(jù)點起始索引和結(jié)束索引,然后從數(shù)據(jù)庫中讀取數(shù)據(jù)道FID段的數(shù)據(jù)并植入內(nèi)存進行顯示或計算處理,計算處理完成后將結(jié)果寫入數(shù)據(jù)庫中相應位置。

      通常情況下,時間域航電原始數(shù)據(jù)量很大,需要分段處理,而航磁、航放、航重數(shù)據(jù)量較小,不需要分段處理。如果計算機內(nèi)存足夠并將FID段設置得足夠長,則可一次性顯示或計算處理數(shù)據(jù)道的全部數(shù)據(jù),此時不需要將數(shù)據(jù)分段。

      3.3 表格顯示技術

      采用了數(shù)據(jù)道定制顯示和虛擬列表顯示技術。

      3.3.1 數(shù)據(jù)道定制顯示

      用戶可根據(jù)自己的需要在列表中靈和地顯示或隱藏數(shù)據(jù)道,而且可以設置某一數(shù)據(jù)道為采樣主道,其它顯示的數(shù)據(jù)道將自動與主道數(shù)據(jù)行匹配對齊(抽值或插值)。顯示時將數(shù)據(jù)從數(shù)據(jù)庫讀入內(nèi)存,隱藏時將釋放數(shù)據(jù)內(nèi)存。

      3.3.2 虛擬列表顯示

      通常情況下,使用列表組件需要向單元格中插入數(shù)據(jù),之后就不必關心數(shù)據(jù)在哪里了,這是因為組件自己開辟了內(nèi)存空間來保存這些數(shù)據(jù)。對于要顯示一個數(shù)據(jù)庫有幾十萬甚至上千萬條記錄的海量數(shù)據(jù),勢必要消耗大量的內(nèi)存,很可能內(nèi)存會溢出而導致軟件崩潰。另外,如果用戶要滾動數(shù)據(jù)或定位某行數(shù)據(jù),也會耗費漫長的時間,這是不能忍受的問題。因此,這種方法顯然不能滿足大數(shù)據(jù)的顯示要求。

      采用虛擬列表顯示算法來解決上述問題。虛擬列表看起來和普通列表一樣,但不是通過向表格單元格直接插入數(shù)據(jù)來顯示,它僅僅知道應該顯示多少行數(shù)據(jù),當顯示某個數(shù)據(jù)時,它向父窗口申請。例如一個列表中包含10 000 000行數(shù)據(jù),第500到1 000 行是可見的,當列表重新繪制時,它首先請求父窗口給它第500行的數(shù)據(jù),父窗口在收到請求后,把數(shù)據(jù)信息傳遞給列表,列表就可以用來顯示了,顯示第500行數(shù)據(jù)后,列表將繼續(xù)請求下一行數(shù)據(jù),直至第1 000行為止。這樣不但可以占用極少的內(nèi)存空間,還可以大大提高顯示效率,尤其在數(shù)據(jù)量巨大的情況下效果更為顯著。

      3.4 圖形顯示技術

      采用了數(shù)據(jù)道剖面圖定制顯示和雙緩沖圖形顯示技術。

      3.4.1 數(shù)據(jù)道剖面圖顯示

      用戶可根據(jù)自己的需要在數(shù)據(jù)列表中選擇要顯示或隱藏剖面圖的數(shù)據(jù)道,平臺將自動將選擇數(shù)據(jù)道的剖面圖顯示在某一指定圖形窗口,或在某一指定圖形窗口隱藏該數(shù)據(jù)道圖形,實現(xiàn)剖面圖組合顯示功能。顯示時將數(shù)據(jù)置入內(nèi)存,隱藏時將釋放內(nèi)存。

      3.4.2 雙緩沖圖形顯示

      通常情況下,圖形窗口在刷新時,總要有一個擦除原來圖像的過程,它利用背景色填充窗體繪圖區(qū),然后再調(diào)用新的繪圖代碼進行重繪,這樣一擦一寫就造成了圖像顏色的反差,當對大量數(shù)據(jù)的圖形進行頻繁重繪時,這種反差就越發(fā)明顯,將導致閃爍現(xiàn)象,圖形窗口因圖像殘留還會變成一團糟,且繪制效率十分低下[7]。

      采用雙緩沖圖形顯示算法來解決上述問題。先在內(nèi)存中繪制圖形,然后將繪制好的圖像復制到顯示界面,同時禁止背景刷新。這樣不但解決了圖像閃爍問題,而且提高了顯示效率。

      3.5 功能集成插件技術

      插件技術的本質(zhì)是在不修改平臺程序(主體程序)的情況下對軟件功能進行加強,任何人都可以通過公開的插件接口來制作自己需要的軟件功能以滿足不同的需求[8-9]。

      本平臺的應用軟件功能集成接口采用動態(tài)鏈接庫(DLL)插件方式。平臺程序啟動時,可根據(jù)已加載菜單配置文件中的菜單名稱動態(tài)地創(chuàng)建菜單,并根據(jù)菜單名稱所對應的DLL庫文件名稱,使用WINDOWS操作系統(tǒng)提供的LoadLibrary函數(shù)自動加載DLL庫,并使用WINDOWS操作系統(tǒng)提供的GetProcAddress獲取相應功能函數(shù)的內(nèi)存地址,平臺根據(jù)內(nèi)存地址來調(diào)用插件接口完成所需功能。

      功能插件DLL庫可使用C/C++、Fortran語言或其他語言(如MATLAB、LabVIEW等)開發(fā),它們均具有統(tǒng)一的調(diào)用接口。

      插件和平臺之間的通信采用數(shù)據(jù)庫對象句柄。平臺提供了一個數(shù)據(jù)庫訪問中間件,平臺向插件傳遞數(shù)據(jù)庫對象句柄,插件通過中間件利用該數(shù)據(jù)庫句柄對數(shù)據(jù)庫進行訪問。

      3.6 算術表達式求值技術

      利用軟件語言編譯器原理,設計常規(guī)數(shù)學計算器,用于對數(shù)據(jù)庫中數(shù)據(jù)道的數(shù)據(jù)進行數(shù)學計算,例如,將以電壓為量綱的雷達高度值轉(zhuǎn)換為以米為量綱的高度值、通過兩個數(shù)據(jù)道的數(shù)據(jù)相減來分析數(shù)據(jù)變化情況等。這不但可以減少功能程序模塊數(shù)量,還可以為數(shù)據(jù)處理分析提供簡便靈和的計算工具,而不是需要什么計算功能就開發(fā)集成什么功能。

      利用數(shù)據(jù)結(jié)構(gòu)中的棧來計算數(shù)學表達式的值[6]。其方法大致為:依次掃描中綴表達式(人們常用的算術表達式,如a=b*c+b*d),根據(jù)操作符的優(yōu)先級來決定其入棧的順序,最后得到表達式的一個后綴表達式。利用后綴表達式(如abc*bd*+=)來求值(圖4)。

      后綴表達式不包含括號,運算符放在兩個運算對象的后面,所有的計算按運算符出現(xiàn)的順序,嚴格從左向右進行求值(不再考慮運算符的優(yōu)先規(guī)則)。運用后綴表達式進行計算的具體方法為:

      建立一個棧S。從左到右讀表達式,如果讀到操作數(shù)就將它壓入棧S中,如果讀到n元運算符(即需要參數(shù)個數(shù)為n的運算符)則取出由棧頂向下的n項按操作數(shù)運算,再將運算的結(jié)果代替原棧頂?shù)膎項,壓入棧S中。如果后綴表達式未讀完,則重復上面過程,最后輸出棧頂?shù)臄?shù)值則為表達式的最終計算結(jié)果。

      圖4 后綴表達式形成過程示意圖

      4 應用實例

      利用本平臺研發(fā)集成了時間域航電數(shù)據(jù)處理軟件系統(tǒng)(圖5)。圖中菜單Preprocess為航電數(shù)據(jù)預處理軟件功能的插件菜單;圖左側(cè)為數(shù)據(jù)項目管理器,顯示了項目所包含的數(shù)據(jù)庫名稱;圖右上為從管理器打開的其中一個數(shù)據(jù)庫的數(shù)據(jù)列表顯示,顯示為數(shù)值的數(shù)據(jù)道為一維數(shù)據(jù)道,顯示為曲線的數(shù)據(jù)道為二維數(shù)據(jù)道;圖右下為列表顯示中的某些數(shù)據(jù)道的剖面圖形顯示(共有三個圖形顯示視窗,數(shù)據(jù)道剖面圖形顯示的視窗可指定);圖上部工具欄中的紅色上/下箭頭可切換顯示數(shù)據(jù)段。數(shù)據(jù)顯示列表中數(shù)據(jù)道名稱為斜體的數(shù)據(jù)道表示采樣主道,其它數(shù)據(jù)道根據(jù)主道的采樣率顯示數(shù)據(jù);列表顯示的數(shù)據(jù)道可定制;數(shù)據(jù)道的剖面圖形顯示可定制;列表中藍色單元格和剖面圖形視窗中的垂直紅色線為聯(lián)動標志。

      利用一個數(shù)據(jù)庫大小為34 GB(單個數(shù)據(jù)道最大數(shù)據(jù)量為2.1 GB)的時間域航電試驗數(shù)據(jù),對平臺進行了功能和性能測試,測試結(jié)果表明該平臺達到了設計目標。

      5 結(jié)束語

      以國家重點研發(fā)計劃項目為依托,在分析時間域航電數(shù)據(jù)特點基礎上,并結(jié)合其他航空物探方法的數(shù)據(jù)特點,綜合考慮平臺的功能和性能需求,設計研發(fā)了擁有自主知識產(chǎn)權的航空物探軟件系統(tǒng)支撐平臺。

      利用該平臺研發(fā)集成了時間域航電數(shù)據(jù)處理軟件系統(tǒng),并進行了功能和性能測試。測試結(jié)果表明,平臺具有顯示和處理大數(shù)據(jù)和多樣數(shù)據(jù)的能力,其運行效率高、擴展性強、易用性好,達到了設計目標。

      該平臺的建設為航空物探方法技術研究提供了一種高效快捷的有力工具,不但保證了軟件長久的生命周期,而且減少了軟件的開發(fā)成本,可作為開發(fā)航空物探或其他具有相似數(shù)據(jù)特點的應用軟件系統(tǒng)的通用支撐平臺。

      圖5 時間域航電數(shù)據(jù)處理軟件系統(tǒng)

      猜你喜歡
      視窗航電插件
      視窗
      工會博覽(2022年33期)2023-01-12 08:53:38
      視窗
      工會博覽(2022年17期)2022-07-15 07:26:14
      自編插件完善App Inventor與樂高機器人通信
      電子制作(2019年22期)2020-01-14 03:16:34
      民用飛機航電系統(tǒng)虛擬教學資源建設
      電子制作(2019年7期)2019-04-25 13:18:30
      視窗
      中國水利(2017年9期)2017-06-07 08:23:27
      某型無人直升機航電艙熱設計優(yōu)化
      航電樞紐清污系統(tǒng)改造
      MapWindowGIS插件機制及應用
      基于Revit MEP的插件制作探討
      株洲航電樞紐增效擴容淺析
      都安| 绥江县| 绥阳县| 始兴县| 德格县| 蒙城县| 平潭县| 天峻县| 利川市| 阜平县| 曲麻莱县| 柏乡县| 宿松县| 沙坪坝区| 沭阳县| 察雅县| 北京市| 宁化县| 南充市| 临西县| 镇平县| 澎湖县| 甘南县| 徐闻县| 潞西市| 敖汉旗| 东台市| 奉贤区| 抚松县| 讷河市| 鱼台县| 洪湖市| 荔浦县| 万源市| 应城市| 广德县| 宜州市| 吴旗县| 梓潼县| 浦东新区| 怀来县|