電子地圖技術(shù)方案_第1頁(yè)
電子地圖技術(shù)方案_第2頁(yè)
電子地圖技術(shù)方案_第3頁(yè)
電子地圖技術(shù)方案_第4頁(yè)
電子地圖技術(shù)方案_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、 基于MapXtreme的WebGIS技術(shù)方案摘要:本文分析了具有代表性的WebGIS平臺(tái)MapXtreme的基本結(jié)構(gòu)、工作原理以及基于MapXtreme的兩種GIS數(shù)據(jù)管理策略,討論了在GIS數(shù)據(jù)管理過(guò)程中可能遇到的問(wèn)題,并提出了解決的方法。文章還描述了基于MapXtreme的WebGIS的體系結(jié)構(gòu),分析了在這種結(jié)構(gòu)下的客戶(hù)端解決方案、網(wǎng)站的擴(kuò)展性策略等關(guān)鍵技術(shù),最后簡(jiǎn)要介紹了一個(gè)實(shí)例。1. 引言 地理信息系統(tǒng)(Geographic Information System,簡(jiǎn)稱(chēng)GIS)是能夠收集、管理、查詢(xún)、分析、操作以及表現(xiàn)與地理相關(guān)的數(shù)據(jù)信息的計(jì)算機(jī)信息系統(tǒng),能夠?yàn)榉治?、決策提供重要的

2、支持。如何把因特網(wǎng)和GIS結(jié)合起來(lái),即采用B/S的計(jì)算機(jī)模式,客戶(hù)方不需要任何特殊的配置便可進(jìn)行交互式地圖操作以及方便的信息查詢(xún),是當(dāng)前地理信息系統(tǒng)領(lǐng)域的一個(gè)研究熱點(diǎn)。2. MapXtreme簡(jiǎn)介 MapXtreme是MapInfo公司推出的基于因特網(wǎng)/內(nèi)聯(lián)網(wǎng)的地圖服務(wù)器。通過(guò)對(duì)GIS軟件MapInfo和MapX的功能集成,信息管理員只需要在Web服務(wù)器上安裝MapXtreme,并對(duì)其進(jìn)行編程和管理,用戶(hù)即可通過(guò)Web瀏覽器訪(fǎng)問(wèn)MapXtreme,并獲得MapXtreme所提供的GIS功能,如地圖的顯示、制作專(zhuān)題地圖進(jìn)行地理分析等。MapXtreme采用的是服務(wù)器端解決方案,客戶(hù)端只需要標(biāo)準(zhǔn)的

3、Web瀏覽器。MapXtreme的地圖功能來(lái)自于地圖引擎(MapEngine)。地圖引擎包括三個(gè)核心部件:MapX、MapXServer和MapXBroker。MapX提供地圖操作功能;MapXServer對(duì)MapX進(jìn)行封裝,使MapX能運(yùn)行于安全的線(xiàn)程空間;MapXBroker則用于預(yù)啟動(dòng)MapXServer的實(shí)例,并可以用來(lái)對(duì)網(wǎng)站進(jìn)行擴(kuò)展。MapXCourier不是地圖引擎的一部分,它可以用來(lái)在應(yīng)用程序和地圖引擎之間進(jìn)行通信。MapXtreme系統(tǒng)主要由三個(gè)層次組成。頂層是因特網(wǎng)技術(shù),采用TCP/IP、CGI、HTML等技術(shù)標(biāo)準(zhǔn),保證了系統(tǒng)的標(biāo)準(zhǔn)性、開(kāi)放性和先進(jìn)性;底層是圖形平臺(tái)MapIn

4、fo Professional和基于ActiveX技術(shù)的MapX控件技術(shù);中間的是MapXtreme,作為服務(wù)器端的新一代地圖應(yīng)用服務(wù)運(yùn)行模式,采用內(nèi)置開(kāi)發(fā)工具、進(jìn)程調(diào)度器、分布應(yīng)用模式等新技術(shù)。MapXtreme基本不改變服務(wù)器端原有的GIS系統(tǒng)函數(shù),幾乎了所有的操作分析。3. 基于MapXtreme的WebGIS結(jié)構(gòu) 我們采用如圖1所示的四層體系結(jié)構(gòu),包括瀏覽器、Web服務(wù)器、應(yīng)用服務(wù)器以及GIS數(shù)據(jù)服務(wù)器(OracleSpatial)。客戶(hù)端用于向服務(wù)器發(fā)送數(shù)據(jù)請(qǐng)求并顯示所請(qǐng)求的數(shù)據(jù);Web服務(wù)器接受請(qǐng)求,并把應(yīng)用服務(wù)器的處理結(jié)果返回給用戶(hù);應(yīng)用服務(wù)器負(fù)責(zé)應(yīng)用處理過(guò)程;數(shù)據(jù)服務(wù)器端只進(jìn)行

