JME城地理信息查詢系統(tǒng)設(shè)計(jì)方案與vbc實(shí)現(xiàn)_第1頁(yè)
JME城地理信息查詢系統(tǒng)設(shè)計(jì)方案與vbc實(shí)現(xiàn)_第2頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、封面文本對(duì)利用 J2ME 網(wǎng)絡(luò) API 接口 javax.microedition.io.HttpConnection 實(shí)現(xiàn)與服務(wù)器進(jìn)行數(shù)據(jù)傳遞,服務(wù)器端利用 Servlet 來(lái)響應(yīng)用戶查詢請(qǐng)求 java 專有類和方法來(lái)進(jìn)行地圖數(shù)據(jù)處理,以及在客戶端顯示、放大、縮小、平移、 色渲染出來(lái)進(jìn)行了研究。關(guān)鍵詞 :J2ME,MapXtreme ,地理信息系統(tǒng),渲染作者: PanHongliang僅供個(gè)人學(xué)習(xí)來(lái)建立 HTTP 連接 ,使用 Mapxtreme for 查詢地點(diǎn)用黃DESIGN AND IMPLEMENTATIONOFURBAN GEOGRAPHICINFORMATIONSYSTEMBAS

2、ED ON J2MEABSTRACTUsing network API interface javax.microedition.io.HttpConnection to set up to connection between theserver and the client and transmit datas. It responds to user queriesrequest with Servlet at server-side.Itprocesses map data by MapXtreme for java.It study how to show enlarge、 redu

3、ce、 translation 、render map.Itdiscusses the problems encountered on development process and the solve.Keywords: J2ME, MapXtreme, geographic information system, rend目錄第一章 緒論 01.1 引言 01.2 城市地理信息查詢系統(tǒng)的應(yīng)用與前景 0第二章 相關(guān)技術(shù)介紹 02.1 什么是 J2ME022 J2ME 的架構(gòu) 02.3 MAPXTREME FOR JAV筒介 12.4 SERVLET技術(shù) 22.5 基于 J2ME 的地理信息服

4、務(wù)系統(tǒng)特點(diǎn)22.5.1基于移動(dòng)互聯(lián)網(wǎng)絡(luò)移動(dòng) 22.5.2移動(dòng)性 22.5.3瘦客戶 22.5.4終端技術(shù)的先進(jìn)性 2第三章 系統(tǒng)分析與設(shè)計(jì) 33.1 需求分析 33.2 系統(tǒng)總體結(jié)構(gòu) 33.2.1 系統(tǒng)總體結(jié)構(gòu)分析33.2.2 服務(wù)器端的分析以HTTP方式發(fā)送請(qǐng)求 43.2.3 客戶端的分析設(shè)計(jì)53.2.4 分析手機(jī)的地理信息服務(wù)系統(tǒng)的難點(diǎn)和相應(yīng)策略5第四章 系統(tǒng)的關(guān)鍵技術(shù)分析與實(shí)現(xiàn) 74.1 用戶界面顯示 74.2 服務(wù)器端的分析 94.2.1地圖數(shù)據(jù)連接 94.2.2實(shí)現(xiàn)地圖縮放 94.2.3空間查詢 錯(cuò)誤!未定義書簽。 第五章 結(jié)論 13 參考文獻(xiàn) 14 致謝 14面的圖表描述了不同的虛

5、擬機(jī)、配置和簡(jiǎn)表之間的關(guān)系。它同時(shí)把J2SE API 和它的 Java 虛第一章 緒論1.1 引言隨著 3G 時(shí)代的到來(lái),無(wú)線通信迅猛發(fā)展,手機(jī)地圖查詢這種新穎的功能將得到快速的發(fā)展。 現(xiàn)在,人們獲得信息的方式正在經(jīng)歷著以位置服務(wù)為主要特征的深刻變革,這就為手機(jī)地圖查詢這 一功能的普及提供了一個(gè)良好的環(huán)境。目前,越來(lái)越多的廠商在Su n,摩托羅拉,西門子和愛立信等公司的技術(shù)主持下,開始開發(fā)基于 J2ME 平臺(tái)的無(wú)線應(yīng)用服務(wù)?;?J2ME 的城市地理信息查詢 系統(tǒng)正是其中極具代表性的服務(wù)工程,目前已經(jīng)有許多網(wǎng)站提供地理信息的查詢,但在嵌入式設(shè)備中提供此項(xiàng)服務(wù)的系統(tǒng)還很少見?;?J2ME 的城

6、市地理信息查詢系統(tǒng)正是面向嵌入式設(shè)備而開發(fā) 的,具有界面友好,功能全面,性能穩(wěn)定,易于擴(kuò)展等特點(diǎn),基本能滿足用戶的地理信息查詢需 求。1.2 城市地理信息查詢系統(tǒng)的應(yīng)用與前景隨著技術(shù)的快速發(fā)展, GIS(地理信息系統(tǒng))已經(jīng)在很多部門和領(lǐng)域得到了廣泛的應(yīng)用,這些領(lǐng) 域包括資源開發(fā)、環(huán)境保護(hù)、城市規(guī)劃建造、土地管理、農(nóng)作物調(diào)查與結(jié)產(chǎn)、交通、能源、通訊、 地圖測(cè)繪、林業(yè)、房地產(chǎn)開發(fā)、自然災(zāi)害的檢測(cè)與評(píng)估、金融、保險(xiǎn)、石油與天然氣、軍事、犯罪 分析、運(yùn)輸與導(dǎo)航、 110 報(bào)警系統(tǒng)公共汽車調(diào)度等方面得到了具體應(yīng)用。與此同時(shí) , 無(wú)線移動(dòng)設(shè)備得到廣泛使用,各大生產(chǎn)廠商加大了對(duì)J2ME 技術(shù)的支持, J2M

