版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、一、 基于MapXtreme的WebGIS技術方案摘要:本文分析了具有代表性的WebGIS平臺MapXtreme的基本結(jié)構(gòu)、工作原理以及基于MapXtreme的兩種GIS數(shù)據(jù)管理策略,討論了在GIS數(shù)據(jù)管理過程中可能遇到的問題,并提出了解決的方法。文章還描述了基于MapXtreme的WebGIS的體系結(jié)構(gòu),分析了在這種結(jié)構(gòu)下的客戶端解決方案、網(wǎng)站的擴展性策略等關鍵技術,最后簡要介紹了一個實例。1. 引言 地理信息系統(tǒng)(Geographic Information System,簡稱GIS)是能夠收集、管理、查詢、分析、操作以及表現(xiàn)與地理相關的數(shù)據(jù)信息的計算機信息系統(tǒng),能夠為分析、決策提供重要的
2、支持。如何把因特網(wǎng)和GIS結(jié)合起來,即采用B/S的計算機模式,客戶方不需要任何特殊的配置便可進行交互式地圖操作以及方便的信息查詢,是當前地理信息系統(tǒng)領域的一個研究熱點。2. MapXtreme簡介 MapXtreme是MapInfo公司推出的基于因特網(wǎng)/內(nèi)聯(lián)網(wǎng)的地圖服務器。通過對GIS軟件MapInfo和MapX的功能集成,信息管理員只需要在Web服務器上安裝MapXtreme,并對其進行編程和管理,用戶即可通過Web瀏覽器訪問MapXtreme,并獲得MapXtreme所提供的GIS功能,如地圖的顯示、制作專題地圖進行地理分析等。MapXtreme采用的是服務器端解決方案,客戶端只需要標準的
3、Web瀏覽器。MapXtreme的地圖功能來自于地圖引擎(MapEngine)。地圖引擎包括三個核心部件:MapX、MapXServer和MapXBroker。MapX提供地圖操作功能;MapXServer對MapX進行封裝,使MapX能運行于安全的線程空間;MapXBroker則用于預啟動MapXServer的實例,并可以用來對網(wǎng)站進行擴展。MapXCourier不是地圖引擎的一部分,它可以用來在應用程序和地圖引擎之間進行通信。MapXtreme系統(tǒng)主要由三個層次組成。頂層是因特網(wǎng)技術,采用TCP/IP、CGI、HTML等技術標準,保證了系統(tǒng)的標準性、開放性和先進性;底層是圖形平臺MapIn
4、fo Professional和基于ActiveX技術的MapX控件技術;中間的是MapXtreme,作為服務器端的新一代地圖應用服務運行模式,采用內(nèi)置開發(fā)工具、進程調(diào)度器、分布應用模式等新技術。MapXtreme基本不改變服務器端原有的GIS系統(tǒng)函數(shù),幾乎了所有的操作分析。3. 基于MapXtreme的WebGIS結(jié)構(gòu) 我們采用如圖1所示的四層體系結(jié)構(gòu),包括瀏覽器、Web服務器、應用服務器以及GIS數(shù)據(jù)服務器(OracleSpatial)??蛻舳擞糜谙蚍掌靼l(fā)送數(shù)據(jù)請求并顯示所請求的數(shù)據(jù);Web服務器接受請求,并把應用服務器的處理結(jié)果返回給用戶;應用服務器負責應用處理過程;數(shù)據(jù)服務器端只進行
5、數(shù)據(jù)的管理工作。在基于MapXtreme的工作方式下,所有的地圖數(shù)據(jù)和應用程序都放在Server端,客戶端只是提出請求,所有的響應都在Server端完成。只需在Server端進行系統(tǒng)維護即可,客戶端無須任何維護,大大降低了系統(tǒng)維護的工作量。實際操作時,應用服務器和Web服務器可以安裝在同一個服務器。數(shù)據(jù)庫服務器可單獨安裝,也可與應用服務器和Web服務器安裝在一起。4. 關鍵技術分析4.1 GIS數(shù)據(jù)管理GIS數(shù)據(jù)分為空間數(shù)據(jù)和屬性數(shù)據(jù),二者的緊密結(jié)合形成對地物的描述,對一類數(shù)據(jù) 的操作必然會影響與之相關的另一類數(shù)據(jù)。因此,如何在計算機中有效存儲和管理這兩類 數(shù)據(jù)是GIS的基本問題,也是GIS中
6、最底層和最基本的技術。在MapXtreme系統(tǒng)中可以采用 兩種策略來管理GIS數(shù)據(jù);文件策略和空間數(shù)據(jù)庫策略。4.1.1文件策略地理信息系統(tǒng)中通常用“層”的概念來分別存儲不同專題的空間信息,同一層上的空 間對象具有相同類型的屬性信息,即每一層存放一種專題或者一類信息,并有一級對應的 數(shù)據(jù)。文件管理策略就是每一類型的地圖數(shù)據(jù)都存放在一個.TAB文件中,對應地圖對象的 屬性數(shù)據(jù)則采用一般的關系數(shù)據(jù)庫管理系統(tǒng)來管理,兩者通過一定的機制關聯(lián)起來,多個 不同類型的.TAB文件結(jié)合起來就可以用來表示綜合的地圖信息。這種策略至今仍是GIS的 一種主要數(shù)據(jù)管理方法。MapXtreme系統(tǒng)采用GeosetMan
7、ager來管理這些.TAB文件。GeosetManager可以將多個 .TAB文件打包為一個.GST文件,這個文件就包含對應的地圖信息。把這個.GST文件設置為 MapXBroker的地圖屬性,用戶通過訪問MapXBroker就可以讀取相應的地圖數(shù)據(jù),并可以在 地圖上進行縮放、漫游、訪問地圖上連接的信息,以及制作專題地圖進行地理分析等相關 操作。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領域的一個研究熱點。我們采用Oracle公
8、司的空間數(shù)據(jù)庫管理系統(tǒng)OracleSpatial來管理地圖數(shù)據(jù),利用 OracleSpatial需要注意以下幾個方面問題:(1)地圖數(shù)據(jù)的上傳?,F(xiàn)有的地圖數(shù)據(jù)大多以.TAB文件的格式存放,我們首先需要把 以文件格式存放的GIS數(shù)據(jù)導入服務器端的OracleSpatial中,數(shù)據(jù)上傳工具采用MapInfo 公司的數(shù)據(jù)轉(zhuǎn)化工具EasyLoader。上傳結(jié)束后,OracleSpatial會為每一個上傳的.TAB文 件在數(shù)據(jù)庫中新建一個同名的表格,對應.TAB文件的空間數(shù)據(jù)和屬性數(shù)據(jù)都存放在這個表 格中。(2)地圖數(shù)據(jù)的顯示。MapXtreme可以讀取并顯示OracleSpatial中的地圖數(shù)據(jù)(如下
9、代碼),在顯示的地圖上可以進行縮放、漫游、訪問地圖上連接的信息,以及制作專題地圖進行地理分析等相關操作。. .public void doGet(HttpServletRequest request, HttpServletResponse response)throws IOException, ServletException / 設置ContentTyperesponse.setContentType(“image/gif”);/ mapxtremeservlet地圖服務器urlString m_mxtURL = ""/ 返回響應的輸出流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); / 設置地圖初始大小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ù)具體的應用,在客戶端可以采取三種策略:瘦客戶型、混合客戶型和胖客戶型。瘦客戶型在客戶端不需要安裝任何其它插件,只需要一個瀏覽器即可,服務器將地圖分析結(jié)果以位圖的開工插入到HTML頁面,并將其傳送到客戶端瀏覽器中,顯示出來?;旌峡蛻粜偷膽妹看卧谠L問服務器時,都會從服務器上下載JavaApplet,它能增強客戶端瀏覽器的地圖分析功能。但是,下載Applet會增加網(wǎng)絡的流量,并且Applet的使用也會影
13、響頁面的顯示速度。胖客戶端類型的應用在第一次訪問服務器時,會下載MapJ控件。它可以接受服務器端傳送過來的矢量地圖數(shù)據(jù),直接在客戶端基于矢量數(shù)據(jù)進行地理分析。雖然這種方式能最大可能地增加客戶端的功能,但由于這種方式每次都要傳送大量的矢量地圖數(shù)據(jù),所以初次登錄時頁面顯示速度最慢。4.3 擴展機制在構(gòu)建WebGIS應用之前,應當事先考慮到網(wǎng)站的擴展問題。對MapXtreme來說,地圖引擎在用戶的每一個會話期間都要創(chuàng)建一個MapXServer對象實例,并保持其激活狀態(tài)直至用戶會話結(jié)束;每個MapXServer都會戰(zhàn)勝自己獨立的處理空間(CPU、內(nèi)存硬件資源),如果同時有幾百甚至上千個用戶訪問的話,服
14、務器將面臨嚴峻的考驗;另外為每一個用戶都維持一個激活的MapXServer實例是一種低效率的做法,如何解決這個問題將直接關系到我們開發(fā)的系統(tǒng)是否具有實用價值,是否具有生存價值。我們可以采用兩種工作機制來實現(xiàn)平衡,以解決這個問題:橫向擴展和縱向擴展。(1)橫向擴展。橫向擴展指的是和種分布式配置方式,是通過增加服務器的數(shù)目來分擔單臺服務器的過重負載的。這種方式需要在每臺服務器上安裝MapXtreme,適合于訪問量非常大的系統(tǒng),但代價非常昂貴。(2)縱向擴展??v向擴展是通過MapXtreme的MapXBroke組件優(yōu)化Web服務器來實現(xiàn)的。MapXBroker是作為一種系統(tǒng)服務運行于服務器系統(tǒng)上的,
15、當它啟動時就會創(chuàng)建一個MapXServer的共享池(稱為預啟動機制)。當一個MapXtreme應用程序需要執(zhí)行與地圖操作相關的請求時,就向MapXBroker申請一個MapXServer的對象實例;當含地圖的主頁動態(tài)生成以后,再把MapXServer實例釋放給共享池,以便其它用戶申請。這種共享機制使有限的資源可以支持多個用戶并發(fā)請求;這種機制的另一個好處在于當應用程序申請MapXServer對象時,該對象已經(jīng)存在于共享池中并運行著(預啟動機制),因而比申請時再創(chuàng)建一個MapXServer對象要快得多。在實際的應用中,可以根據(jù)具體情況采用橫向擴展與縱向擴展相結(jié)合的方法。5. 具體實現(xiàn)(1) 在當
16、前網(wǎng)速快,電腦配置好的大環(huán)境下,可以選用瘦客戶端策略??蛻舳瞬恍枰惭b任何軟件,就像瀏覽網(wǎng)頁一樣操作電子地圖。(2) 地圖數(shù)據(jù)采用文件策略與空間數(shù)據(jù)庫策略混合的方式。文件策略的優(yōu)勢是數(shù)據(jù)源鏈接速度快、空間操作響應速度快,我們將背景圖、小區(qū)分布圖等保密要求不高和不常更新的數(shù)據(jù)以文件形式保存??臻g數(shù)據(jù)庫策略的優(yōu)勢是解決多用戶并發(fā)編輯的問題、解決數(shù)據(jù)安全的問題、高效的空間索引機制、數(shù)據(jù)的分布式存儲和管理以及GIS的長事物處理等,故我們將關鍵數(shù)據(jù)放到空間數(shù)據(jù)庫中保存。(3) 根據(jù)MapXtreme內(nèi)部提供的MapJ對象實現(xiàn)地圖的放大、縮小、定位、測量等功能,實現(xiàn)二次開發(fā)。(4) 設定地圖放大的比例精確到小區(qū)。(5) 具體詳細操作提供搜索功能,可以根據(jù)圖元屬性搜索圖元,搜索到的圖元以高亮顯示。選中圖元(如退役干部)時,從
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2020年高考生物試卷(新課標Ⅰ卷)含答案解析
- 辦公區(qū)域電力負荷計算與配置規(guī)劃
- 魯迅作業(yè)-淺議《傷逝》
- 《基礎會計》每章節(jié)題目
- 食品安全小班教案(6篇)
- 寧夏回族自治區(qū)-2019-2020年度中考生物試題分項版解析匯編B卷
- 健康知識在家庭教育中的傳播機制研究
- 企業(yè)內(nèi)部慶典活動的全方位安全保障策略
- 全球化趨勢下的多語言支持在跨國企業(yè)網(wǎng)絡溝通平臺的實際應用案例
- 從教育到科技全面提升母嬰健康管理
- 2024年安徽省廣播電視行業(yè)職業(yè)技能大賽(有線廣播電視機線員)考試題庫(含答案)
- 山東省濟南市濟陽區(qū)三校聯(lián)考2024-2025學年八年級上學期12月月考語文試題
- 糖尿病酮酸癥中毒
- Unit 6 Food Lesson 1(說課稿)-2024-2025學年人教精通版(2024)英語三年級上冊
- 東北師大附屬中學2025屆高一物理第一學期期末質(zhì)量檢測試題含解析
- HSE(健康、安全與環(huán)境)計劃書
- 雨的形成課件教學課件
- 金蛇納瑞2025年公司年會通知模板
- 部編版小學五年級上冊道德與法治單元檢測試卷含答案(全冊)
- 有限空間應急預案演練方案及過程
- GB/T 16288-2024塑料制品的標志
評論
0/150
提交評論