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