7、E 技術(shù)是目前在許多移動(dòng)設(shè)備上受到廣泛支持的一種技術(shù),可以在與臺(tái)式機(jī)相比資源有限的環(huán)境中得到應(yīng) 用,與先前的Symbian 等技術(shù)相比,具有平臺(tái)開放性高,介入門檻低等優(yōu)點(diǎn),因此在此基礎(chǔ)上的無(wú) 線設(shè)備應(yīng)用開發(fā)就更有著廣泛的意義。將傳統(tǒng)的 GIS 技術(shù)和支持移動(dòng)設(shè)備應(yīng)用開發(fā)的 J2ME 技術(shù)進(jìn) 行結(jié)合,構(gòu)造能夠方便快捷的查詢地理信息查詢的系統(tǒng),就顯得更具有應(yīng)用價(jià)值。在 GIS 領(lǐng)域,目前許多公司和科研機(jī)構(gòu)提供了非常好的應(yīng)用解決方案,其中比較成熟的有美國(guó) 的 MapInfo 公司,他們的 Map-Info 系列產(chǎn)品,可以提供從單機(jī)到網(wǎng)絡(luò)的整個(gè)應(yīng)用的開發(fā)接口,比 較完善的產(chǎn)品包括 MapX,MapIn

8、fo 等,這中間的 MapXtreme for Java 產(chǎn)品是完全基于 Java 的開發(fā) 接口,可以提供完整的跨平臺(tái)的基于網(wǎng)絡(luò)的地理信息的查詢和處理。第二章 相關(guān)技術(shù)介紹2.1 什么是 J2MESun Microsystems 將 J2ME 定義為 “一種以廣泛的消費(fèi)性產(chǎn)品為目標(biāo)的高度優(yōu)化的 Java 運(yùn)行時(shí) 環(huán)境,包括尋呼機(jī)、移動(dòng)電話、可視電話、數(shù)字機(jī)頂盒和汽車導(dǎo)航系統(tǒng)。”自從 1999 年 6loperConference 上聲明之后2, J2ME 為小型設(shè)備帶來(lái)了 Java 語(yǔ)言的跨平臺(tái)功能,允許移動(dòng)無(wú)線設(shè)備共 享應(yīng)用程序。有了 J2ME, Sun 已經(jīng)使 Java 平臺(tái)能夠適應(yīng)集成了

9、或基于小型計(jì)算設(shè)備在 Java One Dive 的用戶產(chǎn)品。2.2 J2ME 的架構(gòu)J2ME 使用配置和簡(jiǎn)表定制 Java 運(yùn)行時(shí)環(huán)境(JRE)。作為一個(gè)完整的 JRE,J2ME 由配置和簡(jiǎn)表 組成,配置決定了使用的 JVM ,而簡(jiǎn)表通過(guò)添加特定于域的類來(lái)定義應(yīng)用程序。配置將基本運(yùn)行 時(shí)環(huán)境定義為一組核心類和一個(gè)運(yùn)行在特定類型設(shè)備上的特定JVM 。我們將在 J2ME 配置一章中詳細(xì)討論配置。簡(jiǎn)表定義應(yīng)用程序,特別地,它向 J2ME 配置中添加特定于域的類,定義設(shè)備的某種 作用。擬機(jī)進(jìn)行了比較。雖然 J2SE 虛擬機(jī)通常被稱為一種 JVM ,但是 J2ME 虛擬機(jī)、 KVM 和 CVM 都是

10、JVM 的子集。 KVM 和 CVM 均可被看作是一種 Java 虛擬機(jī) - 它們是 J2SE JVM 的壓縮版,并特定 于 J2ME 。圖 2-1 不同虛擬機(jī)、配置和簡(jiǎn)表之間的關(guān)系2.3 MapXtreme for java 簡(jiǎn)介MapXtreme for Java 版是企業(yè)級(jí)的地圖繪制開發(fā)工具,可實(shí)現(xiàn)數(shù)據(jù)的可視化和地圖繪制,幫助 企業(yè)作出更加出色的決策,并更加有效地進(jìn)行運(yùn)營(yíng)和管理資產(chǎn)。在可管理的服務(wù)器網(wǎng)絡(luò)上實(shí)現(xiàn)應(yīng)用 程序的運(yùn)行,不僅在很大程度上提高了規(guī)模效益,如降低硬件和管理成本,同時(shí)還明顯改善了應(yīng)用 程序性能、可靠性和安全性。使用MapXtreme for Java 構(gòu)建的應(yīng)用程序既可適

11、用于企業(yè)內(nèi)部網(wǎng),也 可適用于公共的因特網(wǎng)。MapXtreme for Java 是一個(gè) 100% 的純 Java 類( Java 2 兼容)集合,借助于這一集合,可將應(yīng) 用程序部署到各種系統(tǒng),無(wú)論是 Windows 、 UNIX 系統(tǒng),還是這兩種系統(tǒng)的混合環(huán)境。MapXtreme 提供了支持多平臺(tái)、高質(zhì)量、高性能的易用解決方案來(lái)滿足各種地圖繪制需求。有 以下優(yōu)點(diǎn):(1)多平臺(tái)支持 出于安全性、可靠性和性能方面的種種原因,諸如電訊和保險(xiǎn)業(yè)等眾多面向最終用戶的行業(yè), 均采用了 UNIX 系統(tǒng);而與此同時(shí),同一企業(yè)中的不同用戶,還有可能使用 Windows 系統(tǒng)。在多 平臺(tái)上部署類似解決方案是常見的

12、需求之一。借助于基于 Java 的地圖繪制應(yīng)用程序,開發(fā)人員編 寫一個(gè)程序,即可在支持虛擬機(jī)的多種平臺(tái)上運(yùn)行。將MapXtreme Java 部署在服務(wù)器端運(yùn)行,即可充分利用現(xiàn)有的 UNIX 或 Windows 資源。開發(fā)人員可以在一個(gè)系統(tǒng)上存儲(chǔ)和控制數(shù)據(jù),同時(shí)通 過(guò)編程從其他運(yùn)行虛擬機(jī)的計(jì)算機(jī)實(shí)現(xiàn)相應(yīng)數(shù)據(jù)的訪問(wèn)。(2)高擴(kuò)展性對(duì)于使用 MapXtreme 創(chuàng)建企業(yè)級(jí)地圖繪制解決方案的組織而言, 所開發(fā)的應(yīng)用程序不僅應(yīng)該 可以良好運(yùn)行,而且還應(yīng)該可以支持需要訪問(wèn)各種應(yīng)用的所有用戶。 MapXtreme 為此采用基于組件 的策略,提供了可靠的多線程解決方案,確保了出色的適應(yīng)性和擴(kuò)展性。借助于此,

