版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、一、 基于MapXtreme的WebGIS技術(shù)方案摘要:本文分析了具有代表性的WebGIS平臺MapXtreme的基本結(jié)構(gòu)、工作原理以及基于MapXtreme的兩種GIS數(shù)據(jù)管理策略,討論了在GIS數(shù)據(jù)管理過程中可能遇到的問題,并提出了解決的方法。文章還描述了基于MapXtreme的WebGIS的體系結(jié)構(gòu),分析了在這種結(jié)構(gòu)下的客戶端解決方案、網(wǎng)站的擴展性策略等關(guān)鍵技術(shù),最后簡要介紹了一個實例。1. 引言 地理信息系統(tǒng)(Geographic Information System,簡稱GIS)是能夠收集、管理、查詢、分析、操作以及表現(xiàn)與地理相關(guān)的數(shù)據(jù)信息的計算機信息系統(tǒng),能夠為分析、決策提供重要的
2、支持。如何把因特網(wǎng)和GIS結(jié)合起來,即采用B/S的計算機模式,客戶方不需要任何特殊的配置便可進行交互式地圖操作以及方便的信息查詢,是當(dāng)前地理信息系統(tǒng)領(lǐng)域的一個研究熱點。2. MapXtreme簡介 MapXtreme是MapInfo公司推出的基于因特網(wǎng)/內(nèi)聯(lián)網(wǎng)的地圖服務(wù)器。通過對GIS軟件MapInfo和MapX的功能集成,信息管理員只需要在Web服務(wù)器上安裝MapXtreme,并對其進行編程和管理,用戶即可通過Web瀏覽器訪問MapXtreme,并獲得MapXtreme所提供的GIS功能,如地圖的顯示、制作專題地圖進行地理分析等。MapXtreme采用的是服務(wù)器端解決方案,客戶端只需要標(biāo)準(zhǔn)的
3、Web瀏覽器。MapXtreme的地圖功能來自于地圖引擎(MapEngine)。地圖引擎包括三個核心部件:MapX、MapXServer和MapXBroker。MapX提供地圖操作功能;MapXServer對MapX進行封裝,使MapX能運行于安全的線程空間;MapXBroker則用于預(yù)啟動MapXServer的實例,并可以用來對網(wǎng)站進行擴展。MapXCourier不是地圖引擎的一部分,它可以用來在應(yīng)用程序和地圖引擎之間進行通信。MapXtreme系統(tǒng)主要由三個層次組成。頂層是因特網(wǎng)技術(shù),采用TCP/IP、CGI、HTML等技術(shù)標(biāo)準(zhǔn),保證了系統(tǒng)的標(biāo)準(zhǔn)性、開放性和先進性;底層是圖形平臺MapIn
4、fo Professional和基于ActiveX技術(shù)的MapX控件技術(shù);中間的是MapXtreme,作為服務(wù)器端的新一代地圖應(yīng)用服務(wù)運行模式,采用內(nèi)置開發(fā)工具、進程調(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)??蛻舳擞糜谙蚍?wù)器發(fā)送數(shù)據(jù)請求并顯示所請求的數(shù)據(jù);Web服務(wù)器接受請求,并把應(yīng)用服務(wù)器的處理結(jié)果返回給用戶;應(yīng)用服務(wù)器負責(zé)應(yīng)用處理過程;數(shù)據(jù)服務(wù)器端只進行
5、數(shù)據(jù)的管理工作。在基于MapXtreme的工作方式下,所有的地圖數(shù)據(jù)和應(yīng)用程序都放在Server端,客戶端只是提出請求,所有的響應(yīng)都在Server端完成。只需在Server端進行系統(tǒng)維護即可,客戶端無須任何維護,大大降低了系統(tǒng)維護的工作量。實際操作時,應(yīng)用服務(wù)器和Web服務(wù)器可以安裝在同一個服務(wù)器。數(shù)據(jù)庫服務(wù)器可單獨安裝,也可與應(yīng)用服務(wù)器和Web服務(wù)器安裝在一起。4. 關(guān)鍵技術(shù)分析4.1 GIS數(shù)據(jù)管理GIS數(shù)據(jù)分為空間數(shù)據(jù)和屬性數(shù)據(jù),二者的緊密結(jié)合形成對地物的描述,對一類數(shù)據(jù) 的操作必然會影響與之相關(guān)的另一類數(shù)據(jù)。因此,如何在計算機中有效存儲和管理這兩類 數(shù)據(jù)是GIS的基本問題,也是GIS中
6、最底層和最基本的技術(shù)。在MapXtreme系統(tǒng)中可以采用 兩種策略來管理GIS數(shù)據(jù);文件策略和空間數(shù)據(jù)庫策略。4.1.1文件策略地理信息系統(tǒng)中通常用“層”的概念來分別存儲不同專題的空間信息,同一層上的空 間對象具有相同類型的屬性信息,即每一層存放一種專題或者一類信息,并有一級對應(yīng)的 數(shù)據(jù)。文件管理策略就是每一類型的地圖數(shù)據(jù)都存放在一個.TAB文件中,對應(yīng)地圖對象的 屬性數(shù)據(jù)則采用一般的關(guān)系數(shù)據(jù)庫管理系統(tǒng)來管理,兩者通過一定的機制關(guān)聯(lián)起來,多個 不同類型的.TAB文件結(jié)合起來就可以用來表示綜合的地圖信息。這種策略至今仍是GIS的 一種主要數(shù)據(jù)管理方法。MapXtreme系統(tǒng)采用GeosetMan
7、ager來管理這些.TAB文件。GeosetManager可以將多個 .TAB文件打包為一個.GST文件,這個文件就包含對應(yīng)的地圖信息。把這個.GST文件設(shè)置為 MapXBroker的地圖屬性,用戶通過訪問MapXBroker就可以讀取相應(yīng)的地圖數(shù)據(jù),并可以在 地圖上進行縮放、漫游、訪問地圖上連接的信息,以及制作專題地圖進行地理分析等相關(guān) 操作。4.1.2空間數(shù)據(jù)策略空間數(shù)據(jù)庫型GIS采用空間數(shù)據(jù)庫來實現(xiàn)空間數(shù)據(jù)和屬性數(shù)據(jù)的一體化管理,這可以 充分利用目前大型商業(yè)數(shù)據(jù)庫的優(yōu)勢,容易實現(xiàn)分布式結(jié)構(gòu)、多源數(shù)據(jù)庫連接、多用戶等 功能。因此,空間數(shù)據(jù)庫是GIS領(lǐng)域的一個研究熱點。我們采用Oracle公
8、司的空間數(shù)據(jù)庫管理系統(tǒng)OracleSpatial來管理地圖數(shù)據(jù),利用 OracleSpatial需要注意以下幾個方面問題:(1)地圖數(shù)據(jù)的上傳。現(xiàn)有的地圖數(shù)據(jù)大多以.TAB文件的格式存放,我們首先需要把 以文件格式存放的GIS數(shù)據(jù)導(dǎo)入服務(wù)器端的OracleSpatial中,數(shù)據(jù)上傳工具采用MapInfo 公司的數(shù)據(jù)轉(zhuǎn)化工具EasyLoader。上傳結(jié)束后,OracleSpatial會為每一個上傳的.TAB文 件在數(shù)據(jù)庫中新建一個同名的表格,對應(yīng).TAB文件的空間數(shù)據(jù)和屬性數(shù)據(jù)都存放在這個表 格中。(2)地圖數(shù)據(jù)的顯示。MapXtreme可以讀取并顯示OracleSpatial中的地圖數(shù)據(jù)(如下
9、代碼),在顯示的地圖上可以進行縮放、漫游、訪問地圖上連接的信息,以及制作專題地圖進行地理分析等相關(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對象MapJ m_mapj = new MapJ();try /地圖定義文件(也可以將地圖定義保存到數(shù)據(jù)庫中)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)建圖像請求器(包裝mapj對象,圖片的色位,底色,格式信息)ImageRequestComposer irc = ImageRequestComposer.create(m_mapj, 256,Color.white, mimeType);/ 創(chuàng)建mxtj的圖像渲染器MapXtremeImageRenderer renderer = new MapXtremeImageRenderer(m_mxtURL);/ 用渲染器渲染請求器renderer.render(irc);/ 渲染器輸出圖片流到輸出流,客戶端顯示之rendere
12、r.toStream(sos);/ 釋放渲染器對象renderer.dispose(); catch (Exception e) e.printStackTrace();. .4.2 客戶端策略根據(jù)具體的應(yīng)用,在客戶端可以采取三種策略:瘦客戶型、混合客戶型和胖客戶型。瘦客戶型在客戶端不需要安裝任何其它插件,只需要一個瀏覽器即可,服務(wù)器將地圖分析結(jié)果以位圖的開工插入到HTML頁面,并將其傳送到客戶端瀏覽器中,顯示出來?;旌峡蛻粜偷膽?yīng)用每次在訪問服務(wù)器時,都會從服務(wù)器上下載JavaApplet,它能增強客戶端瀏覽器的地圖分析功能。但是,下載Applet會增加網(wǎng)絡(luò)的流量,并且Applet的使用也會影
13、響頁面的顯示速度。胖客戶端類型的應(yīng)用在第一次訪問服務(wù)器時,會下載MapJ控件。它可以接受服務(wù)器端傳送過來的矢量地圖數(shù)據(jù),直接在客戶端基于矢量數(shù)據(jù)進行地理分析。雖然這種方式能最大可能地增加客戶端的功能,但由于這種方式每次都要傳送大量的矢量地圖數(shù)據(jù),所以初次登錄時頁面顯示速度最慢。4.3 擴展機制在構(gòu)建WebGIS應(yīng)用之前,應(yīng)當(dāng)事先考慮到網(wǎng)站的擴展問題。對MapXtreme來說,地圖引擎在用戶的每一個會話期間都要創(chuàng)建一個MapXServer對象實例,并保持其激活狀態(tài)直至用戶會話結(jié)束;每個MapXServer都會戰(zhàn)勝自己獨立的處理空間(CPU、內(nèi)存硬件資源),如果同時有幾百甚至上千個用戶訪問的話,服
14、務(wù)器將面臨嚴(yán)峻的考驗;另外為每一個用戶都維持一個激活的MapXServer實例是一種低效率的做法,如何解決這個問題將直接關(guān)系到我們開發(fā)的系統(tǒng)是否具有實用價值,是否具有生存價值。我們可以采用兩種工作機制來實現(xiàn)平衡,以解決這個問題:橫向擴展和縱向擴展。(1)橫向擴展。橫向擴展指的是和種分布式配置方式,是通過增加服務(wù)器的數(shù)目來分擔(dān)單臺服務(wù)器的過重負載的。這種方式需要在每臺服務(wù)器上安裝MapXtreme,適合于訪問量非常大的系統(tǒng),但代價非常昂貴。(2)縱向擴展。縱向擴展是通過MapXtreme的MapXBroke組件優(yōu)化Web服務(wù)器來實現(xiàn)的。MapXBroker是作為一種系統(tǒng)服務(wù)運行于服務(wù)器系統(tǒng)上的,
15、當(dāng)它啟動時就會創(chuàng)建一個MapXServer的共享池(稱為預(yù)啟動機制)。當(dāng)一個MapXtreme應(yīng)用程序需要執(zhí)行與地圖操作相關(guān)的請求時,就向MapXBroker申請一個MapXServer的對象實例;當(dāng)含地圖的主頁動態(tài)生成以后,再把MapXServer實例釋放給共享池,以便其它用戶申請。這種共享機制使有限的資源可以支持多個用戶并發(fā)請求;這種機制的另一個好處在于當(dāng)應(yīng)用程序申請MapXServer對象時,該對象已經(jīng)存在于共享池中并運行著(預(yù)啟動機制),因而比申請時再創(chuàng)建一個MapXServer對象要快得多。在實際的應(yīng)用中,可以根據(jù)具體情況采用橫向擴展與縱向擴展相結(jié)合的方法。5. 具體實現(xiàn)(1) 在當(dāng)
16、前網(wǎng)速快,電腦配置好的大環(huán)境下,可以選用瘦客戶端策略。客戶端不需要安裝任何軟件,就像瀏覽網(wǎng)頁一樣操作電子地圖。(2) 地圖數(shù)據(jù)采用文件策略與空間數(shù)據(jù)庫策略混合的方式。文件策略的優(yōu)勢是數(shù)據(jù)源鏈接速度快、空間操作響應(yīng)速度快,我們將背景圖、小區(qū)分布圖等保密要求不高和不常更新的數(shù)據(jù)以文件形式保存??臻g數(shù)據(jù)庫策略的優(yōu)勢是解決多用戶并發(fā)編輯的問題、解決數(shù)據(jù)安全的問題、高效的空間索引機制、數(shù)據(jù)的分布式存儲和管理以及GIS的長事物處理等,故我們將關(guān)鍵數(shù)據(jù)放到空間數(shù)據(jù)庫中保存。(3) 根據(jù)MapXtreme內(nèi)部提供的MapJ對象實現(xiàn)地圖的放大、縮小、定位、測量等功能,實現(xiàn)二次開發(fā)。(4) 設(shè)定地圖放大的比例精確到小區(qū)。(5) 具體詳細操作提供搜索功能,可以根據(jù)圖元屬性搜索圖元,搜索到的圖元以高亮顯示。選中圖元(如退役干部)時,從
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度辦公用品及辦公設(shè)備租賃一體化服務(wù)合同
- 二零二五年度養(yǎng)老社區(qū)入住與緊急救援協(xié)議3篇
- 2025年度養(yǎng)豬場養(yǎng)殖廢棄物處理設(shè)施建設(shè)合同3篇
- 2025年度農(nóng)村房屋買賣合同及土地承包權(quán)轉(zhuǎn)讓與配套設(shè)施租賃及物業(yè)管理合同
- 2025年度農(nóng)副產(chǎn)品線上與線下銷售融合合作協(xié)議3篇
- 二零二五年度?;饭坟浳镞\輸安全管理合同3篇
- 二零二五年度公司經(jīng)理戰(zhàn)略合作伙伴關(guān)系聘用協(xié)議3篇
- 二零二五年度美發(fā)行業(yè)美容美發(fā)行業(yè)投資合作協(xié)議書3篇
- 2025年度農(nóng)村自建房合同協(xié)議書(含節(jié)能環(huán)保建筑材料)
- 二零二五年度農(nóng)村房屋置換項目合作框架協(xié)議
- 人教版(PEP)小學(xué)六年級英語上冊全冊教案
- 廣東省廣州市海珠區(qū)2023-2024學(xué)年六年級上學(xué)期月考英語試卷
- 消防水域救援個人防護裝備試驗 大綱
- 機電樣板施工主要技術(shù)方案
- 涉稅風(fēng)險管理方案
- 青島市2022-2023學(xué)年七年級上學(xué)期期末道德與法治試題
- 高空作業(yè)安全免責(zé)協(xié)議書范本
- 石油化學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(xué)(華東)
- 手術(shù)后如何防止排尿困難
- 特種設(shè)備“日管控、周排查、月調(diào)度”表格
- 重點關(guān)愛學(xué)生幫扶活動記錄表
評論
0/150
提交評論