5、數(shù)據(jù)的管理工作。在基于MapXtreme的工作方式下,所有的地圖數(shù)據(jù)和應(yīng)用程序都放在Server端,客戶(hù)端只是提出請(qǐng)求,所有的響應(yīng)都在Server端完成。只需在Server端進(jìn)行系統(tǒng)維護(hù)即可,客戶(hù)端無(wú)須任何維護(hù),大大降低了系統(tǒng)維護(hù)的工作量。實(shí)際操作時(shí),應(yīng)用服務(wù)器和Web服務(wù)器可以安裝在同一個(gè)服務(wù)器。數(shù)據(jù)庫(kù)服務(wù)器可單獨(dú)安裝,也可與應(yīng)用服務(wù)器和Web服務(wù)器安裝在一起。4. 關(guān)鍵技術(shù)分析4.1 GIS數(shù)據(jù)管理GIS數(shù)據(jù)分為空間數(shù)據(jù)和屬性數(shù)據(jù),二者的緊密結(jié)合形成對(duì)地物的描述,對(duì)一類(lèi)數(shù)據(jù) 的操作必然會(huì)影響與之相關(guān)的另一類(lèi)數(shù)據(jù)。因此,如何在計(jì)算機(jī)中有效存儲(chǔ)和管理這兩類(lèi) 數(shù)據(jù)是GIS的基本問(wèn)題,也是GIS中

6、最底層和最基本的技術(shù)。在MapXtreme系統(tǒng)中可以采用 兩種策略來(lái)管理GIS數(shù)據(jù);文件策略和空間數(shù)據(jù)庫(kù)策略。4.1.1文件策略地理信息系統(tǒng)中通常用“層”的概念來(lái)分別存儲(chǔ)不同專(zhuān)題的空間信息,同一層上的空 間對(duì)象具有相同類(lèi)型的屬性信息,即每一層存放一種專(zhuān)題或者一類(lèi)信息,并有一級(jí)對(duì)應(yīng)的 數(shù)據(jù)。文件管理策略就是每一類(lèi)型的地圖數(shù)據(jù)都存放在一個(gè).TAB文件中,對(duì)應(yīng)地圖對(duì)象的 屬性數(shù)據(jù)則采用一般的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)管理,兩者通過(guò)一定的機(jī)制關(guān)聯(lián)起來(lái),多個(gè) 不同類(lèi)型的.TAB文件結(jié)合起來(lái)就可以用來(lái)表示綜合的地圖信息。這種策略至今仍是GIS的 一種主要數(shù)據(jù)管理方法。MapXtreme系統(tǒng)采用GeosetMan

7、ager來(lái)管理這些.TAB文件。GeosetManager可以將多個(gè) .TAB文件打包為一個(gè).GST文件,這個(gè)文件就包含對(duì)應(yīng)的地圖信息。把這個(gè).GST文件設(shè)置為 MapXBroker的地圖屬性,用戶(hù)通過(guò)訪(fǎng)問(wèn)MapXBroker就可以讀取相應(yīng)的地圖數(shù)據(jù),并可以在 地圖上進(jìn)行縮放、漫游、訪(fǎng)問(wèn)地圖上連接的信息,以及制作專(zhuān)題地圖進(jìn)行地理分析等相關(guān) 操作。4.1.2空間數(shù)據(jù)策略空間數(shù)據(jù)庫(kù)型GIS采用空間數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)空間數(shù)據(jù)和屬性數(shù)據(jù)的一體化管理,這可以 充分利用目前大型商業(yè)數(shù)據(jù)庫(kù)的優(yōu)勢(shì),容易實(shí)現(xiàn)分布式結(jié)構(gòu)、多源數(shù)據(jù)庫(kù)連接、多用戶(hù)等 功能。因此,空間數(shù)據(jù)庫(kù)是GIS領(lǐng)域的一個(gè)研究熱點(diǎn)。我們采用Oracle公