13、企業(yè)即可根據(jù) 組織的具體需求來(lái)擴(kuò)展應(yīng)用程序。(3)快速部署借助于 MapXtreme ,用戶可以實(shí)現(xiàn)應(yīng)用程序的快速開發(fā)、安裝和部署。本產(chǎn)品為此提供了用于 快速開發(fā)原型的 Web Application Builder 向?qū)В约罢故?MapXtreme Java 基本概念和知識(shí)的若干示 例應(yīng)用程序。這些示例應(yīng)用程序既可以進(jìn)一步開發(fā)為專用的應(yīng)用程序,也可以作為用戶自行開發(fā)應(yīng) 用程序所依賴的基礎(chǔ)。MapXtremeJava 與所有 J2EE 驗(yàn)證的 Web 服務(wù)器/ 瀏覽器兼容,并且不使用 專屬的插件。使用 MapXtreme Java 可以構(gòu)建兩層和三層 Web 地圖繪制程序,處理源自客戶機(jī)的地

14、圖數(shù)據(jù)請(qǐng) 求。借助于其靈活的可擴(kuò)展體系結(jié)構(gòu),可根據(jù)具體繪圖需要,向客戶機(jī)發(fā)送軟件、控制對(duì)于敏感數(shù) 據(jù)的訪問(wèn)和隨需求的增長(zhǎng)來(lái)擴(kuò)展應(yīng)用程序。程序員尤其可以:? 設(shè)計(jì)只具備所需的特性和信息的定制地圖? 通過(guò)程序創(chuàng)建靜態(tài)和動(dòng)態(tài)對(duì)象? 自定義圖元的外觀、位置和行為? 監(jiān)聽類似用戶鼠標(biāo)點(diǎn)擊的地圖事件,初始化地圖的變更對(duì)于要使用地圖繪制應(yīng)用程序的最終用戶而言,可為其提供工具來(lái)實(shí)現(xiàn):? 縮放和平移,以更改地圖視野? 選擇圖元并繪制搜索區(qū)域? 查詢圖元以獲取更多信息? 創(chuàng)建專題影線表示,例如基于數(shù)據(jù)庫(kù)數(shù)據(jù)的顏色編碼地圖? 控制對(duì)象和標(biāo)注的可見性和樣式2.4 Servlet 技術(shù)Servlet 是使用 Java

15、Servlet 應(yīng)用程序設(shè)計(jì)接口 ( API ) 及相關(guān)類和方法的 Java 程序。 除了 Java Servlet API ,Servlet 還可以使用用以擴(kuò)展和添加到 API 的 Java 類軟件包。 Servlet 在啟用 Java 的 Web 服務(wù)器上或應(yīng)用服務(wù)器上運(yùn)行并擴(kuò)展了該服務(wù)器的能力。 Java servlet 對(duì)于 Web 服務(wù)器就好象 Java applet 對(duì)于 Web 瀏覽器。Servlet 裝入 Web 服務(wù)器并在 Web 服務(wù)器內(nèi)執(zhí)行,而 applet 裝入 Web 瀏覽器并在 Web 瀏覽器內(nèi)執(zhí)行。 JavaServlet API 定義了一個(gè) servlet 和

16、Java 服務(wù)器之間的一個(gè)標(biāo)準(zhǔn) 接口,這使得 Servlets 具有跨服務(wù)器平臺(tái)的特性。我們?cè)谘芯亢驮O(shè)計(jì)支持地圖查詢和顯示系統(tǒng)中間 , 利用 MapXtreme for Java 結(jié)合 Servlet 構(gòu)造一個(gè)地圖應(yīng)用的服務(wù)器 , 利用 J2ME 來(lái)設(shè)計(jì)移動(dòng)設(shè)備端的 應(yīng)用界面和響應(yīng)接口 , 可以實(shí)現(xiàn)從地圖查詢顯示到相關(guān)應(yīng)用的一系列功能。2.5 基于 J2ME 勺地理信息服務(wù)系統(tǒng)特點(diǎn)2.5.1 基于移動(dòng)互聯(lián)網(wǎng)絡(luò)移動(dòng)互聯(lián)網(wǎng)的發(fā)展推動(dòng)網(wǎng)絡(luò)地理信息技術(shù)從PC 機(jī)走向手機(jī)和 PDA 等移動(dòng)設(shè)備?;谝苿?dòng)互聯(lián)網(wǎng)絡(luò)的 Java 手機(jī)的地理信息服務(wù)具有移動(dòng)互聯(lián)網(wǎng)絡(luò)帶寬較小、時(shí)延較大、連接可靠性較低等特性。2.

17、5.2 移動(dòng)性移動(dòng)的互聯(lián)網(wǎng)方便了網(wǎng)絡(luò)用戶在移動(dòng)中,隨時(shí)隨地地獲取所需的GIS 信息和服務(wù)。移動(dòng)地理信息服務(wù)系統(tǒng)具有可以提供給移動(dòng)中的用戶的當(dāng)前位置和方便的查詢自己感興趣的或周圍的地理信息 等功能,移動(dòng)性是傳統(tǒng)的互聯(lián)網(wǎng)絡(luò)所不能比擬的優(yōu)勢(shì)。2.5.3 瘦客戶基于手機(jī)終端的地理信息服務(wù)系統(tǒng)受手機(jī)設(shè)備的特性限制,是客戶端向服務(wù)器端請(qǐng)求地圖圖像,并進(jìn)行顯示,服務(wù)器進(jìn)行空間數(shù)據(jù)的選取和圖像生成的工作。而Java 手機(jī)由于采用了 J2ME 技術(shù),所以允許用戶進(jìn)行一些智能化的處理。普通的Java 手機(jī)由于受存儲(chǔ)器容量、處理器速度等限制,只能進(jìn)行極少量運(yùn)算,因而在普通手機(jī)上開發(fā)基于矢量的地理信息應(yīng)用難度相對(duì)較大

18、。而PDA型的 Java 手機(jī)由于處理器和存儲(chǔ)器及顯示能力方面的限制相對(duì)較小,可以承擔(dān)較多的計(jì)算工作,客 戶端可以請(qǐng)求部分地圖圖形數(shù)據(jù),解讀這些數(shù)據(jù),執(zhí)行地圖的生成和顯示的工作,并執(zhí)行一些簡(jiǎn)單 的查詢。這種情況下,客戶端由于是矢量格式的圖形,故可以在數(shù)據(jù)允許的范圍內(nèi),執(zhí)行某些基于 矢量的地圖操作。如新太集團(tuán)移動(dòng)終端產(chǎn)品事業(yè)部推出的面向 Motorola A6288 、 388 廣深指南,其客 戶端就采用了基于矢量格式的地圖。2.5.4 終端技術(shù)的先進(jìn)性采用 J2ME 技術(shù)作為客戶端技術(shù)有很多優(yōu)點(diǎn)。首先,J2ME 軍決方案具有”智能化”的特點(diǎn),這種智能化特點(diǎn)能辨認(rèn)出用戶訪問(wèn)的信息是本地的還是 I

