基于vc++60的天氣雷達產(chǎn)品終端系統(tǒng)_第1頁
基于vc++60的天氣雷達產(chǎn)品終端系統(tǒng)_第2頁
基于vc++60的天氣雷達產(chǎn)品終端系統(tǒng)_第3頁
基于vc++60的天氣雷達產(chǎn)品終端系統(tǒng)_第4頁
基于vc++60的天氣雷達產(chǎn)品終端系統(tǒng)_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

基于vc++60的天氣雷達產(chǎn)品終端系統(tǒng)

0游標、標識聯(lián)動技術風、雨、強閃電、冰、龍等惡劣的天氣條件往往存在于以下幾個方面:缺乏天氣現(xiàn)象,如風、雨、強閃電或強冰。通過對由多普勒天氣雷達獲得的實時降水強度、速度和速度譜寬等信息的處理分析,提高短時預報的及時性和準確性,減少氣象災害。天氣雷達產(chǎn)品終端系統(tǒng)對天氣雷達三維立體掃描獲得的云、雨、風、電等氣象資料,依據(jù)地球環(huán)境大氣中的動力及云雨物理過程的基本規(guī)律設計的各種算法,用近代數(shù)學圖像處理技術,生成了回波強度、速度、譜寬、液水含量、垂直最大回波強度、風切變、暴雨、風暴、中尺度氣旋、冰雹等氣象產(chǎn)品,這些產(chǎn)品均是以數(shù)字圖像的形式顯示。要想看某一空間位置的具體信息,可以使用游標引導進行查看,通常游標引導只能在一個窗口內(nèi)有效。在實際業(yè)務工作中,氣象專家進行天氣過程分析預報時,通常要求同時查看空間某些關鍵位置處上述各種相關氣象產(chǎn)品的具體數(shù)值信息,對這些不同產(chǎn)品的數(shù)據(jù)進行時空綜合分析判斷預測,而這些產(chǎn)品分別顯示在不同的窗口內(nèi),使用中多有不便。鼠標聯(lián)動是指,當某一窗口內(nèi)鼠標進行操作時,其他窗口相應的位置也出現(xiàn)鼠標,并執(zhí)行相應的操作。如果將該技術應用到天氣雷達產(chǎn)品終端進行讀值分析,則當鼠標停在產(chǎn)品窗口內(nèi)某一經(jīng)緯度處并讀出該處的信息值時,其他產(chǎn)品窗口在同樣的經(jīng)緯度也會出現(xiàn)鼠標并讀出該處的信息值。這樣,預報員可以精確地同時看到同一塊空間位置的信息(例如強度、速度、液水含量等等),方便預報員進行分析,指導預報。1系統(tǒng)的開發(fā)特點本產(chǎn)品終端軟件是為某移動式多普勒天氣雷達開發(fā)的二次產(chǎn)品終端系統(tǒng)。該系統(tǒng)基于WindowsNT操作系統(tǒng),開發(fā)工具使用VC++6.0。該系統(tǒng)擁有實時繪畫掃描線、算法豐富準確、操作簡便快捷、危險天氣警報、性能穩(wěn)定可靠等特點。在該套軟件上,實現(xiàn)了鼠標聯(lián)動的技術。2大鼠聯(lián)合設計2.1命令消息的傳遞鼠標聯(lián)動的實現(xiàn)流程總體上采用二級管理的模式,主窗體處于總體調(diào)度的地位,子窗口負責最終的執(zhí)行操作。鼠標聯(lián)動的啟動和關閉以及鼠標的移動,首先發(fā)送給主窗體,主窗體獲得命令消息后,再向各個子窗口分別傳遞命令消息;子窗口獲得命令消息后,進行命令消息的具體的解釋執(zhí)行,例如啟動鼠標聯(lián)動、移動鼠標和信息提示框、關閉鼠標聯(lián)動。具體流程如圖1所示。2.2消息的自定義消息Microsoft推薦自定義消息值至少為WM_USER+100。(1)基于平臺的位置響應#defineWM_MOUSELINKAGEDISPATCHWM_USER+100//向各個子窗口發(fā)送消息該消息由菜單命令和鼠標聯(lián)動啟動后子窗口的OnMouseMove觸發(fā)。(2)添加消息處理偉大事業(yè)ON_MESSAGE(WM_MOUSELINKAGEREC,OnMouseLinkageRec)(3)基于nmo使用不同的工商藥afx_msgLRESULTOnMouseLinkageDispatch(WPARAMwParam,LPARAMlParam)(4)創(chuàng)建標記聯(lián)動LRESULTCMainFrame::OnMouseLinkageDispatch(WPARAMwParam,LPARAMlParam){…return1L;}//參數(shù)說明:wParam為1時,創(chuàng)建鼠標聯(lián)動;wParam為2時,移動鼠標和信息提示框;wParam0為時,取消鼠標聯(lián)動;lParam為指向CPoint的指針,傳遞鼠標聯(lián)動的坐標。//函數(shù)作用遍歷所有的子窗口,向每個子窗口發(fā)送消息,傳遞參數(shù)(wParam,lParam)。(5)在子窗口視圖中定義消息#defineWM_MOUSELINKAGERECWM_USER+101//獲得命令類型和坐標,實現(xiàn)相應的操作。該消息由主窗口的消息函數(shù)OnMouseLinkageDispatch來觸發(fā)的。(6)添加消息處理偉大事業(yè)ON_MESSAGE(WM_MOUSELINKAGEREC,OnMouseLinkageRec)(7)添加消息處理聲明afx_msgLRESULTOnMouseLinkageRec(WPARAMwParam,LPARAMlParam)(8)創(chuàng)建標記聯(lián)動LRESULTC…View::OnMouseLinkageRec(WPARAMwParam,LPARAMlParam){…return1L;}//參數(shù)說明:wParam為1時,創(chuàng)建鼠標聯(lián)動;wParam為2時,移動鼠標和信息提示框;wParam為0時,取消鼠標聯(lián)動;lParam為指向CPoint的指針,傳遞鼠標聯(lián)動的坐標。//函數(shù)作用根據(jù)參數(shù),實現(xiàn)相應的鼠標聯(lián)動操作。2.3標記信息提示框BOOLm_bMouseLinkageWork;//該子窗口是否已經(jīng)聯(lián)動HICONm_hMsIcon;//鼠標指針圖標CStatic*m_pMsStatic;//CStatic控鍵實現(xiàn)鼠標信息提示框intnStaticWidth,nStaticHeight;//鼠標信息提示框的大小intnXCursorTipOff,nYCursorTipOff;//鼠標信息提示框距離鼠標點的水平垂直距離,以右為X正向,下為Y正向CPointm_MsPointOld;//前一次鼠標點的位置CStringGetToolTipText(CPointpoint);//取得point點處的氣象信息(方位角、距離、東經(jīng)、北緯、高度、數(shù)值等)2.4觸發(fā)消息(1)觸發(fā)消息移動鏈接mood有三種方式觸發(fā)WM_MOUSELINKAGEDISPATCH。selintSendMessage(WM_MOUSELINKAGEDISPATCH,(WPARAM)1,(WPARAM)&CPoint(-1,-1))解決標識空間對應問題按照一個像素點一公里的比例,將鼠標點坐標轉(zhuǎn)換到以雷達為中心點的坐標,這樣不論在什么量程的產(chǎn)品上,都可以解決鼠標空間對應問題。AfxGetMainWnd()->SendMessage(WM_MOUSELINKAGEDISPATCH,(WPARAM)2,(LPARAM)&tmpPt)selintSendMessage(WM_MOUSELINKAGEDISPATCH,(WPARAM)0,(WPARAM)&CPoint(-1,-1))(2)mox不同和添加wmmox不同的窗口管理圖當主窗口響應WM_MOUSELINKAGEDISPATCH后,遍歷所有子窗口視圖,發(fā)送消息WM_MOUSELINKAGEREC。pView->SendMessage(WM_MOUSELINKAGEREC,wParam,lParam)pView為遍歷的子窗口視圖指針。2.5標記聯(lián)動生成(1)OnMouseLinkageDispatch(WPARAMwParam,LPARAMlParam)。遍歷所有子窗口視圖,傳遞參數(shù)(wParam,lParam);(2)OnMouseLinkageRec(WPARAMwParam,LPARAMlParam)。響應主窗口觸發(fā)的消息,按照參數(shù)類型的不同執(zhí)行不同的命令。在子窗口中,用變量m_bMouseLinkageWork來判斷是否啟動了鼠標聯(lián)動。具體流程如下:(1)開始;(2)響應消息,傳遞進來兩個參數(shù):命令類型和鼠標點坐標。判斷命令類型:1(啟動鼠標聯(lián)動)繼續(xù)下一步,2(鼠標移動)轉(zhuǎn)(5),0(關閉鼠標聯(lián)動)轉(zhuǎn)(10);(3)該產(chǎn)品是否可以讀值,是則繼續(xù)下一步,否則轉(zhuǎn)(12);(4)創(chuàng)建鼠標圖標和信息提示框,置m_bMouseLinkageWork為TRUE。轉(zhuǎn)(12);(5)如果m_bMouseLinkageWork為TRUE,說明鼠標圖標和信息提示框已經(jīng)創(chuàng)建,繼續(xù)下一步,否則轉(zhuǎn)(12);(6)將鼠標點坐標轉(zhuǎn)換到當前窗口中坐標;(7)該窗口中的鼠標點是否被其他窗口擋住,是則繼續(xù),否則轉(zhuǎn)(9);(8)消隱鼠標圖標和信息提示框。轉(zhuǎn)(12);(9)移動鼠標圖標和信息提示框,刷新信息提示框中的內(nèi)容。轉(zhuǎn)(12);(10)如果m_bMouseLinkageWork為TRUE,說明鼠標圖標和信息提示框已經(jīng)創(chuàng)建,繼續(xù)下一步,否則轉(zhuǎn)(12);(11)釋放鼠標圖標和信息提示框資源,將標識位m_bMouseLinkageWork置為FALSE。轉(zhuǎn)(12);(12)結束。3回波特性分析在為某移動式多普勒天氣雷達開發(fā)的二次產(chǎn)品終端系統(tǒng)上,集成了該鼠標聯(lián)動功能。圖2是2007年7月23日8時在江蘇句容收集的基數(shù)據(jù)處理出的產(chǎn)品。產(chǎn)品分別是0.5度強度PPI、0.5度速度PPI、垂直最大回波強度和雨強這四個產(chǎn)品。通過鼠標聯(lián)動,可以清楚地看出在方位132度、距離雷達14km、東經(jīng)119度20分21秒、北緯32度52分2秒空間處的強度、速度、垂直最大回波和雨強具體值,這樣對分析該強回波的特性可以更加精確化。圖3是2007年6月23日5時在江蘇句容收集的基數(shù)據(jù)處理出的產(chǎn)品。上為仰角0.5度、探測距離為300km的強度圖,下為仰角0.5度、探測距離為150km的強度圖。應用鼠標聯(lián)動,我們可以清晰地看出在方位17度、距離雷達52km、東經(jīng)119度23分25秒、北緯32度24分22秒空間處(揚州附近)在300km探測距離上無回波,而在150km探測距離上回波強度達到20.5dBZ,此處為150km外的回波折疊而形成距離模糊。4多窗口的標準電路和標準圖件一個或在天氣雷達本文創(chuàng)新點:通過將當前窗口的鼠標位置映射到其他窗口,在對應的地

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論