8、司的空間數(shù)據(jù)庫(kù)管理系統(tǒng)OracleSpatial來(lái)管理地圖數(shù)據(jù),利用 OracleSpatial需要注意以下幾個(gè)方面問(wèn)題:(1)地圖數(shù)據(jù)的上傳?,F(xiàn)有的地圖數(shù)據(jù)大多以.TAB文件的格式存放,我們首先需要把 以文件格式存放的GIS數(shù)據(jù)導(dǎo)入服務(wù)器端的OracleSpatial中,數(shù)據(jù)上傳工具采用MapInfo 公司的數(shù)據(jù)轉(zhuǎn)化工具EasyLoader。上傳結(jié)束后,OracleSpatial會(huì)為每一個(gè)上傳的.TAB文 件在數(shù)據(jù)庫(kù)中新建一個(gè)同名的表格,對(duì)應(yīng).TAB文件的空間數(shù)據(jù)和屬性數(shù)據(jù)都存放在這個(gè)表 格中。(2)地圖數(shù)據(jù)的顯示。MapXtreme可以讀取并顯示OracleSpatial中的地圖數(shù)據(jù)(如下

9、代碼),在顯示的地圖上可以進(jìn)行縮放、漫游、訪(fǎng)問(wèn)地圖上連接的信息,以及制作專(zhuān)題地圖進(jìn)行地理分析等相關(guān)操作。. .public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException / 設(shè)置ContentTyperesponse.setContentType(“image/gif”);/ mapxtremeservlet地圖服務(wù)器urlString m_mxtURL = ""/ 返回響應(yīng)的輸出流ServletOutputSt

10、ream sos = response.getOutputStream();/ 創(chuàng)建MapJ對(duì)象MapJ m_mapj = new MapJ();try /地圖定義文件(也可以將地圖定義保存到數(shù)據(jù)庫(kù)中)String m_mapPath="E:gisappMapDataOthersmap.mdf" / 加載地圖 m_mapj.loadMapDefinition(m_mapPath); / 設(shè)置地圖初始大小m_mapj.setDeviceBounds(new DoubleRect(0, 0, 800, 600); request.getSession().setAttribut

11、e("worldMap", m_mapj);/ 創(chuàng)建圖像請(qǐng)求器(包裝mapj對(duì)象,圖片的色位,底色,格式信息)ImageRequestComposer irc = ImageRequestComposer.create(m_mapj, 256,Color.white, mimeType);/ 創(chuàng)建mxtj的圖像渲染器MapXtremeImageRenderer renderer = new MapXtremeImageRenderer(m_mxtURL);/ 用渲染器渲染請(qǐng)求器renderer.render(irc);/ 渲染器輸出圖片流到輸出流,客戶(hù)端顯示之rendere

12、r.toStream(sos);/ 釋放渲染器對(duì)象renderer.dispose(); catch (Exception e) e.printStackTrace();. .4.2 客戶(hù)端策略根據(jù)具體的應(yīng)用,在客戶(hù)端可以采取三種策略:瘦客戶(hù)型、混合客戶(hù)型和胖客戶(hù)型。瘦客戶(hù)型在客戶(hù)端不需要安裝任何其它插件,只需要一個(gè)瀏覽器即可,服務(wù)器將地圖分析結(jié)果以位圖的開(kāi)工插入到HTML頁(yè)面,并將其傳送到客戶(hù)端瀏覽器中,顯示出來(lái)?;旌峡蛻?hù)型的應(yīng)用每次在訪(fǎng)問(wèn)服務(wù)器時(shí),都會(huì)從服務(wù)器上下載JavaApplet,它能增強(qiáng)客戶(hù)端瀏覽器的地圖分析功能。但是,下載Applet會(huì)增加網(wǎng)絡(luò)的流量,并且Applet的使用也會(huì)影

13、響頁(yè)面的顯示速度。胖客戶(hù)端類(lèi)型的應(yīng)用在第一次訪(fǎng)問(wèn)服務(wù)器時(shí),會(huì)下載MapJ控件。它可以接受服務(wù)器端傳送過(guò)來(lái)的矢量地圖數(shù)據(jù),直接在客戶(hù)端基于矢量數(shù)據(jù)進(jìn)行地理分析。雖然這種方式能最大可能地增加客戶(hù)端的功能,但由于這種方式每次都要傳送大量的矢量地圖數(shù)據(jù),所以初次登錄時(shí)頁(yè)面顯示速度最慢。4.3 擴(kuò)展機(jī)制在構(gòu)建WebGIS應(yīng)用之前,應(yīng)當(dāng)事先考慮到網(wǎng)站的擴(kuò)展問(wèn)題。對(duì)MapXtreme來(lái)說(shuō),地圖引擎在用戶(hù)的每一個(gè)會(huì)話(huà)期間都要?jiǎng)?chuàng)建一個(gè)MapXServer對(duì)象實(shí)例,并保持其激活狀態(tài)直至用戶(hù)會(huì)話(huà)結(jié)束;每個(gè)MapXServer都會(huì)戰(zhàn)勝自己獨(dú)立的處理空間(CPU、內(nèi)存硬件資源),如果同時(shí)有幾百甚至上千個(gè)用戶(hù)訪(fǎng)問(wèn)的話(huà),服

