基于移動GIS的GPS定位導(dǎo)航系統(tǒng)的設(shè)計與實現(xiàn)
摘 要: 剖析了基于移動GIS 的GPS 定位導(dǎo)航系統(tǒng)的關(guān)鍵技術(shù),設(shè)計出基于Smart Client 的系統(tǒng)開發(fā)架構(gòu),通過GPS 中間驅(qū)動(GPS Intermediate Driver)技術(shù)及嵌入式開發(fā)方式,在PDA 電子地圖上實現(xiàn)GPS 的定位與導(dǎo)航。
1 引言
隨著計算機軟、硬件技術(shù)的高速發(fā)展,移動Internet 與GIS 的有機結(jié)合,形成了面向手機等便攜式信息終端的GIS 應(yīng)用方案。與此同時,很多新的技術(shù)比如大容量存儲卡,無線局域網(wǎng),無線通訊,3G 網(wǎng)絡(luò),GPS 全球定位導(dǎo)航系統(tǒng)也漸漸的被集成到智能設(shè)備中,這使得在移動設(shè)備上實現(xiàn)GIS 的功能成為可能。人們通常把用戶(終端設(shè)備)處于移動情況下使用的地理信息系統(tǒng),稱為移動GIS。
近年來,移動GIS 作為地理信息科學(xué)領(lǐng)域研究的熱點問題,引起了很多學(xué)者們的關(guān)注。在理論上,國外學(xué)者提出了動態(tài)、可定制IMA(智能地圖代理)架構(gòu)[3];將電子地圖轉(zhuǎn)換為簡單空間格式的算法;在國內(nèi),李德仁、李清泉等分析了空間信息與移動通信集成的關(guān)鍵技術(shù),提出了集成系統(tǒng)的體系結(jié)構(gòu);劉召芹提出集成數(shù)據(jù)模型,提高了數(shù)據(jù)共享程度[5].在應(yīng)用方面,由美國地理信息與分析中心(NCGIA)發(fā)起的名為Battuta 計劃正處于原型系統(tǒng)建立和區(qū)域試驗的階段,該計劃旨在研究數(shù)據(jù)采集系統(tǒng)中地理數(shù)據(jù)與相關(guān)技術(shù)的整合應(yīng)用; 由愛爾蘭都柏林大學(xué)的A.Rizzinig 和K.
Gardiner 等撰寫的"移動環(huán)境管理GIS 系統(tǒng):魚類棲息地空間信息管理系統(tǒng)設(shè)計",結(jié)合了無線網(wǎng)絡(luò)和移動GIS 實現(xiàn)了環(huán)境空間數(shù)據(jù)的移動管理,為無線網(wǎng)絡(luò)與移動GIS 的結(jié)合提供了原型參考;在國內(nèi),南京大學(xué)的嚴(yán)長清等在"基于GPS-PDA 的土地變更調(diào)查數(shù)據(jù)采集系統(tǒng)集成設(shè)計"中采用PDA 與差分GP S 結(jié)合的方式,使移動GIS 數(shù)據(jù)采集滿足了國土資源行業(yè)的需求;王悅,吳云東等在"基于移動地圖學(xué)的空間信息系統(tǒng)"中分析了移動地圖學(xué)的發(fā)展趨勢,結(jié)合地圖學(xué)與其他學(xué)科交叉的現(xiàn)狀,以地圖學(xué)的觀點指出移動地圖服務(wù)發(fā)展的關(guān)鍵因素。
GPS 作為移動GIS 采集地理信息數(shù)據(jù)的一個主要手段,可以通過GPS 實時獲得點的位置信息,并在此基礎(chǔ)上實現(xiàn)導(dǎo)航的功能。利用GPS 中間驅(qū)動技術(shù)(簡稱GPSID)設(shè)計面向移動GIS 的GPS 定位導(dǎo)航系統(tǒng),通過一個中間層連接開發(fā)端和GPS 模塊,使開發(fā)者無需直接接觸硬件部分,從而降低了開發(fā)者與GPS 串口通訊的難度。通過嵌入式開發(fā),實現(xiàn)智能設(shè)備GPS 的定位導(dǎo)航功能,以滿足移動GIS 數(shù)據(jù)采集的需求。
2 PDA電子地圖的設(shè)計
PDA 電子地圖是指顯示在智能移動設(shè)備上的地理信息數(shù)據(jù)的可視化產(chǎn)品,它能夠根據(jù)用戶不同的需求提供相應(yīng)的信息。PDA 電子地圖不同于傳統(tǒng)紙質(zhì)地圖或電子介質(zhì)地圖。傳統(tǒng)的紙質(zhì)地圖是繪制在硬紙或聚酯薄膜上,單層顯示,內(nèi)容豐富,制作復(fù)雜,更新周期長,且不考慮個人用戶需求;電子介質(zhì)地圖,是通過計算機成圖,采用單層或多層疊加顯示,內(nèi)容詳盡,更新快,有成熟的制作標(biāo)準(zhǔn),可以進(jìn)行復(fù)雜分析操作。
目前,PDA 電子地圖設(shè)計由于諸多的限制條件,無法具備上述兩種地圖的所有功能,PDA 電子地圖設(shè)計的限制主要來源于以下幾個方面:1)屏幕分辨率低;2)顯示屏??;3)屏幕色彩不豐富;4)CPU 處理能力低下;5)野外環(huán)境因素:強光、雨雪、大風(fēng)等的制約;6)移動設(shè)備沒有鼠標(biāo),鍵盤輸入功能也不強大。
因此,PDA 電子地圖的設(shè)計需要綜合考慮上述的限制條件及設(shè)備自身特點。Reichenbacher (2004)提出,PDA 電子地圖的設(shè)計需要滿足以下四個方面:
?。?) 信息內(nèi)容:PDA 電子地圖所承載的信息,并不要求像傳統(tǒng)地圖那樣擁有對地理信息數(shù)據(jù)的全面而細(xì)致描述,但需要所加載的圖層數(shù)據(jù)能夠描述出用戶的需求,完成相應(yīng)的任務(wù)。比如,用戶是某交通部門,相應(yīng)的地圖設(shè)計可以在建筑物或河流方面加以簡化,而突出道路數(shù)據(jù)的展示。對于要突出描述的專題信息,詳盡程度也有要求,專題信息的數(shù)據(jù)質(zhì)量要高,顯示要清晰,精度要達(dá)到用戶需求。
?。?) 用戶界面:PDA 電子地圖的界面要簡單整潔,界面元素盡量少,信息多采用整屏顯示,功能項放在顯示屏下方的任務(wù)欄中,以節(jié)省更多的屏幕空間,用來顯示地圖信息。其次,充分利用鍵盤和觸摸筆編制系統(tǒng)功能快捷鍵,以達(dá)到簡潔實用的目的。
(3) 可視化:在可視化方面,要根據(jù)不同的環(huán)境和不同的設(shè)備,對地圖的設(shè)計加以調(diào)整,地圖標(biāo)記和符號要簡單、明顯,使用的標(biāo)記數(shù)量不宜過多,地圖背景色多以灰色等冷色調(diào)為主,對比度要鮮明,對要素類的填充圖案不易過于復(fù)雜,達(dá)到顯示內(nèi)容清晰,顯示效果良好。
?。?) 技術(shù):技術(shù)上,要充分考慮移動設(shè)備的存儲量、電池電量、CPU 處理能力、顯示屏大小等,通??梢詫DA 電子地圖進(jìn)行分層和空間數(shù)據(jù)精簡處理,將PDA 電子地圖分為基礎(chǔ)圖層和工作圖層?;A(chǔ)圖層作為背景層,多以影像為主;工作層為移動GIS 要操作的圖層,多以矢量數(shù)據(jù)為主。
PDA 電子地圖的設(shè)計,是實現(xiàn)GPS 定位導(dǎo)航和移動GIS 數(shù)據(jù)采集的關(guān)鍵環(huán)節(jié),地圖質(zhì)量的好壞直接關(guān)系到定位導(dǎo)航的精度和數(shù)據(jù)采集的質(zhì)量。實現(xiàn)移動設(shè)備的定位導(dǎo)航系統(tǒng),離不開GPS 模塊,下面將介紹一種開發(fā)基于智能設(shè)備的定位導(dǎo)航系統(tǒng)的新技術(shù)-GPS中間驅(qū)動。
3 GPS中間驅(qū)動(GPS Intermediate Driver)
GPS 中間驅(qū)動(GPS Intermediate Driver),即在開發(fā)人員和GPS 硬件設(shè)備之間建立一個中間層,開發(fā)人員無需直接訪問GPS 硬件,而是通過訪問中間驅(qū)動提供的API 函數(shù),間接與GPS 通訊。GPS 中間驅(qū)動是微軟公司在Windows Mobile 系列5.0 版本之后,提出的一個基于智能設(shè)備的GPS 應(yīng)用程序開發(fā)理念。
GPSID 的提出擁有很高的商業(yè)價值,對于GPS 硬件制造商:GPSID 可以和應(yīng)用程序無縫接合;對于應(yīng)用程序提供商:它可以和任意支持GPSID 的GPS 設(shè)備進(jìn)行整合。
傳統(tǒng)的GPS 開發(fā)方式,多采用編程語言直接操作GPS 硬件部分,進(jìn)行GPS 數(shù)據(jù)文件流工作,完全人為的解析NMEA 數(shù)據(jù),來實現(xiàn)串口通訊;或者使用已經(jīng)成型的移動GIS 軟件的GPS 功能,比如,ESRI 公司的ArcPad、超圖公司的eSuperMap 等。GPS 中間驅(qū)動技術(shù),相對于傳統(tǒng)的開發(fā)方式擁有很多優(yōu)點,比如:
1)開發(fā)速度快、效率高;2)擁有友好的API 接口函數(shù);3)兼容傳統(tǒng)的GPS 數(shù)據(jù)文件流操作;4)可以在PC 端進(jìn)行仿真模擬;5)支持多個應(yīng)用程序同時訪問一個GPS 設(shè)備;6)使解析NMEA-0183 數(shù)據(jù)變得簡單。
GPS 中間驅(qū)動的工作流程如圖1 所示:
圖1 GPS 中間驅(qū)動工作流程。
通過程序語言調(diào)用GPSID 提供的API 函數(shù),完成相應(yīng)的GPS 參數(shù)設(shè)置(端口、波特率)及端口的打開關(guān)閉操作;API 函數(shù)修改操作系統(tǒng)注冊表信息,實現(xiàn)對GPS 硬件的實際訪問,GPS 設(shè)備響應(yīng)訪問信號,完成GPS 數(shù)據(jù)的接收與通訊。目前,GPSID 提供的API 函數(shù)包括以下四種:1)GPSOpenDevice:打開GPS 設(shè)備,建立與GPSID 的通訊;2)GPSCloseDevice:關(guān)閉GPS 設(shè)備;3)GPSGetPosition:獲取當(dāng)前點位信息,包括經(jīng)緯度、高程等;4)GPSGetDeviceState:獲取GPS 設(shè)備狀態(tài)信息,包括接收衛(wèi)星個數(shù)、定位質(zhì)量、時間等。
通過上述四種API 函數(shù),應(yīng)用程序開發(fā)人員可以獲得定位與導(dǎo)航數(shù)據(jù),完成對GPS 設(shè)備的所有操作。
從GPS 設(shè)備中接收的位置數(shù)據(jù),并不能直接的運用到實際的定位與導(dǎo)航之中,其間還存在坐標(biāo)系統(tǒng)的轉(zhuǎn)換問題,下面將探討GPS 數(shù)據(jù)匹配到PDA 電子地圖上的坐標(biāo)轉(zhuǎn)換問題。
4 GPS坐標(biāo)轉(zhuǎn)換
智能設(shè)備GPS 接收的NMEA 格式數(shù)據(jù)為WGS-84 坐標(biāo)系下的大地坐標(biāo),即用經(jīng)緯度高程(B,L,H)表示的坐標(biāo);PDA 電子地圖使用的是國家大地坐標(biāo)系或地方獨立坐標(biāo)系下的直角坐標(biāo),是用(X,Y)表示的平面坐標(biāo)。因此,在不考慮高程參與轉(zhuǎn)換的前提下,通過坐標(biāo)轉(zhuǎn)換實現(xiàn)坐標(biāo)系的統(tǒng)一。
轉(zhuǎn)換過程分為兩步,第一步將WGS-84 橢球下的(B,L)坐標(biāo),通過高斯正算,轉(zhuǎn)換為該橢球下的平面坐標(biāo);第二步將高斯平面坐標(biāo),通過解析變換法,轉(zhuǎn)換為國家大地坐標(biāo)系或地方獨立坐標(biāo)系下的平面坐標(biāo)(X,Y)。
4.1 高斯正算
根據(jù)不同的精度要求可以給出不同的高斯正算公式,下面采用一種適合于計算機編程實現(xiàn)的電算公式,使用1975 國際橢球參數(shù),平面坐標(biāo)精度可達(dá)0.001m。
4.2 平面坐標(biāo)轉(zhuǎn)換
根據(jù)地方的實際情況和需要,將高斯平面坐標(biāo)轉(zhuǎn)換為地方獨立坐標(biāo)系下的平面坐標(biāo)(X,Y),采用四參數(shù)轉(zhuǎn)換模型。使用此模型求解平面坐標(biāo)分為三個步驟,第一步是將WGS-84 平面坐標(biāo)系進(jìn)行旋轉(zhuǎn);第二步將旋轉(zhuǎn)后的WGS-84 平面坐標(biāo)系與地方平面坐標(biāo)系進(jìn)行尺度統(tǒng)一;第三步進(jìn)行平移。
以下為模型的具體形式:
其中: , 通過采集兩坐標(biāo)系下至少三對的公共點數(shù)據(jù),使用最小二乘原理,列出誤差方程,求解出四個轉(zhuǎn)換參數(shù)。有了轉(zhuǎn)換參數(shù),就能夠通過上式,求解出其它點在地方獨立坐標(biāo)系下的平面坐標(biāo)。
5 實例開發(fā)
實例硬件條件為HTC Touch HD 智能手機和內(nèi)置嵌入式GPS 模塊(定位精度10m);坐標(biāo)系為阜新獨立坐標(biāo)系;開發(fā)平臺為Visual Studio.NET(2008),加載ArcGIS Mobile SDK 組件。
系統(tǒng)作為移動GIS 的一部分,采用與移動GIS相同的開發(fā)架構(gòu),即Smart Client(智能客戶端)架構(gòu),架構(gòu)如圖2 所示:
圖2 Smart Client 系統(tǒng)開發(fā)架構(gòu)圖
該模式繼承并結(jié)合C/S、B/S 模式的優(yōu)點,在充分利用客戶端資源的同時支持與服務(wù)器的實時雙向同步。PDA 電子地圖數(shù)據(jù)既可以直接部署在智能設(shè)備的地圖緩存中,也可以通過無線網(wǎng)絡(luò)下載到客戶端存儲卡里。
系統(tǒng)實現(xiàn)的主要功能如圖3 所示,其中地圖管理和地圖操作為通用功能,主要包括放大、縮小、漫游;GPS 設(shè)置和GPS 操作主要包括端口、波特率設(shè)定、GPS 端口的打開和關(guān)閉;衛(wèi)星信息顯示功能,主要包括顯示經(jīng)緯度坐標(biāo)、接收衛(wèi)星數(shù)、衛(wèi)星位置和信號強度。
圖3 系統(tǒng)功能設(shè)計圖。
為了驗證系統(tǒng)的穩(wěn)定性、可行性和數(shù)據(jù)傳輸?shù)目煽啃?,系統(tǒng)實地測試為安裝了本系統(tǒng)的智能手機,加載制作的遼寧工程技術(shù)大學(xué)PDA 電子地圖,測試PDA通過無線網(wǎng)絡(luò)訪問Internet的連通性,開啟GP S端口,從遼寧工程技術(shù)大學(xué)荃蕙路西起點出發(fā),東行到達(dá)街道口,經(jīng)莘銘路、紫蔭路到達(dá)學(xué)校南門。測試所經(jīng)過的路線具有利用GPS 采集地理數(shù)據(jù)和導(dǎo)航的典型代表性。
GPS 中間件技術(shù)通過調(diào)用以下方法設(shè)置端口號和波特率:
圖4 地圖在PDA 端顯示。
圖5 可用衛(wèi)星位置分布。
圖6 GPS 定位。
圖7 GPS 導(dǎo)航。
通過URL(統(tǒng)一資源定位符)和緩存存儲的路徑,來唯一確定地圖數(shù)據(jù)的位置:
通過以下代碼確定坐標(biāo)參考框架,加載端口接收的GPS 數(shù)據(jù),進(jìn)行坐標(biāo)轉(zhuǎn)換:
由以上調(diào)用主要函數(shù)的過程可以看出,GPS 中間件技術(shù)擁有更高的數(shù)據(jù)安全性,具有更強的可視化表達(dá)能力。
6 結(jié)論
使用GPS 中間驅(qū)動技術(shù)能夠簡潔、清晰、高效的開發(fā)出一套性能穩(wěn)定、功能全面的定位導(dǎo)航系統(tǒng)。
系統(tǒng)可以做進(jìn)一步的擴展和定制。當(dāng)系統(tǒng)擴展應(yīng)用到車載導(dǎo)航,系統(tǒng)的服務(wù)對象變更為路面行駛車輛時,就應(yīng)在系統(tǒng)中加入地圖匹配技術(shù)和導(dǎo)航地圖數(shù)據(jù)庫;GPS 的定位導(dǎo)航精度也可以依據(jù)不同行業(yè)的需求加以靈活定制。例如,PDA 或智能手機可以集成差分GPS 模塊,定位精度可達(dá)到分米級。