19、nternet 上的。如果是在本地,則將存儲(chǔ)區(qū) 域中的信息調(diào)出來(lái)供用戶瀏覽;若是 Internet 上的,則將所需要的信息或程序下載到存儲(chǔ)區(qū)。其 次,從用戶操作的角度講,J2ME 能提供更多更靈活的交互方式。在 J2ME 平臺(tái)支持下,手機(jī)可以生 成并顯示基于矢量的圖形,并且可以提供給用戶基于矢量的圖形操作。再次,從顯示效果來(lái)看,通過(guò)使用 J2ME 技術(shù),用戶將不再被限制在 WA 設(shè)備的有限的單色接口,而是可以很容易地享受到豐富多彩的生動(dòng)的圖像和應(yīng)用。此外,J2ME 還可以提供離線的服務(wù)。第三章 系統(tǒng)分析與設(shè)計(jì)3.1 需求分析與以往人們需要購(gòu)買紙質(zhì)地圖產(chǎn)品不同,現(xiàn)在人們并不需要直接購(gòu)買地圖產(chǎn)品,

20、而是通過(guò)購(gòu)買 汽車、手機(jī)或上網(wǎng)等途徑使用電子地圖產(chǎn)品。隨著手機(jī)的日益普及,無(wú)線通信的多樣化服務(wù)越來(lái)越 接近普通消費(fèi)者,而基于J2ME 的城市地理信息查詢系統(tǒng)正是其中極具代表性的服務(wù)工程,目前已 經(jīng)有許多網(wǎng)站提供地理信息的查詢,但在嵌入式設(shè)備中提供此項(xiàng)服務(wù)的系統(tǒng)還很少見,J2ME 城市地理信息查詢系統(tǒng)正是面向嵌入式設(shè)備而開發(fā)的,具有界面友好,功能全面,性能穩(wěn)定,易于擴(kuò)展 等特點(diǎn),依托專業(yè)的地圖服務(wù)器 MapXtreme 的支持,基本能滿足用戶的地理信息查詢需求。打開手機(jī),就能看到自己在地圖中的確切位置,無(wú)論走到哪里都不存在迷路的問(wèn)題了。通過(guò)手 機(jī)地圖,迅速查找離自己最近的車站、飯店、旅館等信息,

21、對(duì)于駕車用戶,可以方便分析自己的駕 車路線,如果第三方軟件通過(guò) Google 地圖開發(fā)交通道路塞車信息等服務(wù),那么對(duì)于大城市的駕車者 來(lái)說(shuō),可以為此節(jié)省大量時(shí)間,我想即使是付費(fèi)服務(wù),也有很多人愿意掏錢購(gòu)買這么有用的服務(wù) 的,畢竟中國(guó)的手機(jī)用戶遠(yuǎn)遠(yuǎn)高于上網(wǎng)用戶。所以上我覺(jué)得開發(fā)基于J2ME 的城市地理信息系統(tǒng)非常有必要,也很有前景,必定會(huì)受到手機(jī)用戶的喜愛。3.2 系統(tǒng)總體結(jié)構(gòu)在研究和設(shè)計(jì)支持地圖查詢和顯示系統(tǒng)中間,利用 MapXtreme for Java 結(jié)合 Servlet 構(gòu)造一個(gè)地 圖應(yīng)用的服務(wù)器,利用 J2ME 來(lái)設(shè)計(jì)移動(dòng)設(shè)備端的應(yīng)用界面和響應(yīng)接口,可以實(shí)現(xiàn)從地圖查詢顯示 到相關(guān)應(yīng)用

22、的一系列功能。3.2.1 系統(tǒng)總體結(jié)構(gòu)采用 MapXtreme for Java 作為地圖服務(wù)器端,用于對(duì)地理數(shù)據(jù)進(jìn)行查詢和處理,并結(jié)合Servlet技術(shù)對(duì)客戶端的請(qǐng)求進(jìn)行響應(yīng),這樣可以很好的結(jié)合MapXtreme 地理信息處理和 Servlet 的多線程處理能力。系統(tǒng)客戶端使用 J2ME 標(biāo)準(zhǔn) API 和 MIDP 類庫(kù),因此具有很好的通用性,當(dāng)用戶使用地 點(diǎn)查詢功能時(shí),系統(tǒng)提示用戶輸入要查詢的地名,從服務(wù)器上返回地圖圖片數(shù)據(jù),在客戶端顯示。 系統(tǒng)總體結(jié)構(gòu)分析圖如圖3-1 所示。圖 3-1 系統(tǒng)總體結(jié)構(gòu)分析圖 在系統(tǒng)中間沒(méi)有考慮無(wú)線網(wǎng)絡(luò)與客戶端以及與服務(wù)器端的網(wǎng)關(guān),系統(tǒng)環(huán)境中要求無(wú)線網(wǎng)絡(luò)和支

23、 持 HTTP 協(xié)議, Web 服務(wù)器通過(guò) HTTP 流接受從客戶端發(fā)送過(guò)來(lái)的請(qǐng)求和發(fā)送處理的結(jié)果,地圖服 務(wù)響應(yīng)處理模塊則是系統(tǒng)的核心部分,專門負(fù)責(zé)對(duì)地圖數(shù)據(jù)的實(shí)際處理和返回。地圖數(shù)據(jù)采用了 MapInfo 的 Tab 表格式,這些文件劃分為概念類似于工作空間的geoset (擴(kuò)展名為.gst) 組。 例如, 數(shù)據(jù)中有一個(gè) world.tab 文件和一個(gè) world.gst 文件。 geoset World.gst 是一種元 數(shù) 據(jù) 文 件 ,用 于 說(shuō) 明 一 個(gè) 包 括 world.tab 和 其 他 文 件 的 .tab 文 件 集 合 。 用 myMap.loadGeoset(geo

24、setName,dataDir, servletURL) 。來(lái)進(jìn)行加載,其中 geosetName 是到 geoset 的 完整路徑, dataDir 是 geoset 中引用的 .tab 文件在服務(wù)器計(jì)算機(jī)上的位置(可能和 MapXtremeServlet 不在相同的計(jì)算機(jī)), servletURL 是 MapJ 使用遠(yuǎn)程 DataProviderRef 時(shí)到 MapXtremeServlet 的路徑 (如果使用 LocalDataProviderRef ,參數(shù)為空)。MapXtreme Java 還提供了采用.mdf 格式的數(shù)據(jù)集?;?XML 的地圖定義是說(shuō)明地圖圖元和設(shè) 置的文本文件,

