基于A(yíng)RM9與WinCE的GPS定位信息采集系統
3.2 完整GPS數據幀的截取
了解了GPS數據處理的四個(gè)狀態(tài)之間的相互轉換,下面論述一個(gè)完整的GPS數據幀的提取和處理,它是獲取車(chē)輛GPS定位數據的關(guān)鍵。一個(gè)完整的GPS數據幀的提取流程如圖4所示。
圖4中,m_strRecDisp為一個(gè)CString變量,用于表示接收數據的字符串,該程序流程中,用到兩個(gè)最重要的函數即:字符(串)查找函數和字符串截取函數。
1)字符(串)查找函數 該函數CString∷Find()用于從一個(gè)已有的字符串當中查找與目標字符(串)相匹配的首次出現的一個(gè)單字符或一個(gè)子字符串。一個(gè)重要的函數原型為:int Find(TCHAR ch,int nStart)const:其中,ch為要查找的目標字符,nStart為開(kāi)始查找位置。
2)字符串截取函數 該函數CString∷Mid()用于截取一個(gè)字符,也可從一個(gè)具體位置開(kāi)始截取一個(gè)子字符串,返回值即為字符或字符串常量。函數原型為:Mid(int nFirst,intnCount)const;其中nFirst為字符串開(kāi)始截取的位置,nCount為截取字符數目。
3.3 GPS數據幀的處理
截取出一個(gè)完整的數據幀后,將數據幀賦值給CString變量data,data再將其字符內容淵源不斷的送給緩沖pBuffer,解壓縮數據幀后,進(jìn)入到如圖5所示的GPS數據幀處理流程。在處理GPS時(shí)間數據時(shí),因為北京位于東八區,UTC時(shí)間與北京時(shí)間相差8 h,得到UTC時(shí)間后,如果要得到標準的北京時(shí)間,應在此時(shí)間的基礎上,加上8 h。
3.4 二維衛星視圖的獲取
衛星視圖的獲取首先要用到站心切平面坐標系。坐標系如圖6所示,站心切平面以P點(diǎn)的法線(xiàn)為Z軸且向上為正,X軸垂直于Z軸并指向北極.Y軸垂直于Z軸并向東為正。
顯然,若衛星P與觀(guān)測點(diǎn)之間的距離為r,E為任意可見(jiàn)衛星P的仰角,B為衛星的方位角,則P的三維坐標為(X,Y,Z)滿(mǎn)足:
評論