王 輝 唐俊勇 田鵬輝
(西安工業(yè)大學(xué)計算機科學(xué)與工程學(xué)院,陜西 西安 710032)
基于Flex和ArcIMS的WebGIS設(shè)計
王 輝 唐俊勇 田鵬輝
(西安工業(yè)大學(xué)計算機科學(xué)與工程學(xué)院,陜西 西安 710032)
采用傳統(tǒng)的信息管理系統(tǒng)難以滿足火電行業(yè)對煤礦等地理數(shù)據(jù)的需求,為此設(shè)計開發(fā)基于Flex和ArcIMS相結(jié)合的WebGIS系統(tǒng),用于全國各大火力發(fā)電廠煤源及煤礦等地理數(shù)據(jù)的管理與查詢。在WebGIS系統(tǒng)采用Flex技術(shù)和瀏覽器相結(jié)合,用ArcIMS技術(shù)進行地圖數(shù)據(jù)的發(fā)布及處理,結(jié)果表明,F(xiàn)lex技術(shù)與ArcIMS地圖發(fā)布軟件相結(jié)合,在WebGIS開發(fā)和應(yīng)用中有著廣闊的應(yīng)用前景。
地理數(shù)據(jù);WebGIS系統(tǒng);Flex技術(shù);ArcIMS技術(shù)
在地理學(xué)、地圖學(xué)、測量學(xué)以及計算機科學(xué)等學(xué)科的基礎(chǔ)上發(fā)展起來地理信息系統(tǒng)(Geographic Information System,GIS),GIS系統(tǒng)將數(shù)據(jù)庫和計算機圖形學(xué)融于一體,把相關(guān)屬性和地理位置有機結(jié)合,與普通信息系統(tǒng)相比,提供的數(shù)據(jù)更加形象直觀,同時具有獨特的空間分析能力等特點。
基于Flex和ArcIMS的WebGIS系統(tǒng)的任務(wù)是在瀏覽器端以電子地圖,即網(wǎng)絡(luò)地理信息系統(tǒng)(WebGIS)的形式給出全國主要煤礦、各大電力集團公司控股電廠以及全國主要電廠的分布情況及相關(guān)信息,在電子地圖上以不同的編碼符號標(biāo)記出電廠和煤礦,以便用戶在瀏覽器端通過對地圖的各種操作,實現(xiàn)及時、高效的信息查詢和管理等工作。文章圍繞火力發(fā)電中煤源及電廠信息管理的地理信息的設(shè)計與實現(xiàn),重點闡述WebGIS的設(shè)計思路及具體實現(xiàn)方法。
基于Flex和ArcIMS的WebGIS使用ArcIMS實現(xiàn)研發(fā)。ArcIMS作為第二代互聯(lián)網(wǎng)地理信息系統(tǒng)平臺由ESRI發(fā)布,ArcIMS軟件是基于互聯(lián)網(wǎng)的開發(fā)平臺,是實現(xiàn)WebGIS開發(fā)比較常用的開發(fā)軟件,ArcIMS包括Web服務(wù)器、WebGIS服務(wù)器、數(shù)據(jù)庫以及瀏覽器等四個部分。ArcIMS系統(tǒng)結(jié)構(gòu)如圖1所示。
圖1 基于Flex的WebGIS結(jié)構(gòu)
首先搭建數(shù)據(jù)服務(wù)模塊、Flash以及相關(guān)的JavaScript等接口軟件,將這些模塊構(gòu)筑在瀏覽器以及Web服務(wù)器兩層之間;然后借助Socket實現(xiàn)網(wǎng)頁間的數(shù)據(jù)傳遞通信,并將HTTP傳輸壓力轉(zhuǎn)到Socket框架,最終實現(xiàn)實時地查詢、瀏覽以及操作電子地圖。系統(tǒng)概要框架如圖2所示。
圖2 系統(tǒng)概要框架
在煤源及電廠地理信息管理系統(tǒng)中,電廠與煤礦基本信息包括有電廠和煤礦的具體地理位置以及相關(guān)信息,屬于專題地理信息數(shù)據(jù)。如何將這些數(shù)據(jù)正確、高效的存儲和管理,是本文的主要研究任務(wù),即如何以電子地圖的形式給出主要的煤源及電廠在全國地圖上的分布情況及相關(guān)信息,并在地圖上以不同的符號進行標(biāo)識,并能夠通過地圖查詢數(shù)據(jù)庫中的相關(guān)數(shù)據(jù) 。地圖數(shù)據(jù)是保存地圖顯示的電廠和礦區(qū)的數(shù)據(jù)。包括電子地圖的顯示;電子地圖的放大與縮??;電子地圖的漫游(平移);電子地圖的復(fù)位;電子地圖圖層的分層顯示;電子地圖上不同地物(電廠和煤礦)基本信息的查詢;電廠鍋爐設(shè)備數(shù)據(jù)和燃煤情況詳細信息的查詢;煤礦煤種詳細信息的查詢。
3.1背景地圖的獲取處理
基于Flex和ArcIMS的WebGIS系統(tǒng)中背景地圖可來源于公眾概念地圖、地理學(xué)專業(yè)地圖、衛(wèi)星航拍地形圖或工程平面圖。后三種地圖要到測繪單位或?qū)iT機構(gòu)購買,經(jīng)濟成本較高,加之地理專業(yè)地圖大部分是用專門的GIS軟件制作而成,不能導(dǎo)入到Adobe Flash CS6中。經(jīng)多方調(diào)研,WebGIS系統(tǒng)決定采用公眾概念地圖。
公眾概念地圖,根據(jù)使用目的不同,有行政地圖、交通地圖、經(jīng)濟地圖、礦產(chǎn)資源地圖等等。根據(jù)系統(tǒng)的實際需要,決定采用最新的全國以及分省行政圖和交通圖作為背景地圖的來源。這將比從測繪單位購買現(xiàn)成的電子地圖經(jīng)濟得多。收集到的背景地圖資料,經(jīng)過數(shù)字化儀或高分辨率掃描儀掃描后,以柵格圖形式存儲,必須再經(jīng)過編輯處理,才能進行使用。為了實現(xiàn)地圖的無極縮放,擬采用矢量圖格式的數(shù)字化地圖。
(1)背景地圖的矢量。在Flash中可以使用兩個不同的思路得到我們所需要的矢量地圖,其中一個是在Flash中導(dǎo)入備用的柵格地圖,然后把這個地圖做為模板,并在此圖層的基礎(chǔ)上建立一個新的矢量地圖圖層,再借助Flash本身的繪圖功能,以模板地圖為樣板,繪制出一個幾乎一樣的地圖;另一個思路比較簡單,在Flash中,使用其自帶的“修改”工具欄中的“轉(zhuǎn)換位圖為矢量圖”,來實現(xiàn)地圖自動矢量化。對比這兩個思路,思路一的矢量效果雖然好些,但較費時;思路二的矢量效果較差,但所需時間較短。由于今后地圖的效果以及編輯后地圖數(shù)據(jù)的大小,本系統(tǒng)決定采用第一種方法。
(2)矢量地圖的處理。電子地圖在制作時一定要從客戶使用上的感覺做為基礎(chǔ)和依據(jù),要求能夠清晰、準(zhǔn)確、客觀的體現(xiàn)各種地理現(xiàn)象、模式和過程。在設(shè)計電子地圖時,不可以直接對用戶使用地圖的環(huán)境進行操控,也不可能確保用戶使用時的地圖效果。尤其是在顏色的操控上經(jīng)常會發(fā)生出入,瀏覽器端的地圖顏色通常會與在設(shè)計開發(fā)時的顏色有誤差,這個誤差有可能會大到讓人覺得這個地圖與設(shè)計的完全不一樣。因此,應(yīng)該盡可能地使用質(zhì)樸的顏色,避免誤差或者是減少誤差。
①顏色修改。當(dāng)設(shè)計地圖顏色時,使用計算機的最低的顏色配置,需要使用網(wǎng)頁設(shè)計的安全顏色。即使計算機能安全顯示16位或24位顏色,我們在設(shè)計時依然要采用最安全的方法,即使用8位顏色。8位環(huán)境中設(shè)置顏色的優(yōu)點是系統(tǒng)顏色更加安全,能夠有效防止嚴(yán)重色偏;生成的地圖圖像小,便于互聯(lián)網(wǎng)的傳輸;可以滿足一般地圖的需求,一般地圖只具有十幾種顏色。
在網(wǎng)頁環(huán)境中,總是或多或少存在著色偏,在處理深色時,由于顏色的誤差不是很大,造成的影響也就不大;相反的對于淺色,有時一點點色偏都會非常明顯的表現(xiàn)出來,這樣就很容易造成淺色的丟失,特別是在完成大面積的顏色鋪染時候,差別更加明顯。因此本系統(tǒng)電子地圖在著色上,盡量采用深色,避免淺色。
②線條處理。在地圖中有代表河流、鐵路及區(qū)域輪廓等線條。對于Web地圖的線符而言,必須選擇合適的視覺變量來設(shè)計。線狀符號與地圖的比例尺具有特殊的關(guān)系,必須根據(jù)地圖比例尺來相應(yīng)的確定線狀符號的長度。相同的線狀實體,在比例尺小的地圖上就要比比例尺大的地圖上短,因此,就必須確保在比例尺不一樣的地圖上,所得到的線狀實體的實際長度都是正確的。由于地圖對于線狀符號寬度的精度要求不是很嚴(yán)格,沒有寬度和比例尺的數(shù)學(xué)要求,因此可以直觀的只要視覺上符合要求即可。如果一條公路的實際長度和寬度分別為100km和50m,則在1:100萬地圖上,該公路的線狀符號的長度則必須嚴(yán)格依據(jù)比例尺計算為10cm,但是寬度則不能按照比例尺確定為0.05mm,那是由于人的視覺對線寬的最低接受標(biāo)準(zhǔn)是0.1 mm。因此考慮到視覺感受的特點,就將線寬確定為0.2mm。
③文字處理。在將柵格地圖文件轉(zhuǎn)存成矢量地圖的時候,如果柵格地圖中的文字變形了,就必須在矢量地圖中再次插入矢量文字。
④符號處理。符號除了具有其本身的含義外,當(dāng)這些符號使用集合體現(xiàn)在專題圖上的時候,還有可能具有超過其符號總量的一些潛在的含義,很大程度取決于它們是否選用了最合適的表達方式。因為電子地圖和紙質(zhì)地圖不論是使用環(huán)境,還是表現(xiàn)方式等都有相當(dāng)大的差異,所以在符號的設(shè)計等方面也會有很大的不同。和紙質(zhì)地圖對比,由于其分辨率比較低,因此傳統(tǒng)地圖中很多精致的符號在電子地圖中都看不清細節(jié)。另外還可借助于聽覺和觸覺等獲取信息。針對以上所述電子地圖的一些特點,本系統(tǒng)在設(shè)計 WebGIS中的專題符號時,就需要從符號的色彩、大小、配置以及形狀等幾個方面來考慮。最終設(shè)計出的符號應(yīng)盡可能地形狀簡單、色彩鮮艷并且大小可以根據(jù)圖面的大小協(xié)調(diào)。
WebGIS系統(tǒng)研究初期,遇到如何獲取專題地圖的問題,經(jīng)過多方調(diào)研發(fā)現(xiàn),一般的背景地圖可以來源于公眾概念地圖、地理學(xué)專業(yè)地圖、衛(wèi)星航拍地形圖或工程測量平面圖。經(jīng)過多方面考慮,尤其是課題成本因素的制約,最終決定采用最新的全國以及分省行政圖和交通圖作為背景地圖的來源。這將比從測繪單位購買現(xiàn)成的電子地圖經(jīng)濟得多。
以最新的全國以及分省行政圖和交通圖作為背景,利用Flash、PhotoShop等進行全國電廠以及煤礦分布專題地圖的繪制。雖然節(jié)省了成本,但卻付出了更多的人力和時間。在付出辛勤工作的同時,也深入學(xué)習(xí)并掌握了地圖繪制中的諸多技巧與經(jīng)驗。經(jīng)過處理后的基礎(chǔ)背景地圖如圖3所示。
圖3 處理后的背景地圖
3.2空間數(shù)據(jù)的分層
由于網(wǎng)絡(luò)地圖的顯示區(qū)域較小,且由于下載速度慢或是不均衡,網(wǎng)絡(luò)地圖在內(nèi)容上需分層顯示。圖層顯示主要包括3種方式:圖層控制、視野控制和兩者相結(jié)合等。
在基于Flex和ArcIMS的WebGIS系統(tǒng)中,采用圖層控制的顯示方法,讓用戶自己決定需要顯示的圖層。
電子地圖分為基礎(chǔ)地理要素層、電廠信息層、煤礦信息層和中轉(zhuǎn)地信息層四個圖層?;A(chǔ)地理要素層包括省、市、地區(qū)、縣、鎮(zhèn)等基本行政單位地理信息要素,以及鐵路和公路等要素。電廠信息層主要是全國各大電力集團控股電廠和全國主要火力發(fā)電廠地理信息要素。煤礦信息層 主要是全國大、中型煤礦的地理信息要素。中轉(zhuǎn)地信息層主要是全國大、中型煤礦在港口、碼頭或鐵路運輸樞紐地設(shè)立的一些中轉(zhuǎn)煤炭網(wǎng)點。
3.3地理數(shù)據(jù)與MIS數(shù)據(jù)的顯示
以ArcIMS開發(fā)WebGIS,通過ArcSDE把MIS和地理數(shù)據(jù)集中到一個數(shù)據(jù)庫中管理,對WebGIS與MIS的集成統(tǒng)一非常有利。ArcSDE最主要的就是可以完成訪問存儲在關(guān)系數(shù)據(jù)庫中的海量多用戶地理數(shù)據(jù)庫,這是ArcGIS中系統(tǒng)集成的一部分,也是企業(yè)GIS方案中的核心設(shè)計因素?,F(xiàn)在的ArcSDE一般采用三層C/S模式,如圖4所示。
圖4 ArcSDE三層模式
在三層體系架構(gòu)中,ArcSDE客戶端會首先發(fā)出請求,然后由giomgr進程處理該請求,包括驗證輸入的ArcSDE服務(wù)器名、用戶名和密碼的正確合法性。若合法就會激活服務(wù)器進程gsrvr,與此同時將數(shù)據(jù)傳遞給ArcSDE服務(wù)器,由gsrvr進程和DBMS通信,實現(xiàn)數(shù)據(jù)庫的連接。ArcSDE的giomgr進程會為每個應(yīng)用程序建立gsrvr進程,gsrvr進程是單用戶連接專用,表示應(yīng)用程序和數(shù)據(jù)庫的交互。
ArcSDE一般采用三種方法實現(xiàn)矢量數(shù)據(jù)的加載:使用ArcCatalog或ArcToolbox中的shapefile to Geodatabase完成地理數(shù)據(jù)庫的轉(zhuǎn)入、直接使用命令行或者使用程序?qū)崿F(xiàn)入庫。三種方法相比較采用ArcCatalog會更方便。
當(dāng)確定好數(shù)據(jù)庫后,怎樣將地理數(shù)據(jù)和MIS數(shù)據(jù)結(jié)合起來并展示給用戶,就要根據(jù)用戶的具體需求實現(xiàn)相關(guān)的設(shè)計。在基于ArcIMS的WebGIS開發(fā)中,應(yīng)該從以下幾個方面考慮:
(1)地理數(shù)據(jù)和MIS數(shù)據(jù)的分別顯示:地理數(shù)據(jù)主要是顯示在地圖上,相反MIS數(shù)據(jù)則主要是顯示在網(wǎng)頁中,以及如何將二者的信息結(jié)合起來顯示。
(2)地理數(shù)據(jù)和MIS數(shù)據(jù)的關(guān)聯(lián)顯示:通過MIS數(shù)據(jù)表與空間數(shù)據(jù)表的有機結(jié)合,生成專題圖,可以得到對目標(biāo)數(shù)據(jù)的統(tǒng)計分析。
3.4服務(wù)器端設(shè)計與實現(xiàn)
ArcIMS地圖發(fā)布方案的架構(gòu)主要包括地圖核心組件庫和前臺交互框架兩個部分。地圖核心庫包含Layers、IMSMap、Fields、QueryFilter、Renderer、Point等與地圖應(yīng)用有關(guān)的接口和類,這些接口和類定義了如何把地圖概念轉(zhuǎn)變?yōu)锳rcXML文本的具體方式,此外還定義了與地圖相關(guān)的若干操作,而實現(xiàn)ArcIMS通訊的操作則在IMSMap中給出了詳細的說明,首先由IMSMap組織并翻譯為ArcXML文本請求,然后將該請求發(fā)送到ArcIMS服務(wù)器,ArcXML的結(jié)果將會被解析反應(yīng)到各個受影響的對象中。前臺交互框架使用設(shè)計模式中的命令模式把用戶的操作分為與地圖沒有鼠標(biāo)交互的 Command和與地圖有鼠標(biāo)交互的 Tool兩類,同時還定義了 MapHook對象對這些Command和Tool實現(xiàn)管理。該交互框架與GIS的開發(fā)很像,可以較快地遷移到WebGIS開發(fā)中。
地圖核心庫可以根據(jù)ArcXML特點,參照ArcEngine接口設(shè)計了API,該API采用Action Script與ArcIMS實現(xiàn)通信,然后完成相關(guān)的地圖操作。該API組件中封裝大量的ArcXML解析與組裝的功能,用地圖的概念展示這些功能,提高了系統(tǒng)的復(fù)用性。該組件包括如下三個部分:Flex與ArcIMS的通信組件IMSConnection;Flex地圖數(shù)據(jù)管理與操作組件;Flex地圖渲染組件。
基于Flex和ArcIMS技術(shù)的WebGIS系統(tǒng)的基本操作包括地圖的放大、縮小、漫游(即平移)和圖層分層顯示控制等功能。在 WebGIS系統(tǒng)設(shè)計實現(xiàn)過程中遇到了很多問題,主要包括地圖縮放與平移的實現(xiàn)等,具體解決方法介紹如下。
地圖的縮放與平移操作,是最基本的地圖操作。在桌面GIS軟件中,一般都集成在開發(fā)環(huán)境自帶的API函數(shù)中,只需要簡單調(diào)用一下即可實現(xiàn)。而WebGIS,涉及到服務(wù)器與客戶端的數(shù)據(jù)同步通訊,實現(xiàn)起來要復(fù)雜的多。下面通過放大操作為例,簡要闡述其實現(xiàn)過程。
完成地圖放大的操作過程主要有如下幾步:獲取當(dāng)前屏幕坐標(biāo)點的坐標(biāo);將坐標(biāo)變成ArcIMS中的坐標(biāo);把這個坐標(biāo)定義成地圖的中心點并且設(shè)置縮放比;最后渲染刷新。
借助ActionScript獲取當(dāng)前屏幕點坐標(biāo),將獲取到的屏幕坐標(biāo)在servlet中變成ArcIMS地圖需要的坐標(biāo),之后就要調(diào)用ArcIMS里相應(yīng)的坐標(biāo)轉(zhuǎn)換方法就可以實現(xiàn)。得到了轉(zhuǎn)換后的坐標(biāo)后,就將該坐標(biāo)定義成當(dāng)前地圖的中心點,然后再設(shè)置縮放比,借助ArcIMS的SetZoomAndCenter可設(shè)置中心點和縮放比。最后再通過Flex的渲染器渲染之后,刷新整個地圖就可以看到效果了。至于縮小地圖的操作,僅僅只要改變它的縮放比就可以實現(xiàn),修改中心點坐標(biāo)就可以實現(xiàn)平移。
本文從WebGIS和ArcIMS技術(shù)入手,詳細闡述了基于Flex和ArcIMS體系結(jié)構(gòu),并在此基礎(chǔ)上介紹了實現(xiàn)WebGIS詳細過程。文章首先從使用角度和目前互聯(lián)網(wǎng)的狀況出發(fā),對各種 WebGIS的實現(xiàn)方法進行了深入的比較后,采用ArcIMS系統(tǒng)平臺進行開發(fā) Web電子地圖。該系統(tǒng)與傳統(tǒng)的MIS管理系統(tǒng)相比,用戶界面更為直觀、豐富,借助于ArcIMS的多種地圖服務(wù)功能和Flash Remoting通信技術(shù),使得系統(tǒng)在空間信息的發(fā)布和瀏覽速度上得到很大的提高,為 WebGIS應(yīng)用的開發(fā)提供了一種新的思路,對Flex技術(shù)在開發(fā)高交互性 RIA方面的可行性進行了嘗試。結(jié)果表明,F(xiàn)lex技術(shù)與ArcIMS地圖發(fā)布軟件相結(jié)合,在WebGIS開發(fā)和應(yīng)用中有著廣闊的應(yīng)用前景,可以應(yīng)用在諸如校園地理信息管理、中小企業(yè)廠區(qū)管理等領(lǐng)域。
在基于Flex的WebGIS設(shè)計基礎(chǔ)上,深入開展如下研究:電子地圖的可視化研究;專家系統(tǒng)的研究,通過研究本系統(tǒng)存儲的大量相關(guān)數(shù)據(jù),可以找出電站鍋爐與發(fā)電燃煤的耦合關(guān)系,以便更好地服務(wù)于我國的火力發(fā)電;數(shù)據(jù)挖掘技術(shù)方面的研究。十幾年來累積電站鍋爐設(shè)備數(shù)據(jù)的資料的匯總,信息量龐大,對這些數(shù)據(jù)進行自動的、智能化的分析,提取其整體特征并對某些信息的發(fā)展趨勢進行預(yù)測,可以很好的解決我國火力發(fā)電中存在的“爆管”問題。
[1] 徐新燕,譚帥.基于Flex的ArcIMS地圖發(fā)布研究[J].現(xiàn)代測繪,2007,30(3):53-54,64.
[2] 汪林林,胡德華,王佐成,等.基于Flex的RIA WebGIS研究與實現(xiàn)[J].計算機應(yīng)用,2008,32(12):3257-3260.
[3] 徐新艷,談帥.基于Flex的ArcIMS地圖發(fā)布研究[J].現(xiàn)代測繪,2007,30(3):44-46.
[4] 林錦川,陳平華,歐陽紹聰,等.基于Flex的網(wǎng)絡(luò)電子地圖研究與實現(xiàn)[J].現(xiàn)代計算,2009,(11):138-140.
[5] 胡祥培,劉偉國,王旭茵.地理信息系統(tǒng)原理及應(yīng)用[M].北京:電子工業(yè)出版社,2011:15-20.
Design of WebGIS based on Flex and ArcIMS
In the paper, a project is developed that a management information system based on internet geographic information system, it can be quick, concise, and efficient to manage data, better serve the coal-fired power plant or related enterprises and institutions. The paper first analyzes the basic construction of Flex and ArcIMS rich internet application technology,secondly, based on this construction, the paper proposed a general framework of WebGIS system, and the database model, the server of coal furnace type coupling data management information system is designed and realized. The result conforms that Flex technology is operable and has a splendid applied foreground in improving interactivity and expressiveness of WebGIS.
Geographic information system; WebGIS; Flex; ArcIMS
U416.01
A
1008-1151(2015)09-0011-04
2015-08-11
西安工業(yè)大學(xué)校長基金(XAGDXJJ1216)。
王輝(1975-),女,西安工業(yè)大學(xué)計算機科學(xué)與工程學(xué)院講師,研究方向為計算機網(wǎng)絡(luò),網(wǎng)絡(luò)安全,網(wǎng)絡(luò)協(xié)議與分析。