14、務(wù)器將面臨嚴(yán)峻的考驗(yàn);另外為每一個(gè)用戶(hù)都維持一個(gè)激活的MapXServer實(shí)例是一種低效率的做法,如何解決這個(gè)問(wèn)題將直接關(guān)系到我們開(kāi)發(fā)的系統(tǒng)是否具有實(shí)用價(jià)值,是否具有生存價(jià)值。我們可以采用兩種工作機(jī)制來(lái)實(shí)現(xiàn)平衡,以解決這個(gè)問(wèn)題:橫向擴(kuò)展和縱向擴(kuò)展。(1)橫向擴(kuò)展。橫向擴(kuò)展指的是和種分布式配置方式,是通過(guò)增加服務(wù)器的數(shù)目來(lái)分擔(dān)單臺(tái)服務(wù)器的過(guò)重負(fù)載的。這種方式需要在每臺(tái)服務(wù)器上安裝MapXtreme,適合于訪(fǎng)問(wèn)量非常大的系統(tǒng),但代價(jià)非常昂貴。(2)縱向擴(kuò)展??v向擴(kuò)展是通過(guò)MapXtreme的MapXBroke組件優(yōu)化Web服務(wù)器來(lái)實(shí)現(xiàn)的。MapXBroker是作為一種系統(tǒng)服務(wù)運(yùn)行于服務(wù)器系統(tǒng)上的,

15、當(dāng)它啟動(dòng)時(shí)就會(huì)創(chuàng)建一個(gè)MapXServer的共享池(稱(chēng)為預(yù)啟動(dòng)機(jī)制)。當(dāng)一個(gè)MapXtreme應(yīng)用程序需要執(zhí)行與地圖操作相關(guān)的請(qǐng)求時(shí),就向MapXBroker申請(qǐng)一個(gè)MapXServer的對(duì)象實(shí)例;當(dāng)含地圖的主頁(yè)動(dòng)態(tài)生成以后,再把MapXServer實(shí)例釋放給共享池,以便其它用戶(hù)申請(qǐng)。這種共享機(jī)制使有限的資源可以支持多個(gè)用戶(hù)并發(fā)請(qǐng)求;這種機(jī)制的另一個(gè)好處在于當(dāng)應(yīng)用程序申請(qǐng)MapXServer對(duì)象時(shí),該對(duì)象已經(jīng)存在于共享池中并運(yùn)行著(預(yù)啟動(dòng)機(jī)制),因而比申請(qǐng)時(shí)再創(chuàng)建一個(gè)MapXServer對(duì)象要快得多。在實(shí)際的應(yīng)用中,可以根據(jù)具體情況采用橫向擴(kuò)展與縱向擴(kuò)展相結(jié)合的方法。5. 具體實(shí)現(xiàn)(1) 在當(dāng)

16、前網(wǎng)速快,電腦配置好的大環(huán)境下,可以選用瘦客戶(hù)端策略??蛻?hù)端不需要安裝任何軟件,就像瀏覽網(wǎng)頁(yè)一樣操作電子地圖。(2) 地圖數(shù)據(jù)采用文件策略與空間數(shù)據(jù)庫(kù)策略混合的方式。文件策略的優(yōu)勢(shì)是數(shù)據(jù)源鏈接速度快、空間操作響應(yīng)速度快,我們將背景圖、小區(qū)分布圖等保密要求不高和不常更新的數(shù)據(jù)以文件形式保存。空間數(shù)據(jù)庫(kù)策略的優(yōu)勢(shì)是解決多用戶(hù)并發(fā)編輯的問(wèn)題、解決數(shù)據(jù)安全的問(wèn)題、高效的空間索引機(jī)制、數(shù)據(jù)的分布式存儲(chǔ)和管理以及GIS的長(zhǎng)事物處理等,故我們將關(guān)鍵數(shù)據(jù)放到空間數(shù)據(jù)庫(kù)中保存。(3) 根據(jù)MapXtreme內(nèi)部提供的MapJ對(duì)象實(shí)現(xiàn)地圖的放大、縮小、定位、測(cè)量等功能,實(shí)現(xiàn)二次開(kāi)發(fā)。(4) 設(shè)定地圖放大的比例精確到小區(qū)。(5) 具體詳細(xì)操作提供搜索功能,可以根據(jù)圖元屬性搜索圖元,搜索到的圖元以高亮顯示。選中圖元(如退役干部)時(shí),從

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論