隨著移動通信技術(shù)、移動計算技術(shù)的發(fā)展,手機已不再僅僅以移動通話工具而存在,用戶對手機的附加服務(wù)提出了更高的要求,而手機地圖服務(wù)便是這些附加服務(wù)中一項有著廣闊應(yīng)用空間的服務(wù)。
J2ME(Java 2 Plat form Micro Edition,)是為無線電子市場所設(shè)計的又被稱為Java 2 微型版,是Java 2 標準中專門針對小型移動設(shè)備的一個版本。而Mobile SVG 是專門為存儲空間、電池容量和網(wǎng)絡(luò)帶寬有限的移動設(shè)備而設(shè)計的2D 矢量圖形格式,是SVG 的子集。
面向手機的地圖服務(wù)是基于位置的服務(wù)(Location Based Services, LBS)的重要組成部分,是空間信息技術(shù)、移動通信技術(shù)、移動計算技術(shù)等相結(jié)合的產(chǎn)物。作為一種新興的服務(wù),它的特點是移動性、手機的多樣性、客戶端的"極瘦"與服務(wù)器端的"極胖"、有限的帶寬。
在設(shè)計和實現(xiàn)手機地圖服務(wù)時需要對其特點進行充分的考慮。而選擇合適的地圖格式和服務(wù)的實現(xiàn)技術(shù)成為系統(tǒng)構(gòu)建的首要因素。
一、J2ME 技術(shù)的選擇
手機存儲能力有限而且不能像掌上電腦一樣利用Flash 卡存儲信息,因此電子地圖主要通過網(wǎng)絡(luò)下載實時獲取。手機地圖服務(wù)的方式以現(xiàn)有技術(shù)從服務(wù)模式上可分為短信服務(wù)和手機上網(wǎng)服務(wù)兩種。
1. 短信服務(wù)模式
短信服務(wù)模式主要以SMS 以及新近開始應(yīng)用的MMS 為主。SMS(Short Messag ing Service)是一種在移動網(wǎng)絡(luò)上傳輸簡短消息的無線應(yīng)用,是一種有限長度文本在移動網(wǎng)絡(luò)上存儲和轉(zhuǎn)寄的過程。
SMS 使用簡單方便,應(yīng)用非常普及,但在內(nèi)容和應(yīng)用方面存在技術(shù)標準的限制,只能提供文字信息,而且文字的長度有限。對于地圖服務(wù)而言,用簡短的文字信息很難滿足用戶的需求。
MMS(Mult imedia Messag ing Service)以WAP無線應(yīng)用協(xié)議為載體傳送視頻片段、圖片、聲音和文字。MMS 不像WAP 技術(shù)的Browser 方式需要龐大而復雜的網(wǎng)關(guān),實現(xiàn)手段也相對簡單,對客戶端也沒有太高的要求,而且應(yīng)用較為廣泛。但對于手機用戶來說,它只發(fā)送圖形數(shù)據(jù),用戶不能有太多的操作能力。目前MMS 所支持的圖片格式多為柵格格式,放大時會得到模糊、有棱角的圖像,而且柵格格式地圖的數(shù)據(jù)量較大,不利于無線傳輸和移動計算。
隨著MMS 對矢量圖形格式的支持,它將是提供手機地圖服務(wù)的一種較好的方法。
此外,不論是SMS 還是MMS, 其服務(wù)的實現(xiàn)都需要在提供服務(wù)的一端建立相應(yīng)的網(wǎng)關(guān)系統(tǒng)和數(shù)據(jù)發(fā)送接收設(shè)備,加大了服務(wù)實現(xiàn)的難度和系統(tǒng)成本。
2. 手機上網(wǎng)服務(wù)模式
WAP Browser, I-mode, J2ME 等是目前手機上網(wǎng)服務(wù)模式實現(xiàn)的熱點。通過WAP 技術(shù),手機用戶幾乎可以在任何地方、時間獲得網(wǎng)絡(luò)提供的服務(wù)。
然而基于WAP 技術(shù)的Browser 方式訪問Internet存在著一定的缺陷:①不能直接訪問Internet , 需要龐大的Gateway 過濾;②只能顯示W(wǎng)ML, 不能顯示復雜格式圖形;③ 在線交易增加服務(wù)器負荷,速度慢;④ 不能訪問本地存儲區(qū)。
I-MODE(information-mode)是由日本NTTDoCoMo 公司開發(fā)的一種無線通信技術(shù)標準,借助I-MODE 可以實現(xiàn)計算機、PDA 以及其他兼容手機之間的I-MODE 數(shù)據(jù)交換。I-MODE 主要應(yīng)用在日本。
與MMS 相比,J2ME 對手機要求相對高一些。
MMS 適合點對點應(yīng)用以及信息點播服務(wù),J2ME 則以開發(fā)交互式業(yè)務(wù)為主。J2ME 提供了HTTP 高級Internet 協(xié)議,使手機能以Client / Server 方式直接訪問Internet 的全部信息,而且還能訪問本地存儲區(qū),提供最高效率的在線交易,如手機已經(jīng)存有地圖則不必在向服務(wù)器申請地圖數(shù)據(jù),應(yīng)用程序直接訪問存于手機中的數(shù)據(jù)進行計算,有效減少了數(shù)據(jù)傳輸量。此外有越來越多的手機支持J2ME, 有利與服務(wù)的大眾化。J2ME 與WAP Brow ser 方式和MMS 相比較有以下優(yōu)點:①直接訪問Internet 全部信息;②不同的Client 訪問各種各樣的文件;③最高效率的在線交易;④ 訪問本地存儲區(qū),提高效率;⑤客戶端程序可實時下載至本地執(zhí)行。
根據(jù)以上分析,MMS 對手機較低的要求、相對成熟的技術(shù)及廣泛的應(yīng)用,而J2ME 直接訪問In??
ternet 以及高效的本地訪問都為手機地圖服務(wù)提供了較好的方法。本文主要討論基于J2ME 的Client方式訪問Internet 上的地圖服務(wù)器獲取地圖服務(wù)。
二、基于Mobile SVG的地圖圖形數(shù)據(jù)
地理數(shù)據(jù)有著復雜的數(shù)據(jù)結(jié)構(gòu),解決手機地圖服務(wù),首先要解決地理數(shù)據(jù)如何進行組織和編碼。
Mobile SVG 是SVG 的子集,它包括SVG Tiny和SVG Basic.SVG Tiny 適于存儲和計算能力有限的低端設(shè)備,SVG Basic 適于存儲和計算能力限制較小的高端設(shè)備。在手機地圖服務(wù)中應(yīng)用有著其他圖形格式不可比擬的優(yōu)越性。與其他圖形格式相比有以下優(yōu)點: 動態(tài)性與可放縮性、較小的體積、可存儲圖像信息、平臺獨立性、開放的標準。
SVG Tiny 和SVG Basic 都支持標準SVG 中定義的基本圖形。然而移動SVG 是針對移動設(shè)備制定的,它對SVG 又有所精簡,如SVG Tiny 并不支持SVG 中的
考慮到移動SVG 的特點,可以將地物按其幾何形狀分為點狀實體、線狀實體、面狀實體,以及注記體四類并用SVG Tiny 進行組織和編碼。
三、手機地圖服務(wù)的設(shè)計
根據(jù)前面的分析,面向手機的地理信息服務(wù)整體結(jié)構(gòu)采用C/ S 3 層分布式的網(wǎng)絡(luò)模型,分為數(shù)據(jù)層、中間層和表示層,如圖1.
圖1 手機地圖服務(wù)系統(tǒng)結(jié)構(gòu)
數(shù)據(jù)層: 主要是分布在各Web 站點的地圖數(shù)據(jù)庫以及其他信息系統(tǒng)。該層包括存有空間數(shù)據(jù)和屬性數(shù)據(jù)的分布式空間數(shù)據(jù)庫、存有空間信息的文件系統(tǒng)以及其他信息系統(tǒng)。由空間數(shù)據(jù)引擎與中間層連接,負責提供所需的數(shù)據(jù)。
中間層: 中間層負責根據(jù)用戶的需求向數(shù)據(jù)層申請數(shù)據(jù)完成必要的信息處理并與客戶端進行交互。通過手機無線上網(wǎng)獲得地圖的服務(wù),類似與一個客戶端"極瘦"和服務(wù)器端"極胖"的Web GIS.因此可以采用容易集成的Web 服務(wù)技術(shù)對外部提供統(tǒng)一的接口。中間層設(shè)有Web 服務(wù)器和地圖服務(wù)器,Web 服務(wù)器接受客戶端以HTTP 協(xié)議發(fā)出的服務(wù)請求,將這些請求轉(zhuǎn)給地圖服務(wù)器,而地圖服務(wù)器接受請求并根據(jù)相應(yīng)的請求啟動相應(yīng)的數(shù)據(jù)引擎從后端分布式空間數(shù)據(jù)庫以及其他系統(tǒng)中進行檢索,將檢索的結(jié)果處理并壓縮后,將結(jié)果轉(zhuǎn)給Web 服務(wù)器,由Web 服務(wù)器返回給客戶端。
表示層: 主要為各類手機設(shè)備,根據(jù)其存儲和處理能力可分為高端手機和低端手機。
1. 低端手機。
低端手機主要負責實現(xiàn)圖形用戶接口,完成數(shù)據(jù)的表示,簡單的地圖操作如地圖放大、縮小等。低端手機處理和存儲能力有嚴格限制,大部分的計算工作由服務(wù)器承擔,手機只能負責空間數(shù)據(jù)的可視化以及用戶與服務(wù)器的交互界面。為適應(yīng)帶寬的限制,服務(wù)器向低端手機傳輸?shù)腟VG 文件只包含圖形數(shù)據(jù)。當用戶需要服務(wù)時向服務(wù)器申請數(shù)據(jù),服務(wù)器響應(yīng)用戶申請將含移動SVG 格式空間數(shù)據(jù)發(fā)送至客戶端解析后得到可視化的地圖。當用戶需要進行屬性或其他信息查詢以及數(shù)據(jù)處理任務(wù)時,則再次與服務(wù)器交互。
2. 高端手機。
高端手機如PDA 型的手機,處理和存儲能力的限制較小,可以承擔一定的計算工作,而且手機本身可以存儲一定的地圖數(shù)據(jù),可進行地圖操作,和較簡單的查詢。其移動SVG 地圖發(fā)布處理模型如圖2所示。服務(wù)器向手機發(fā)送的數(shù)據(jù)不僅包含圖形數(shù)據(jù),還可以附加有屬性數(shù)據(jù)等其他數(shù)據(jù),便于在客戶端進行計算,減少手機與服務(wù)器交互的次數(shù)。高端手機在得到地圖數(shù)據(jù)后,大部分地圖操作、屬性查詢以及簡單計算任務(wù)都可在本地完成,只是在處理一些較復雜的計算時才向服務(wù)器申請。
圖2 高端手機移動SVG 地圖發(fā)布處理模型
用戶以文本的形式輸入查詢條或根據(jù)手機所處的位置向服務(wù)器申請地圖服務(wù),位于中間層的服務(wù)器解析用戶查詢條件,從后端數(shù)據(jù)庫中檢索用戶需要的專題圖層和比例尺,顯示地圖片段及相關(guān)信息,經(jīng)過處理壓縮后根據(jù)用戶注冊的手機信息由無線通信網(wǎng)返回適合的地圖數(shù)據(jù)至手機終端,再由客戶端程序在手機顯示屏上顯示地圖等信息。
四、系統(tǒng)開發(fā)的關(guān)鍵技術(shù)
1. 圖面信息的簡化
手機地圖服務(wù)不同與有線網(wǎng)絡(luò)的地圖服務(wù),沒有必要提供非常詳細的圖面信息,這也是由手機的特點決定的。
2. 地圖數(shù)據(jù)的壓縮
在手機地圖服務(wù)中,電子地圖較大的數(shù)據(jù)量和手機有限的存儲空間以及無線網(wǎng)絡(luò)有限的帶寬存在矛盾。這就要求在數(shù)據(jù)存儲和傳輸時,相同條件下必須對地圖數(shù)據(jù)進行壓縮?臻g數(shù)據(jù)在誤差范圍內(nèi)可進行有損失的數(shù)據(jù)壓縮。在數(shù)據(jù)傳輸時,再對地圖數(shù)據(jù)進行無損失的數(shù)據(jù)壓縮。雖然采用MobileSVG 對地圖數(shù)據(jù)進行編碼后與位圖比較起來已經(jīng)小了很多,但通過一定的技術(shù)可以對移動SVG 數(shù)據(jù)進一步進行壓縮。和所有XML 數(shù)據(jù)一樣移動SVG數(shù)據(jù)有高度的可壓縮性,使用XMIL 可以以較高的壓縮因子對移動SVG 數(shù)據(jù)進行壓縮。因此在服務(wù)器端和客戶端還必須配置相應(yīng)的壓縮和解壓程序。
3. Mobile SVG在客戶端的解釋
手機向服務(wù)器申請到的地圖數(shù)據(jù)是MobileSVG 格式的矢量數(shù)據(jù),在客戶端實現(xiàn)地圖的顯示就需要對SVG 數(shù)據(jù)的解析,而Mobile SVG 是XML在移動圖形方面的應(yīng)用,它本身是基于XML 的。
因此就涉及到在客戶端如何解釋XML 數(shù)據(jù)的問題。手機上選擇XML 解析器通常要求解析器本身要小、可移植性強、易于編程而且相對速度要快。而作為嵌入式設(shè)備中使用的KXML2 開源解析器是較好的選擇。
4. 基于J2ME 的嵌入式程序設(shè)計
系統(tǒng)運行過程中,用戶和終端系統(tǒng)之間又很強的交互性,這種交互性需要終端系統(tǒng)提供友好的用戶界面。J2ME 擁有豐富的菜單功能,易于用程序?qū)崿F(xiàn)自定義的菜單,并提供事件響應(yīng)機制。而且J2ME 可以通過HTTP Connect ion 接口解析U RL,設(shè)置請求以及解析響應(yīng)就可以方便和服務(wù)器進行通信。同時J2ME 還是一種高度優(yōu)化的Java 運行環(huán)境,采用J2ME 技術(shù)進行開發(fā),可以實現(xiàn)設(shè)備和平臺的無關(guān)性,達到真正的跨平臺和跨設(shè)備。
五、總結(jié)
移動通信技術(shù)和空間信息技術(shù)的進步以及手機的逐漸普及,使得向移動用戶提供地圖服務(wù)成為可能,而向手機提供地圖服務(wù)又是手機附加服務(wù)的熱點之一。本文分析了對手機提供地圖的有關(guān)服務(wù)方式,并采用J2ME 以手機上網(wǎng)的方式獲取地圖,利用Mobile SVG 對地圖數(shù)據(jù)進行組織和編碼,在此基礎(chǔ)上設(shè)計了基于J2ME/ SVG 的手機地圖服務(wù)并對其關(guān)鍵技術(shù)進行討論。希望對服務(wù)的實現(xiàn)有所裨益。