25、打破 geosets 的限制條件,所以建議使用地圖定義。那么如何來(lái)加載地圖定義呢?要顯示現(xiàn)有地圖定義,可執(zhí) 行以下操作:myMap.loadMapDefi nitio n(m_fileToLoad)。其中 m_fileToLoad為地圖文件所放置的絕對(duì)地址。客戶端主要提供用戶查詢的輸入接口和與服務(wù)器端連接的接口,并且在手機(jī)上顯示查詢結(jié)構(gòu)(查詢后的地圖),同時(shí)還具有對(duì)地圖進(jìn)行放大,縮小和移動(dòng)的功能。服務(wù)器主要以HTTP 方式接收客戶端請(qǐng)求,并根據(jù)請(qǐng)求將地圖數(shù)據(jù)以數(shù)據(jù)流傳輸?shù)姆绞椒祷亟o客戶端。系統(tǒng)結(jié)構(gòu)框圖如圖3-2圖 3-2 系統(tǒng)結(jié)構(gòu)框圖3.2.2 服務(wù)器端的分析由于客戶端是與服務(wù)器端的Servl

26、et 進(jìn)行通信,服務(wù)器端主要是如何配合客戶端的功能設(shè)計(jì)。Servlet 的核心內(nèi)容就是要對(duì)客戶端發(fā)來(lái)的請(qǐng)求進(jìn)行處理,然后將處理結(jié)果寫入響應(yīng)中發(fā)送到客戶端。servlet 有良好的生存期的定義,包括如何加載、實(shí)例化、初始化、處理客戶端請(qǐng)求以及如何被 移除。這個(gè)生存期由javax.servlet.Servlet 接口的 init,service 和 destroy 方法表達(dá)。(1)加載和實(shí)例化容器負(fù)責(zé)加載和實(shí)例化一個(gè)servlet。實(shí)例化和加載可以發(fā)生在引擎啟動(dòng)的時(shí)候,也可以推遲到容器需要該 servlet 為客戶請(qǐng)求服務(wù)的時(shí)候。首先容器必須先定位servlet 類,在必要的情況下,容器使用通常的

27、Java 類加載工具加載該servlet,可能是從本機(jī)文件系統(tǒng),也可以是從遠(yuǎn)程文件系統(tǒng)甚至其它的網(wǎng)絡(luò)服務(wù),可以通過(guò)JavaWeb 服務(wù)器的 HTTP Web 服務(wù)的 servlet 控制頁(yè)面來(lái)控制。容器加載servlet 類以后,它會(huì)實(shí)例化該類的一個(gè)實(shí)例。需要注意的是可能會(huì)實(shí)例化多個(gè)實(shí)例,例如一個(gè)servlet 類因?yàn)橛胁煌某跏紖?shù)而有多個(gè)定義。servlet 只加載一次,servlet 的多個(gè)線程將處理客戶的多個(gè)請(qǐng)求。(2)初始化servlet 加載并實(shí)例化后,容器必須在它能夠處理客戶端請(qǐng)求前初始化它。初始化的過(guò)程主要是 讀取永久的配置信息,昂貴資源(例如 JDBC 連接)以及其它僅僅需要

28、執(zhí)行一次的任務(wù)。通過(guò)調(diào)用 它的 in it 方法并給它傳遞唯一的一個(gè)(每個(gè) servlet 定義一個(gè))ServletCo nfig 對(duì)象完成這個(gè)過(guò)程。給 它傳遞的這個(gè)配置對(duì)象允許servlet 訪問(wèn)容器的配置信息中的名稱值對(duì)(name-value)初始化參數(shù)。這個(gè)配置對(duì)象同時(shí)給servlet 提供了訪問(wèn)實(shí)現(xiàn)了ServletContext 接口的具體對(duì)象的方法,該對(duì)象描述了 servlet 的運(yùn)行環(huán)境。在 servlet 被適當(dāng)?shù)爻跏蓟?,容器就可以使用它去處理?qǐng)求了。每一個(gè)請(qǐng)求由 型的對(duì)象代表,而 servlet 使用 ServletResponse 回應(yīng)該請(qǐng)求。這些對(duì)象被作為 遞給servl

29、et 。在 HTTP 請(qǐng)求的情況下,容器必須提供代表請(qǐng)求和回應(yīng)的HttpServletResponse 的具體實(shí)現(xiàn)。需要注意的是容器可能會(huì)創(chuàng)建一個(gè) servlet 實(shí)例并將之放入等待服 務(wù)的狀態(tài),但是這個(gè)實(shí)例在它的生存期中可能根本沒(méi)有處理過(guò)任何請(qǐng)求。(4) 服務(wù)結(jié)束 容器沒(méi)有被要求將一個(gè)加載的 servlet 保存多長(zhǎng)時(shí)間,因此一個(gè) servlet 實(shí)例可能只在容器中存活了幾毫秒,當(dāng)然也可能是其它更長(zhǎng)的任意時(shí)間(但是肯定會(huì)短于容器的生存期)當(dāng)容器決定將之 移除時(shí)(原因可能是保存內(nèi)存資源或者自己被關(guān)閉),那么它必須允許 servlet 釋放它正在使用的任 何資源并保存任何永久狀態(tài)(這個(gè)過(guò)程通過(guò)調(diào)

30、用 destroy 方法達(dá)到)。容器在能夠調(diào)用 destroy 方法 前,它必須允許那些正在 service 方法中執(zhí)行的線程執(zhí)行完或者在服務(wù)器定義的一段時(shí)間內(nèi)執(zhí)行(這個(gè)時(shí)間段在容器調(diào)用 destroy 之前)。一旦 destroy 方法被調(diào)用,容器就不會(huì)再向該實(shí)例發(fā)送任 何請(qǐng)求。如果容器需要再使用該servlet,它必須創(chuàng)建新的實(shí)例。destroy 方法完成后,容器必須釋放servlet 實(shí)例以便它能夠被垃圾回收。本系統(tǒng)的 Servlet 運(yùn)行在 MapXtreme for java 服務(wù)器中 , 具體實(shí)現(xiàn)以下功能(1)連接地圖數(shù)據(jù)。(2) 生成相應(yīng)的地圖圖片。(3) 發(fā)送到客戶端。3.2.

