GPS定位信息提取及應(yīng)用
摘要:描述了GPS與手持終端串口通信的方法,并在WinCE6.0操作系統(tǒng)下提取GPS的定位信息,采用NMEA-0183通信協(xié)議中的RMC數(shù)據(jù)格式進(jìn)行解析。簡述了GIS概念,并介紹了GPS在GIS方面的應(yīng)用。
關(guān)鍵詞:GPS;串口通信;定位;GIS
GPS(Global Position Svstem)即全球定位系統(tǒng),是20世紀(jì)70年代由美國陸??杖娐?lián)合研制的新一代空間衛(wèi)星導(dǎo)航定位系統(tǒng),其主要目的是用來為陸、海、空3大領(lǐng)域提供實(shí)時(shí)、全天候及全球性導(dǎo)航服務(wù),具有高精度和自動(dòng)測(cè)量的特點(diǎn)。利用該系統(tǒng),用戶還能夠進(jìn)行高精度的時(shí)間傳遞和精密定位。隨著GPS的發(fā)展和完善其應(yīng)用層面日益增大,嵌入式GPS的手持終端應(yīng)運(yùn)而生。而今,人們對(duì)生活智能化提出了更高的要求,使其在GIS領(lǐng)域上的應(yīng)用得到了廣泛關(guān)注。例如智慧城市、旅游導(dǎo)航等。用戶可以手持帶有GPS的MID實(shí)時(shí)獲取位置、時(shí)間信息,實(shí)現(xiàn)定位導(dǎo)航功能?;贕PS的特性,文中介紹了GPS定位信息的提取方法,包括與MID串口通信的實(shí)現(xiàn)過程,并對(duì)獲取的數(shù)據(jù)信號(hào)通過相關(guān)的協(xié)議進(jìn)行解析。最后探討了嵌入式GPS在導(dǎo)游中的應(yīng)用。GPS還將在更多領(lǐng)域上得到應(yīng)用,為人們的生活提供更大的方便。服務(wù)人性化、生活智能化將逐步實(shí)現(xiàn)。
1 GPS信號(hào)解析協(xié)議
GPS信號(hào)通過串口以NMEA-0183標(biāo)準(zhǔn)格式輸出,NMEA-0183通信協(xié)議,提供6種數(shù)據(jù)格式,分別是GGA,GLL,GSA,GSV,RMC,VTG。在此主要介紹RMC格式數(shù)據(jù)。
$GPRMC是GPS推薦的最短數(shù)據(jù),其幀結(jié)構(gòu)為:
$GPRMC,<1>.<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>
字段0:$GPRMC,語句ID,表明該語句為Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦最小定位信息。GP為信息來源,RMC為句型識(shí)別符
字段1:UTC時(shí)間,hhmmss.sss格式
字段2:狀態(tài),A=定位,V=未定位
字段3:緯度ddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段4:緯度N(北緯)或S(南緯)
字段5:經(jīng)度dddmm.mmmm,度分格式(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段6:經(jīng)度E(東經(jīng))或W(西經(jīng))
字段7:速度,節(jié),Knots
字段8:方位角,度
字段9:UTC日期,DDMMYY格式
字段10:磁偏角,(000-180)度(前導(dǎo)位數(shù)不足則補(bǔ)0)
字段11:校驗(yàn)值
<CR><LF>:該幀數(shù)據(jù)的結(jié)束標(biāo)識(shí)符
對(duì)接收到的數(shù)據(jù)進(jìn)行解析后即可獲得經(jīng)緯度、速度、時(shí)間等信息,從而實(shí)現(xiàn)GPS定位信息的提取。
2 GPS軟件流程圖
目前MID主要使用Android操作系統(tǒng),然而相比Android系統(tǒng),WinCE操作系統(tǒng)的穩(wěn)定性相對(duì)更高,技術(shù)更加成熟。本文將介紹在WinCE 6.0操作系統(tǒng)下GPS信號(hào)的提取與解析。GPS軟件流程圖如圖1所示。
首先打開串口進(jìn)行串口的初始化,配置串口的參數(shù),根據(jù)硬件配置,默認(rèn)設(shè)置串口為COM4口,比特率為9 600 bit/s,完成所有初始化工作后,啟動(dòng)監(jiān)聽線程,監(jiān)聽串口上所有的輸入數(shù)據(jù),當(dāng)接收到數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行保存,若無數(shù)據(jù),則繼續(xù)監(jiān)聽。系統(tǒng)1 s定時(shí)觸發(fā)事件,若數(shù)據(jù)存在,則對(duì)接收到的數(shù)據(jù)按照NMEA0183協(xié)議解析,從而顯示在用戶界面上。
[!--empirenews.page--]
3 GPS定位信息提取與解析
3.1 GPS讀取MID串口數(shù)據(jù)流程圖
首先創(chuàng)建串口的讀線程,然后進(jìn)行串口的監(jiān)聽,等待指定瀆事件的發(fā)生。如果有可讀數(shù)據(jù)則讀串口,對(duì)接收到的事件進(jìn)行數(shù)據(jù)處理。數(shù)據(jù)讀取流程圖如圖2所示。
3.2 串行端口數(shù)據(jù)通信
1)打開串行端口
通過調(diào)用CreateFile函數(shù)打開串行端口
m_hComm=CreateFile (Port,GENERIC_READ1GENERIC_WRITE,0,0,OPEN_EXISTING,0,0)。這個(gè)函數(shù)的返回值是已打開串行端口的句柄值。
2)串行端口通信配置
串口打開后.需對(duì)串口進(jìn)行配置。用GetCommState函數(shù)獲得當(dāng)前打開的串口參數(shù),然后根據(jù)需要修改DCB的成員變量,用SetCommState函數(shù)來設(shè)置新的串口參數(shù)。
3)設(shè)置狀態(tài)參數(shù)
SetCommMask(m_hComm,EV_RXCHAR);
4)設(shè)置超時(shí)參數(shù)
為防止程序陷入循環(huán)狀態(tài),需要設(shè)置超時(shí)值。
5)讀寫串口通信
fReadState=ReadFiie(m_hComm,data,length,&dwLength,NULL)://從串口讀取數(shù)據(jù)
fWriteState=WriteFile(m_hComm,buf,dwCharToWrite*sizeof(char),&dwBytesWritten,NULL);//向串口寫入數(shù)據(jù)
6)通信結(jié)束關(guān)閉串口
函數(shù)CloseHandle(m_hComm)用來關(guān)閉串口。當(dāng)串口獲取GPS接收機(jī)數(shù)據(jù)信號(hào)后,需要根據(jù)NMEA-0183通信協(xié)議解析GPS數(shù)據(jù),獲取移動(dòng)目標(biāo)當(dāng)前的格林尼治時(shí)間和位置,而我國的標(biāo)準(zhǔn)時(shí)間需在格林尼治時(shí)間上加上8小時(shí)。
GPS使用的坐標(biāo)系為WGS_84坐標(biāo)系,而我國通常使用的是國家坐標(biāo)系,如北京54國家坐標(biāo)系,因此需要進(jìn)行坐標(biāo)轉(zhuǎn)換。GPS在與MID通信過程中可通過串口每秒發(fā)送10條數(shù)據(jù)。實(shí)際應(yīng)用中可根據(jù)需要解析所需定位數(shù)據(jù)。
[!--empirenews.page--]
4 軟件測(cè)試
首先,在開發(fā)平臺(tái)上對(duì)程序進(jìn)行編譯成功后,然后同步到硬件平臺(tái)上,并運(yùn)行該軟件,實(shí)現(xiàn)串口打開,使接收機(jī)處于工作狀態(tài),同時(shí)獲取GPS數(shù)據(jù),最終顯示在數(shù)據(jù)信息框中。
GPS數(shù)據(jù)信息采集程序運(yùn)行如圖3所示。
5 嵌入式GPS在GIS上的應(yīng)用
5.1 GIS簡介
GIS(Geographic Information System)地理信息系統(tǒng)是上世紀(jì)60年代興起的技術(shù),經(jīng)過40余年的發(fā)展,GIS技術(shù)已趨成熟,現(xiàn)在已進(jìn)入推廣和普及應(yīng)用階段。GIS是一項(xiàng)以計(jì)算機(jī)為基礎(chǔ)的新興技術(shù),同繞著這項(xiàng)技術(shù)的研究、開發(fā)和應(yīng)用形 成了一門交叉性、邊緣性的學(xué)科,是管理和研究空間數(shù)據(jù)的技術(shù)系統(tǒng),在計(jì)算機(jī)軟硬件支持下,它可以對(duì)空間數(shù)據(jù)按地理坐標(biāo)或空間位置進(jìn)行各種處理、對(duì)數(shù)據(jù)的有效管理、研究各種空間實(shí)體及相互關(guān)系。通過對(duì)多因素的綜合分析,它可以迅速地獲取滿足應(yīng)用需要的信息,并能以地圖、圖形或數(shù)據(jù)的形式表示處理的結(jié)果。
隨著嵌入式GPS的出現(xiàn),GIS的應(yīng)用領(lǐng)域也得到了新的擴(kuò)展。例如車載導(dǎo)航定位系統(tǒng)的實(shí)現(xiàn),其大大方便了出行者,改善了交通狀況。而隨著城市的快速發(fā)展,我國提出了智慧城市的方案。目前宣布準(zhǔn)備或正在規(guī)劃和計(jì)劃建設(shè)智慧城市的有北京、上海、廣州、南京、沈陽、武漢、合肥、昆明、無錫、昆山、富陽、雙流等。而其中上海在智慧城市的建設(shè)中引領(lǐng)風(fēng)騷。其涉及領(lǐng)域之廣可及智慧安防,醫(yī)療,交通,校園,節(jié)能等。這將成為GIS發(fā)展的新領(lǐng)域。因此,嵌入式GPS在GIS上的應(yīng)用具有很大的發(fā)展前景。
5.2 嵌入式GPS在導(dǎo)游中的應(yīng)用
隨著旅游業(yè)的蓬勃發(fā)展,傳統(tǒng)的導(dǎo)游解說式旅游已經(jīng)不能滿足游客的需求。人們更希望自主游玩兒,而不是跟著導(dǎo)游走馬觀花,然而對(duì)于景區(qū)的陌生常常又會(huì)給游客帶來困擾,不能隨心所欲。此時(shí)GPS定位在GIS上的應(yīng)用即可解決這一問題。以游樂園為例,游客即可進(jìn)行自主游玩。
如圖4所示,游客手持帶有GPS的手持終端進(jìn)入游樂園,當(dāng)游客進(jìn)入一個(gè)區(qū)域時(shí),這里假設(shè)游客進(jìn)入城堡區(qū),通過GPS定位,此時(shí)手持終端將自動(dòng)彈出界面,告知游客處于城堡區(qū),而在城堡區(qū)界面中將設(shè)有幾個(gè)窗口,分別標(biāo)有城堡區(qū)中各城堡的名稱,如白雪公主城堡、灰姑娘城堡、美女與野獸城堡等。用戶挑選自己感興趣的城堡點(diǎn)擊進(jìn)入界面,此時(shí)便可查看相關(guān)城堡圖片,閱讀相關(guān)資訊等。游客便可根據(jù)喜好判斷是否前去游玩兒。
6 結(jié)束語
文中對(duì)GPS定位信息的提取進(jìn)行了介紹。隨著GPS的發(fā)展,嵌入式GPS的手持終端得到了廣泛應(yīng)用。在我國,智慧城市的提出又將帶來嵌入式GPS在GIS領(lǐng)域上新的應(yīng)用,具有美好的發(fā)展前景。