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

基于J2ME的無線網(wǎng)絡應用開發(fā)研究

基于J2ME的無線網(wǎng)絡應用開發(fā)

評論