31、3客戶端的分析設(shè)計(jì)本系統(tǒng)的主要功能是要在服務(wù)器端完成的??蛻舳酥饕谟谔峁┙o用戶一個(gè)操作界面, 而這一點(diǎn)是與移動(dòng)設(shè)備的特點(diǎn)相關(guān)的,移動(dòng)設(shè)備的處理能力、資源有限, 所以需要盡量將計(jì)算處理集中于服務(wù)器端完成,減小客戶端的負(fù)擔(dān)、提高效率。而要集中于服務(wù)器端完成的首要條件就是必須能與 服務(wù)器通信,J2ME 技術(shù)中 MIDP 網(wǎng)絡(luò)庫(kù)中是以 HTTP 作為網(wǎng)絡(luò)協(xié)議的,這使得 MIDP 設(shè)備實(shí)現(xiàn)網(wǎng) 絡(luò)接口變得非常簡(jiǎn)單??蛻舳斯δ軐?shí)現(xiàn)具體分為以下幾個(gè)模塊:(1) 發(fā)送用戶選擇的城市、地點(diǎn)類型、輸入的地名信息等到服務(wù)器;(2) 接受服務(wù)器端返回的地圖數(shù)據(jù);(3) 選用合適的方法顯示地圖。3.2.4 地理信息服務(wù)

32、系統(tǒng)的難點(diǎn)和相應(yīng)策略(1) 手機(jī)存儲(chǔ)器和海量的數(shù)據(jù)之間的尖銳沖突。雖然現(xiàn)在很多手機(jī)都有了好幾個(gè) G 的存儲(chǔ)容量,但是,我們必須要考慮到現(xiàn)在還是有很多的用 戶的手機(jī)沒(méi)有存儲(chǔ)卡的。為了克服這個(gè)限制,我們必須采用比較合理的數(shù)據(jù)結(jié)構(gòu),對(duì)數(shù)據(jù)進(jìn)行縱向 分層、橫向分塊、多次請(qǐng)求等策略,以減少一次請(qǐng)求傳到手機(jī)終端的數(shù)據(jù)量。(2) 手機(jī)處理器處理速度比較慢。相對(duì)于電腦來(lái)說(shuō),那手機(jī)的處理速度實(shí)在是沒(méi)法比擬的。所以在開發(fā)針對(duì)手機(jī)設(shè)備的GIS 應(yīng)用系統(tǒng)時(shí)數(shù)據(jù)的輸入、解讀、地圖的生成和顯示等都會(huì)比較慢,因而我們要盡可能地減少手機(jī)處理器 的負(fù)擔(dān),盡可能將大量的計(jì)算工作放在服務(wù)器端。(3) 連接無(wú)線網(wǎng)絡(luò)時(shí)延時(shí)比較大,網(wǎng)絡(luò)

33、傳輸速度比較慢。當(dāng)前 GSM 移動(dòng)通信網(wǎng)的傳輸速度是每秒 9.6 千比特,GPRS 移動(dòng)通信網(wǎng)的傳輸速度理論上可達(dá) 每秒 171.4千比特,實(shí)際上 GPRS 的數(shù)據(jù)傳輸速率每秒只有 20-30 左右。這時(shí)我們就必須盡可能的 減少客戶和服務(wù)器的交互,減少每一次傳輸?shù)绞謾C(jī)設(shè)備的數(shù)據(jù)量,并且充分利用客戶端已有的數(shù) 據(jù)。3)處理請(qǐng)ServletRequest 類service 方法的參數(shù)傳HttpServletRequest 和第四章系統(tǒng)的關(guān)鍵技術(shù)的實(shí)現(xiàn)4.1 用戶界面顯示用戶界面的顯示,借助菜單,按鈕等標(biāo)準(zhǔn)元素幫助用戶方便地對(duì)手機(jī)進(jìn)行操作,并將 結(jié)果以圖形的方式顯示給用戶。手機(jī)屬于 CLDC 規(guī)格,

34、而在 CLDC 中本事并沒(méi)有包含任何的用戶界面包,這些包被定義在 MIDP 中。在 MIDP 中,使用 java.microeditio n.lcdui 包來(lái)獲得界面對(duì)象。在java.microediti on .Icdui 包里面的界面對(duì)象是由及 Canvas 兩類,而 Screen 是高級(jí)屏幕對(duì)象,MSDP GUI 的核心是 Screen,而每個(gè)Display 對(duì)象,它管理這屏幕的顯示。當(dāng)調(diào)用Displayable 繼承而來(lái)的,其中有分為ScreenCa nvas 是低級(jí)屏幕對(duì)象。MIDP 的應(yīng)用程序(MIDIet )會(huì)于唯一的一個(gè)Display 對(duì)象的 setCurrent ()函數(shù)時(shí)候

35、,屏幕就被顯示。地圖的顯示,調(diào)用了MIDIet 中的 Display.getDisplay(this)方法和 Display 對(duì)象中的 setCurrent ( Display d )函數(shù)來(lái)顯示主界面對(duì)象。做移動(dòng) GIS 并使用 J2ME+MapxTreme 模式那么其中一個(gè)問(wèn)題很讓人頭痛,那就是如何將 MapxTreme 渲染出來(lái)的 Image 返回給客戶端。J2ME 接收數(shù)據(jù)的時(shí)候是將 InputStream 轉(zhuǎn)換成 Byte 然后再進(jìn)行處理的??梢詫apXtremeRender 出來(lái)的圖片現(xiàn)保存到硬盤然后通過(guò)InputStream iStrm = new FileInputStream

36、(curpath+*.gif)。方法將其轉(zhuǎn)化為 InputStream 然 后再轉(zhuǎn)化為 Byte, imageData = baos.toByteArray()。,把得到的數(shù)據(jù)流轉(zhuǎn)化為 Byte,然后再 渲染出來(lái)。手機(jī)客戶端與后臺(tái) MapXtreme 服務(wù)器通過(guò)網(wǎng)絡(luò)通信程序進(jìn)行數(shù)據(jù)傳輸。在J2ME 中有javax.micrioeditio n.io 包,在該包中提供了Conn ection 框架,由一組接口構(gòu)成,包括了Conn ection 接口及子接口。在CLDC 中定義了 7 個(gè)接口,其中包括 Co nten tCo nn ection,在MIDP 增加了一個(gè) HttpConnection

