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