【正文】
mall, less powerful mobile devices and the system shows twodimensional vector graphics set of development standards, it uses descriptive language text format to describe the graphical content, can be used for map data organization and storage. In reference to the Mobile SVG normative standards, the establishment of a document using SVG for map data organization and storage of the application model。缺點(diǎn)是對(duì)移動(dòng)終端有很高內(nèi)存和計(jì)算性能要求,數(shù)據(jù)更新不及時(shí);C/S 模式通常由客戶端和服務(wù)端兩部分組成,客戶端軟件運(yùn)行于移動(dòng)終端,通過HTTP 協(xié)議或其它網(wǎng)絡(luò)協(xié)議向服務(wù)端發(fā)送請(qǐng)求,服務(wù)器端生成相應(yīng)的柵格圖像后,以字節(jié)流的形式將該圖像數(shù)據(jù)發(fā)回客戶端,客戶端接收到該字節(jié)流后對(duì)其進(jìn)行解析和圖像重構(gòu)并最終呈現(xiàn)給用戶。系統(tǒng)經(jīng)過嚴(yán)格測試結(jié)果表明該系統(tǒng)有較好的可靠性和穩(wěn)定性。JAVA ME技術(shù)在1999年的JavaOne Developer Conference大會(huì)上正式推出,它將Java語言的與平臺(tái)無關(guān)的特性移植到小型電子設(shè)備上,允許移動(dòng)無線設(shè)備之間共享應(yīng)用程序。 因此我們只是列出標(biāo)準(zhǔn),供讀者參考。 (1)CELLIDTA CELLID是小區(qū)全球識(shí)’別碼,每個(gè)蜂窩小區(qū)有一個(gè)惟一的小區(qū)識(shí)別碼。 (2)ULTOA和TDOA 上行到達(dá)時(shí)間TOA定位方法與EOTD較為類似,差別在于ULTOA由基站測量終端數(shù)據(jù)的到達(dá)時(shí)間。 基于移動(dòng)終端的定位技術(shù)該定位技術(shù)的原理是:多個(gè)已知位置的基站發(fā)射信號(hào),所發(fā)射信號(hào)攜帶有與基站位置有關(guān)的特征信息,當(dāng)移動(dòng)終端接收到這些信號(hào)后,確定其與各基站之間的幾何位置關(guān)系,并根據(jù)相關(guān)算法對(duì)其自身位置進(jìn)行定位估算,從而得到自身的位置信息。(2)采用GPS對(duì)移動(dòng)臺(tái)直接定位時(shí),首次定位需要較長的時(shí)間,這對(duì)于緊急救援的業(yè)務(wù)是不允許的。 移動(dòng)GIS的組成結(jié)構(gòu)與傳統(tǒng)GIS相比,移動(dòng)GIS的組成略微復(fù)雜些,因?yàn)樗髮?shí)時(shí)地將空間信息傳輸給服務(wù)器。 移動(dòng)GIS的關(guān)鍵技術(shù)(1)嵌入式技術(shù)移動(dòng)GIS的無線終端是一種嵌入式系統(tǒng),具有代表性的嵌入式無線終端設(shè)備包括:掌上電腦、PDA(個(gè)人數(shù)字助理)和手機(jī)等。利用數(shù)據(jù)庫復(fù)制/緩存技術(shù)或數(shù)據(jù)廣播技術(shù),移動(dòng)用戶即使在斷接的情況下也可以訪問所需的數(shù)據(jù),從而繼續(xù)自己的工作。 藍(lán)牙通信概述藍(lán)牙技術(shù)與時(shí)下流行的WiFi技術(shù)一樣,都是基于無線技術(shù),只是它使用了號(hào)稱ISM(Industrial、Scientific、Medical,工業(yè)的、科學(xué)的、醫(yī)學(xué)的)頻率的波段(),在無線設(shè)備的電氣特性支持下,通過特定的通信協(xié)議棧進(jìn)行通信。搜索到遠(yuǎn)程設(shè)備之后也不知道服務(wù)端可以提供哪些服務(wù),又需要服務(wù)搜索來完成。該應(yīng)用框架為典型的GCF框架。HTTP請(qǐng)求模式常見的有:GET、POST和HEAD。 數(shù)據(jù)存儲(chǔ)技術(shù)本系統(tǒng)中查詢記錄是保存在手機(jī)記錄管理系統(tǒng)(RMS)中,從服務(wù)端接收的地圖文件是先保存在手機(jī)文件系統(tǒng)中,再讀取文件并渲染到地圖界面中。記錄存儲(chǔ)還維護(hù)版本(version),它是一個(gè)整數(shù),修改記錄存儲(chǔ)內(nèi)容的操作每發(fā)生一次,這個(gè)數(shù)加一。XML是Internet環(huán)境中跨平臺(tái)的,依賴于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。 多線程技術(shù) 多線程概念由于在J2ME程序中訪問網(wǎng)絡(luò)時(shí)會(huì)花較長時(shí)間的連接遠(yuǎn)端服務(wù)器發(fā)送請(qǐng)求及接收數(shù)據(jù),為了提高程序的響應(yīng)速度和程序運(yùn)行效率,不致于用戶在單擊按鈕后程序不再響應(yīng)用戶的其它操作,增加用戶界面的友好性易用性,引入了多線程機(jī)制。(3)運(yùn)行:就緒的線程被調(diào)度并獲得CUp的處理邊進(jìn)入了運(yùn)行狀態(tài),每一個(gè)Thread類及其子類的對(duì)象都有一個(gè)重要的run()方法,當(dāng)線程對(duì)象被調(diào)度執(zhí)行的時(shí)候,它將自動(dòng)調(diào)用對(duì)象自身的run()方法,從第一句代碼開始執(zhí)行。針對(duì)方法Java提出同步機(jī)制,由synchronized關(guān)鍵字來實(shí)現(xiàn),主要有兩種用法:synchronized方法(方法同步)和synchronized塊(塊同步)。 (2) 請(qǐng)求處理 對(duì)于到達(dá)服務(wù)器的客戶機(jī)請(qǐng)求,服務(wù)器創(chuàng)建特定于請(qǐng)求的一個(gè)“請(qǐng)求”對(duì)象和一個(gè)“響應(yīng)”對(duì)象。HTTP Servlet 使用一個(gè) HTML 表格來發(fā)送和接收數(shù)據(jù)。 地圖制作軟件——Adobe IllustratorIllustrator是由美國Adobe公司開發(fā)的一款圖形繪制功能強(qiáng)大的平面設(shè)計(jì)軟件。定位服務(wù):現(xiàn)在人們的活動(dòng)中有80%左右都會(huì)跟其自身所處的位置相關(guān),并且定位功能也是GPS導(dǎo)航系統(tǒng)中非常重要的一項(xiàng)功能,如何快速、準(zhǔn)確得到移動(dòng)終端的位置并顯著的在地圖上標(biāo)識(shí)出來是一個(gè)需要仔細(xì)考慮解決的問題。(5)系統(tǒng)幫助:提供該系統(tǒng)的使用幫助信息。利用設(shè)計(jì)模式可方便地重用成功的設(shè)計(jì)和結(jié)構(gòu)。狀態(tài)模式的意圖是讓一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變的時(shí)候,其行為也隨之改變。 GPS數(shù)據(jù)接收及解析設(shè)計(jì)第一種解決方案:通過GPS模塊獲取當(dāng)前設(shè)備經(jīng)緯度數(shù)據(jù)第二種解決方案:通過外置藍(lán)牙GPS信號(hào)接收器獲取當(dāng)前設(shè)備經(jīng)緯度數(shù)據(jù)采用第一種解決方案需要手機(jī)支持JSR179,并且具備GPS模塊才能獲取當(dāng)前設(shè)備經(jīng)緯度數(shù)據(jù),考慮到目前市場上絕大部分手機(jī)都不具備GPS模塊,所以本系統(tǒng)不采用這一方案,采用第二種解決方案,即通過外置藍(lán)牙GPS信號(hào)接收器獲取當(dāng)前設(shè)備經(jīng)緯度數(shù)據(jù)。 文件系統(tǒng)訪問設(shè)計(jì)系統(tǒng)中從服務(wù)器傳送到客戶端的地圖數(shù)據(jù)是先保存到手機(jī)文件系統(tǒng)中,再從文件系統(tǒng)中讀取并渲染到用戶界面上,涉及到文件系統(tǒng)讀取及寫入操作,主要通過寫地圖文件線程和讀地圖文件線程兩個(gè)線程來完成。自1990年起,HTTP就已經(jīng)被應(yīng)用于WWW全球信息服務(wù)系統(tǒng)。按照XML標(biāo)準(zhǔn)制定的置標(biāo)語言和數(shù)據(jù)交換格式已經(jīng)廣為流傳,各種XML處理工具不斷出理,XML正成為Web應(yīng)用環(huán)境下基礎(chǔ)技術(shù)。GPRS流量費(fèi)用的增加:傳輸?shù)臄?shù)據(jù)量過大,則會(huì)增加GPRS流量費(fèi)用,使用戶的支出費(fèi)用增多,會(huì)使用戶對(duì)軟件產(chǎn)生抵觸情緒,從而不再使用該軟件。通過解析GPS導(dǎo)航數(shù)據(jù)后,準(zhǔn)確獲得定位數(shù)據(jù)中的經(jīng)度和緯度,直接利用無線網(wǎng)絡(luò)將數(shù)據(jù)送至后臺(tái)的服務(wù)器,采集點(diǎn)在地圖上的定位可以通過在服務(wù)器端根據(jù)經(jīng)緯度坐標(biāo)重新渲染地圖,然后將其傳回客戶端顯示的方法實(shí)現(xiàn)。 NodeList nodeList = ()。 is = null。amp。 dos = new DataOutputStream(())。在邏輯處理中,根據(jù)出場條件調(diào)用相應(yīng)的釋放資源和初始化處理方法進(jìn)入下一狀態(tài)。 break。 break。 break。 case ABOUT: draw_About(g)。 case MAP: keyPressed_Map(keyCode)。 break。 break。 case HELP: keyReleased_Help(keyCode)。 case CARTOON: keyRepeated_Cartoon(keyCode)。 break。歡迎界面采用Canvas實(shí)現(xiàn),界面下方給出提示信息,提示系統(tǒng)當(dāng)前運(yùn)行狀態(tài)。 } } else if (1 == readGPSDataSign) { if (!()) {// 啟動(dòng)XML線程,發(fā)送請(qǐng)求數(shù)據(jù)包,并接收。 圖62 歡迎界面 圖63 過場動(dòng)畫界面歡迎界面的下一界面是過場動(dòng)畫狀態(tài),界面切換處理關(guān)鍵代碼如下:if (1 == readGPSDataSign) { ()。 break。 case MAP: keyRepeated_Map(keyCode)。 case ABOUT: keyReleased_About(keyCode)。 break。 break。 }// 二級(jí)菜單狀態(tài)按鍵按下處理 switch (secondState) { case SEARCH_AROUND: break。 case EXIT: draw_Exit(g)。 case LOOKUP_HISTORY: draw_LookupHistory(g)。 break。 break。 break。 (data)。amp。(2)服務(wù)端地圖數(shù)據(jù)發(fā)送實(shí)現(xiàn)服務(wù)端根據(jù)解析出來的經(jīng)緯度數(shù)據(jù)選擇對(duì)應(yīng)的地圖并將地圖數(shù)據(jù)發(fā)送給客戶端,服務(wù)端根據(jù)解析出的經(jīng)度緯度信息判斷是落入哪一地圖對(duì)應(yīng)的經(jīng)緯度范圍內(nèi),如果該經(jīng)緯度位于該范圍內(nèi),則讀取該地圖文件數(shù)據(jù)并發(fā)送給客戶端。// 獲得包描述 description = (1).getFirstChild().getNodeValue()。第六章 GPS導(dǎo)航模型實(shí)現(xiàn) 服務(wù)端應(yīng)用程序?qū)崿F(xiàn) 設(shè)計(jì)思路服務(wù)端主要是接收客戶端的請(qǐng)求數(shù)據(jù)包,并解析出請(qǐng)求包的命令字,包描述及屬性,根據(jù)命令字及屬性選擇相應(yīng)的地圖并將地圖數(shù)據(jù)返回給客戶端,由于請(qǐng)求數(shù)據(jù)包數(shù)據(jù)量較小,故采用實(shí)現(xiàn)較簡單的DOM解析技術(shù)解析請(qǐng)求XML數(shù)據(jù)包。有良好的提示功能,保證用戶在出錯(cuò)時(shí)會(huì)知道如何正確操作。 通信流程 圖51 系統(tǒng)通訊流程通訊過程詳細(xì)描述下:客戶端數(shù)據(jù)發(fā)送模塊將請(qǐng)求數(shù)據(jù)包發(fā)送給服務(wù)端數(shù)據(jù)接收模塊(服務(wù)器端Web服務(wù)器下一指定的URL,由Servlet實(shí)現(xiàn))服務(wù)端數(shù)據(jù)接收模塊接收到請(qǐng)求數(shù)據(jù)包,調(diào)用XML數(shù)據(jù)包解析模塊。也就是說不同類型的手機(jī)必須實(shí)現(xiàn)對(duì)HTTP協(xié)議的支持,而其他協(xié)議的實(shí)現(xiàn)都是可選的而不是必需的。 XML包生成、接收及解析功能設(shè)計(jì)服務(wù)端收到客戶端的請(qǐng)求數(shù)據(jù)包后,采用DOM解析技術(shù),得到請(qǐng)求命令字,請(qǐng)求描述及屬性信息后,調(diào)用相應(yīng)的業(yè)務(wù)處理模塊進(jìn)行相應(yīng)的處理,如發(fā)送地圖數(shù)據(jù)等。 藍(lán)牙設(shè)備發(fā)現(xiàn)、連接及數(shù)據(jù)傳送功能設(shè)計(jì)JSR82規(guī)范中定義了藍(lán)牙相關(guān)的API開發(fā)包,可用來進(jìn)行藍(lán)牙設(shè)備的查找和控制數(shù)據(jù)交換等。當(dāng)系統(tǒng)的狀態(tài)變化時(shí),系統(tǒng)便改變所選的子類。設(shè)計(jì)模式幫助設(shè)計(jì)師選擇可使系統(tǒng)重用的設(shè)計(jì)方案,避免選擇危害到可重用性的方案。(1)Web服務(wù)路由模塊主要負(fù)責(zé)接收移動(dòng)客戶端軟件通過HTTP協(xié)議傳送過來的請(qǐng)求數(shù)據(jù)包,并將該請(qǐng)求數(shù)據(jù)包經(jīng)解析后發(fā)送給業(yè)務(wù)處理模塊。第四章 GPS導(dǎo)航模型概要設(shè)計(jì) 功能模塊劃分 圖41 系統(tǒng)功能模塊圖GPS導(dǎo)航模型中軟件共分為兩部分,一部分是運(yùn)行在移動(dòng)終端上的客戶端軟件部分,另一部是運(yùn)行在Web服務(wù)器端的服務(wù)端軟件部分,客戶端和服務(wù)端通過HTTP協(xié)議進(jìn)行數(shù)據(jù)傳輸。通過使用它,用戶不但可以方便地制作出各種形狀復(fù)雜、色彩豐富的圖形和文字效果,還可以在同一版面中實(shí)現(xiàn)圖文混排,甚至可以制作出極具視覺效果的圖表。 HTML 表單是由 FORM 和 /FORM 標(biāo)記定義的。service() 方法從“請(qǐng)求”對(duì)象獲得請(qǐng)求信息、處理該請(qǐng)求并用“響應(yīng)”對(duì)象的方法以將響應(yīng)傳回客戶機(jī)。 Servlet技術(shù) Servlet基本概念Servlet是一種獨(dú)立于平臺(tái)和協(xié)議的服務(wù)器端的Java應(yīng)用程序,可以生成動(dòng)態(tài)的Web頁面。(4)阻塞:一個(gè)正在執(zhí)行的線程如果在某種情況下不能執(zhí)行了,進(jìn)入阻塞狀態(tài),此時(shí)它不能再次進(jìn)入排隊(duì)狀態(tài),只有引起了阻塞的原因消失時(shí),線程才可以繼續(xù)進(jìn)入排隊(duì)狀態(tài)等待CPU處理。多線程是這樣一種機(jī)制,它允許在程序中并發(fā)執(zhí)行多個(gè)指令流,每個(gè)指令流都稱為一個(gè)線程,彼此間互相獨(dú)立。常見的XML解析技術(shù)有以下兩種: DOM解析技術(shù)DOM(Document Object Model,文檔對(duì)象模型)是一種應(yīng)用程序接口(API)的應(yīng)用,它將文檔(如XML文檔,HTML文檔等)看成是一個(gè)文檔對(duì)象,然后通過程序語言(如JavaScript等腳本語言,C++等)調(diào)用該文檔對(duì)象,對(duì)文檔中的數(shù)據(jù)進(jìn)行存取,并利用程序?qū)Λ@取的數(shù)據(jù)進(jìn)行跟進(jìn)一步的處理。記錄存儲(chǔ)中的每個(gè)記錄是一個(gè)字節(jié)數(shù)組,并且有唯一的整數(shù)標(biāo)識(shí)符。 RMSJ2ME 記錄管理系統(tǒng)(RMS)提供了一種機(jī)制,通過這種機(jī)制,MIDlet 能夠持久存儲(chǔ)數(shù)據(jù),并在以后檢索數(shù)據(jù)。HTTP通信可能發(fā)生的狀態(tài)很多,例如常見的40505錯(cuò)誤等。 網(wǎng)絡(luò)通信技術(shù)鑒于系統(tǒng)中客戶端與服務(wù)器之間之間采用超文本傳輸協(xié)議(HTTP),屬于J2ME網(wǎng)絡(luò)通信范疇,在此對(duì)網(wǎng)絡(luò)通信作簡要說明。(2) 藍(lán)牙通信也是基于通用連接框架,但不同的是對(duì)于客戶端而言,需要通過搜索來獲得與服務(wù)端的連接信息。 J2ME平臺(tái)對(duì)藍(lán)牙技術(shù)的支持對(duì)于移動(dòng)設(shè)備,藍(lán)牙功能基本上是當(dāng)前所有手機(jī)的必備功能,有些機(jī)型甚至還配備了藍(lán)牙GPS等專用藍(lán)牙設(shè)備。移動(dòng)數(shù)據(jù)庫技術(shù)的研究主要涉及五個(gè)方面:移動(dòng)數(shù)據(jù)庫復(fù)制/緩存技術(shù)、移動(dòng)查詢技術(shù)、數(shù)據(jù)廣播技術(shù)、移動(dòng)事務(wù)處理技術(shù)、移動(dòng)數(shù)據(jù)庫安全技術(shù)。嵌入式j(luò)ava技術(shù)是移動(dòng)終端中比較常用的一種開發(fā)技術(shù)。 移動(dòng)GIS的特點(diǎn)(1) 移動(dòng)性:運(yùn)行于各種移動(dòng)終端上,與服務(wù)端可通過無線通信進(jìn)行交互實(shí)時(shí)獲取空間數(shù)據(jù),可以隨時(shí)隨地進(jìn)行空間信息服務(wù),也可以脫離服務(wù)器與傳輸介質(zhì)的約束獨(dú)立運(yùn)行,具有移動(dòng)性。利用輔助GPS進(jìn)行定位時(shí),GPS參考網(wǎng)絡(luò)可將輔助的定位信息通過無線通信網(wǎng)絡(luò)傳送給移動(dòng)臺(tái),可減小搜索時(shí)間,使定位時(shí)間降至幾秒鐘,而且輔助的定位信息也為在信號(hào)嚴(yán)重衰落的市區(qū)或室內(nèi)應(yīng)用GPS定位技術(shù)提供了可能。但其致命的缺陷是需要手機(jī)參與定位參數(shù)的測量并進(jìn)行坐標(biāo)位置的計(jì)算,必須對(duì)手機(jī)和網(wǎng)絡(luò)的軟硬件加