37、 接口。Connector 類可以用來(lái)進(jìn)行網(wǎng)絡(luò)等各方面的輸入及 輸出,有用的都是Connector 的 open ()函數(shù)。同時(shí)用 HttpConnection 接口建立 HTTP 連接,實(shí)現(xiàn)網(wǎng)絡(luò)的連接。在 J2ME 中有 2 種實(shí)現(xiàn)線程的方法,可以是java.lang.Runnable 以及 java.lang.Thread 的方式,這里采用了后者,java.lang.Thread 類表示一個(gè)線程類,它定義了設(shè)置和查詢線程屬性的函數(shù)和啟動(dòng)線程運(yùn)行的run ()函數(shù)。從服務(wù)器端獲得數(shù)據(jù)一般是先給定一個(gè)URL 地址以打開與服務(wù)器的連接,然后從中打開數(shù)據(jù)流,最后從中讀取數(shù)據(jù)。主要用到了Connec

38、tor 類和 HttpConnection 接口。在向服務(wù)器提交數(shù)據(jù)時(shí)有兩種方法:Get 和 Post。HttpConnection c = null ;System.out.print(url)。Stri ngBuffer strbuf = new Stri ngBuffer()。ByteArrayOutputStream baos = new ByteArrayOutputStream()。/保存讀入的圖片數(shù)據(jù) Data InputStream dis = null。byte imageData = null。try/打開對(duì)象 c = (HttpConnection)Connector.o

39、pen(url)。/System.out.println(url)。/客戶端名稱c.setRequestProperty(User-Age nt, Profile/MIDP-2.0)。/可以接受的 MIME 類型c.setRequestProperty(Accept, text/html,*/*)。int len = (int)c.getLength()。dis = c.openDatalnputStream()。打開輸入流System.out.println(len)。/如果取得了長(zhǎng)度則讀入全部的數(shù)據(jù)if(le n0)byte data = new bytelen。dis.readFully

40、(data)。for(int i = 0。idata.length。i+)/strbuf.append(char)datai)。baos.write(datai)。else /否則逐個(gè)逐個(gè)字節(jié)讀入int ch。while(ch=dis.read()!=-1)/strbuf.append(char)ch)。baos.write(ch)。catch(Excepti on e)System.out.println(Error3+e)。finally/把不要用到的變量置空msg.setText(strbuf.toString()。strbuf = null。if(dis!=null)dis.close

41、()。if(c!=null)c.close()。f.setTitle(null)。imageData = baos.toByteArray()。將 Image 轉(zhuǎn)化為 Byte 類型try/使用 createImage 方法創(chuàng)建 Image,數(shù)據(jù)信息已經(jīng)在imageData 數(shù)組中image = image.createImage(imageData,0,imageData.length)。if(image =null)/ 如果 image 為 null 提示出錯(cuò)了Alert alert=new Alert(ERROR,NOT FOUND, null, null) 。alert.setTime

42、out(2000)。alert.setType(AlertType.ERROR)。catch(NullPoi nterException e)System.out.pri ntln (NullPoi nterExceptio n)。/f.append(image)。xianshi()。渲染地圖下面圖 4-1 為渲染地圖的結(jié)果。圖 4-1 地圖渲染4.2 服務(wù)器端的功能實(shí)現(xiàn)服務(wù)器端可以具體分為:連接地圖數(shù)據(jù)、接受客戶端的請(qǐng)求、生成地圖圖片數(shù)據(jù)、發(fā) 送數(shù)據(jù)等幾個(gè)核心的流程。4.2.1 地圖數(shù)據(jù)連接使用 MapXtreme for java 中的特有類 MapJ,可以裝載 gst 格式的文件,該文件

43、可以 通過(guò) MapDefinition Manager 裝載 tab 文件來(lái)進(jìn)行生成,這是 MapJ 可以裝載的一種圖 形定義格式,然后可以進(jìn)行比例尺以及圖形尺寸和相關(guān)特征的加載。if (m_fileToLoad.e ndsWith(.gst)myMap.loadGeoset(m_fileToLoad, m_mapPath, null)。else myMap .lo adMapDefi niti on( m_fileToLoad)。然后對(duì)地圖進(jìn)行渲染。II為 MapJ 建立 renderer 來(lái)渲染地圖try MapXtremelmageRe nderer rr = new MapXtreme

44、lmageRe nderer(m_mxtURL)。II 按照參數(shù)繪制地圖rr.render(lmageRequestComposer.create(myMap,NUM_OF_COLORS,BACKGROUND_COLOR, image/gif) 。以數(shù)據(jù)流的格式輸出到客戶端rr.toStream(res.getOutputStream()。4.2.2 實(shí)現(xiàn)地圖縮放主要對(duì)地圖實(shí)現(xiàn)放大、縮小等操作。此項(xiàng)功能得到最終的放大(縮小)的圖片,并把 下載路徑傳回客戶端。這個(gè)功能與目前許多地理信息網(wǎng)站提供的功能相似,而網(wǎng)站上直接 由鼠標(biāo)點(diǎn)選放大縮小地址的設(shè)計(jì)給了我們啟發(fā), 手機(jī)端雖然沒(méi)有鼠標(biāo), 但我們?cè)O(shè)法結(jié)

45、合使 用方向鍵的功能設(shè)計(jì)出了自己的“鼠標(biāo)”,也就是用戶可以點(diǎn)擊右邊的軟鍵,然后選取操 作菜單中的zoomln”或“ zoomOut”即可達(dá)到放大縮小的功能。如圖 4-2 所示。int tool = NO_TOOL。II放大,縮小,平移或是查詢/監(jiān)聽是否要用到工具if (reqParam = req.getParameter(tool)!=n ull) tool = Integer.valueOf(reqParam).intValue()。/得到前面地圖的中心坐標(biāo)DoublePoint newpoint = myMap.getCenter()。/取得放大比例double newZoom = my

46、Map.getZoom()。if (tool = ZOOMN _TOOL) newZoom /= 2.0。else if (tool = ZOOM_OUT_TOOL) newZoom *= 2.0。圖 4-2 地圖縮放4.2.3 空間查詢查詢是根據(jù)用戶輸入條件,查找到相關(guān)信息并在地圖上顯示對(duì)應(yīng)的圖形和屬性數(shù)據(jù)。接收到客戶端的地點(diǎn)查詢時(shí)在地圖數(shù)據(jù)某個(gè)圖層上找到相應(yīng)點(diǎn)的坐標(biāo),關(guān)于這一點(diǎn)可以通 過(guò)對(duì)圖層中的列信息中的特征項(xiàng)和所查找的名稱相匹配的手段來(lái)實(shí)現(xiàn)。/調(diào)用 removeTheme 方法來(lái)移除取消前面的地圖特征主題MapperServlet.removeTheme(myMap)。下面來(lái)處理查詢,

47、并高亮顯示查找到的那個(gè)點(diǎn)/Feature 對(duì)象的集合,構(gòu)成地圖的各個(gè)圖層通常在每個(gè)圖層中都擁有相同的圖元類型FeatureSet featureset = n ull。Feature feature = null。/ Feature 對(duì)象/Attribute attribute = new Attribute(La nZhou)。ArrayList a = new ArrayList()。/ QueryParams qp = new QueryParams(bGeometry,bRe nditi on ,bPrimarykey,/bLabelPoint,bRasterInfo,bLabelRe

48、ndition, SearchType.entire)。限制某個(gè)圖元返回的信息/QueryParams 類還可以指定搜索類型,SearchType.partial :查詢返回與搜索區(qū)域交叉的圖丿元。QueryParams queryParams = new QueryParams(true, true, false, true, true, true, SearchType.partial)。/layer 得到特征圖層的信息FeatureLayer layer = (FeatureLayer) myMap.getLayers().get(Asia Major Cities)。int colCo

49、unt = layer.getTableInfo().getColumnCount()。特征圖層的所有列數(shù)String coiname。歹 U 名if (layer != null) for(int i=0。i-1)sb.append(newZoom)。/找到的圖元的坐標(biāo)screenpoint = feature.getGeometry().getBounds().center()。newpoint = screenpoint。sb.append(”newpoint:+newpoint)。/咼亮顯示Select ion Theme selTheme = new Selectio nTheme(

50、LocateFeature)。創(chuàng)建一個(gè) SelectionTheme/創(chuàng)建 Selection 對(duì)象,并且把選擇的圖元加入Selection sel = new Selection()。sel.add(feature)。/把 Selection 對(duì)象加入到 SelectionThemeselTheme.setSelecti on( sel)。/設(shè)置 SelectionTheme 的顯示渲染的樣式 com.map in fo.graphics.Re nditi onrend =com.map in fo.graphics.Re nditi onl mpl .getDefaultRendition

51、()。/填充顏色,字體大小,框格的背景色ren d.setValue(com.mapi nfo.graphics.Re nditio n. FILL, Color.YELLOW)。ren d.setValue(com.mapi nfo.graphics.Re nditio n.SYMBOL_FOREGROUND,Color.YELLOW)。ren d.setValue(com.mapi nfo.graphics.Re nditio n.FONT_FAMIL Y,MapInfo Symbols)。ren d.setValue(com.map in fo.graphics.Re nditio n.

52、FONT_SIZE, new Float(30)。ren d.setValue(com.mapi nfo.graphics.Re nditio n.STROKE, Color.YELLOW)。ren d.setValue(com.mapi nfo.graphics.Re nditio n.STROKE_WIDTH, 3)。char c = new char1。c0 = (char) 36。ren d.setValue(com.mapi nfo.graphics.Re nditio n.SYMBOL_STRING ,new String(c)。selTheme.setRendition(rend

53、)。layer.setSelectable(true)。/添加 SelectionTheme 到指定的 layer 的 theme 列表中去 layer.getThemeList().add(selTheme)。break。下圖為輸入 Wuhan 并查找到,以黃色來(lái)顯示。圖 4-3 地點(diǎn)查詢這項(xiàng)功能后期擴(kuò)展后還可以根據(jù)用戶輸入的查詢地址提供該地址周邊的各類環(huán)境信 息,包括商店、交通、餐飲等等,直接面向真正的商業(yè)應(yīng)用。還可以提供放大的詳細(xì)的圖 片信息,使用戶獲得的單次服務(wù)更加超值,提升本系統(tǒng)的市場(chǎng)競(jìng)爭(zhēng)力。這一功能的實(shí)現(xiàn)原理是服務(wù)器端對(duì)于用戶的首次查詢有一張基礎(chǔ)地圖,用戶所輸入的 坐標(biāo)值正是在這一

54、基礎(chǔ)圖上查詢的,而服務(wù)期端則根據(jù)用戶坐標(biāo)和基礎(chǔ)圖兩個(gè)參數(shù)搜索出 相應(yīng)的符合要求的圖片,并返回客戶端相關(guān)信息。后期還可以擴(kuò)展查找最短路徑的功能。在人們出行的時(shí)候,可能不熟悉那個(gè)地方,那 么有了這項(xiàng)功能,那他就可以隨時(shí)隨地查找路線圖,非常方便快捷。第五章 結(jié)論地理信息系統(tǒng)的應(yīng)用范圍已經(jīng)越來(lái)越廣泛 ,但目前在小型移動(dòng)設(shè)備上進(jìn)行圖形化查詢 和應(yīng)用地理信息還不是非常普遍 , 本文嘗試?yán)?J2ME 與MapXtreme for Java 相結(jié)合構(gòu)造 了一個(gè)地圖的查詢和顯示系統(tǒng) , 該系統(tǒng)可以極大的方便移動(dòng)地理信息的查詢和相關(guān)應(yīng)用 隨 著 J2ME 支 持 設(shè) 備 的 不 斷 增 加 , 相 信 能 得 到 進(jìn) 一 步 的 應(yīng) 用 。參考文獻(xiàn)1 孫燕剛,基于 MapXtreme for Java 定制 JSP 標(biāo)志的 WebGIS 研究,地理空間信息,2007 ; 05: 152 卜建明,基于 MapObjects 的上海市地理信息查詢系統(tǒng),計(jì)算機(jī)工程,2006; 13:2693 王婷,基于 MapXtreme 的城市報(bào)警監(jiān)控系統(tǒng)的實(shí)現(xiàn),微計(jì)算機(jī)信息,2008; 07:1404 李小根,MapXtreme 的基本構(gòu)架及其應(yīng)用

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論