袁懷月,侯澄宇,楊 恒
(中冶集團(tuán)武漢勘察研究院有限公司,湖北 武漢 430080)
基于A rcGIS Flex API的工廠基礎(chǔ)地理信息共享服務(wù)系統(tǒng)設(shè)計(jì)
袁懷月,侯澄宇,楊 恒
(中冶集團(tuán)武漢勘察研究院有限公司,湖北 武漢 430080)
分析傳統(tǒng)B/S模式下WebGIS應(yīng)用存在的問題,提出一種新型基于A rcGIS Flex API技術(shù)構(gòu)建的 WebGIS開發(fā)框架。采用該框架開發(fā)的工廠基礎(chǔ)地理信息共享服務(wù)系統(tǒng)相對(duì)傳統(tǒng)WebGIS系統(tǒng)具有可靈活擴(kuò)展、交互能力強(qiáng)、運(yùn)行效率高、表現(xiàn)力豐富、用戶體驗(yàn)好的特點(diǎn)。根據(jù)工廠基礎(chǔ)地理信息管理的需求,系統(tǒng)成功實(shí)現(xiàn)了圖文一體化、查詢統(tǒng)計(jì)、空間分析和地圖申請(qǐng)與下載等高級(jí) GIS功能。
地理信息系統(tǒng);工廠;A rcGIS Server;Flex
隨著 GIS軟件技術(shù)的發(fā)展,地理信息技術(shù)在工廠的應(yīng)用也大致經(jīng)歷了3個(gè)發(fā)展階段,第一代 GIS系統(tǒng)是單機(jī)版程序,以文件系統(tǒng)來管理空間數(shù)據(jù)與屬性數(shù)據(jù),以圖形管理為主,數(shù)據(jù)管理復(fù)雜,數(shù)據(jù)量小。第二代 GIS系統(tǒng)采用Client/Server架構(gòu),即客戶端/服務(wù)器結(jié)構(gòu),服務(wù)器通常采用高性能的PC工作站或小型機(jī),并采用大型數(shù)據(jù)庫系統(tǒng),如O racle、Sybase、Info rmix等,客戶端需要安裝專用軟件。在這種構(gòu)架中,實(shí)現(xiàn)空間數(shù)據(jù)和屬性數(shù)據(jù)一體化管理,通常有一部分?jǐn)?shù)據(jù)或邏輯處理會(huì)被放在客戶端進(jìn)行。是一種典型的“胖客戶”類型,這種 GIS系統(tǒng)的布署、升級(jí)、維護(hù)均較困難。第三代 GIS系統(tǒng)采用Brow ser/Server架構(gòu),客戶機(jī)上只要安裝一個(gè)瀏覽器 ,如 Internet Exp lo rer 或 Netscape Navigato r,就可以同服務(wù)器進(jìn)行數(shù)據(jù)交互。Web服務(wù)器和數(shù)據(jù)庫服務(wù)器承擔(dān)了絕大部分的客戶請(qǐng)求處理,客戶端只是將處理結(jié)果以網(wǎng)頁的形式表現(xiàn)出來,基本不承擔(dān)數(shù)據(jù)邏輯處理的任務(wù)。這也就是所謂“瘦客戶端”的模式。
但是,隨著B/S模式越來越廣泛應(yīng)用,其弊端也隨之顯露,客戶端事件處理能力低,只能通過服務(wù)器更新頁面數(shù)據(jù),這使WebGIS不能實(shí)現(xiàn)數(shù)據(jù)同步更新和脫機(jī)處理,造成響應(yīng)速度慢;基于 H TML無法擴(kuò)展,不利于地理信息的共享和互操作,影響了WebGIS的開發(fā)性和擴(kuò)展性??梢?合理分配Web-GIS服務(wù)器端和客戶端的資源,提高WebGIS的性能和交互能力,是 WebGIS更加實(shí)用的關(guān)鍵。富互聯(lián)網(wǎng)應(yīng)用程序(Rich Internet App lication,RIA)正是為了填補(bǔ)服務(wù)器端與客戶端之間的“鴻溝”所設(shè)計(jì)的一種全新Web應(yīng)用解決方案,能夠?qū)崿F(xiàn)更加直觀、響應(yīng)快速、用戶體驗(yàn)好的應(yīng)用服務(wù),可以開發(fā)出將桌面軟件的強(qiáng)交互性和豐富內(nèi)容與Web的廣度結(jié)合在一起的應(yīng)用程序。
2.1 RIA與Flex技術(shù)
RIA是一種具有近似于傳統(tǒng)桌面應(yīng)用功能和特性的網(wǎng)絡(luò)應(yīng)用。與傳統(tǒng)的將大部分交互應(yīng)用集中在服務(wù)器端的網(wǎng)絡(luò)應(yīng)用程序不同的是,RIA將大部分業(yè)務(wù)邏輯從服務(wù)器端移植到客戶端,僅保留一些基礎(chǔ)的業(yè)務(wù)邏輯在服務(wù)器端。這種新的網(wǎng)絡(luò)應(yīng)用架構(gòu)方式的關(guān)鍵機(jī)制在于在客戶端與服務(wù)器端之間引入了通常被叫做“客戶端引擎”的中間層。這種客戶端引擎通常作為應(yīng)用初始化的一部分或后續(xù)的程序補(bǔ)丁被下載,從而在瀏覽器的支持下來承擔(dān)用戶界面以及與服務(wù)器端進(jìn)行通信的職責(zé)。RIA相對(duì)于傳統(tǒng)網(wǎng)絡(luò)應(yīng)用的優(yōu)勢(shì)主要表現(xiàn)在:客戶端表現(xiàn)力豐富,RIA界面的反應(yīng)迅速,可使客戶端和服務(wù)器端對(duì)資源的需求更加平衡,用戶可在客戶端引擎與服務(wù)器端通信的同時(shí)異步地進(jìn)行頁面瀏覽或交互、信息傳輸?shù)男矢摺?/p>
Flex是M acromedia公司(該公司后來被A dobe公司收購)于2004年推出的 RIA客戶端開發(fā)產(chǎn)品,它利用了Flash客戶端在全世界的高普及率(高達(dá)98%以上),Flash相比 H TML而言豐富的展現(xiàn)能力這些已有優(yōu)勢(shì),在服務(wù)器端動(dòng)態(tài)地生成 Flash SW F文件返回給瀏覽器客戶端。這樣,如果將Flex的強(qiáng)大客戶端表現(xiàn)能力和服務(wù)器端的數(shù)據(jù)邏輯處理能力相結(jié)合,就可以向用戶提供超過C/S的用戶體驗(yàn)。Flex作為RA I構(gòu)架的解決方案,吸取了C/S和B/S構(gòu)架的優(yōu)點(diǎn),同時(shí)最大程度避免了兩者的缺點(diǎn)。
2.2 A rcGIS Server
A rcGIS Server是一個(gè)發(fā)布企業(yè)級(jí) GIS應(yīng)用程序的綜合平臺(tái),支持的 GIS軟件可以集中管理并且支持多用戶。A rcGIS Server提供了創(chuàng)建和配置GIS應(yīng)用程序和服務(wù)的框架,這樣可以滿足各種客戶端的各種需求。A rcGIS Server 9.3版本支持使用REST接口發(fā)布 GIS服務(wù),所有的資源和操作都由REST API暴露,這些資源和操作的訪問都是通過A rcGIS Server發(fā)布的 GIS服務(wù)的URL得到。
2.3 A rcGIS APIfor Flex
A rcGIS Server Flex開發(fā)接口基于Adobe的RIA技術(shù),ESRI推出的A rcGIS Flex API,它集成了REST API,簡(jiǎn)化了在 Web上對(duì) GIS資源的訪問。使用A rcGIS Flex API開發(fā)的Flex應(yīng)用,可以非常便捷地使用地圖功能和REST接口提供的GIS查詢及分析功能,開發(fā)人員可快速創(chuàng)建出功能豐富、操作便利并具備極強(qiáng)視覺沖擊力的WebGIS應(yīng)用程序。
2.4 Flex數(shù)據(jù)通信服務(wù)
Flex中提供了3種方式與數(shù)據(jù)庫通信:Http S-ervice、WebService和 Flash Remoting。系統(tǒng)主要使用了后2種通訊技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫查詢,簡(jiǎn)單介紹如下:
WebService對(duì)象位于m x.rpc.soap包。從用戶的角度看,WebService就是一個(gè)應(yīng)用程序,它向外界暴露出能夠通過Web進(jìn)行調(diào)用的API集合,用戶可以通過調(diào)用這些 API來實(shí)現(xiàn)某些功能。WebService采用 WSDL(WebService描述語言),用來描述WebService的相關(guān)信息及其函數(shù)、參數(shù)和返回值。WSDL使用XM L語法,并定制了嚴(yán)格的格式。在WSDL中,包括了 WebService程序的路徑、所有的函數(shù)以及每個(gè)函數(shù)所要求的參數(shù)等信息。
Flash Remoting是一種連接Flash客戶端和服務(wù)端的技術(shù),它采用基于二進(jìn)制的AM F協(xié)議進(jìn)行數(shù)據(jù)交換,其最大特點(diǎn)是在信息交互時(shí)可以自動(dòng)完成客戶端數(shù)據(jù)類型到服務(wù)端數(shù)據(jù)類型的轉(zhuǎn)換,由于它采用二進(jìn)制對(duì)數(shù)據(jù)進(jìn)行編碼,傳送效率高,遠(yuǎn)遠(yuǎn)超過 H TTPService、WebService等方式,因此,采用Flash Remo ting方式可以大大地提高頁面響應(yīng)速度。系統(tǒng)利用開源的第三方軟件 Fluorinefx和.NET平臺(tái)來實(shí)現(xiàn)對(duì)遠(yuǎn)程服務(wù)的訪問,Fluo rinefx作為Flash客戶端與.NET交互的應(yīng)用網(wǎng)關(guān),負(fù)責(zé)Flex與.NET之間的數(shù)據(jù)類型轉(zhuǎn)換,部署在J2EE/.NET應(yīng)用服務(wù)器上,連接客戶端與遠(yuǎn)程服務(wù);遠(yuǎn)程服務(wù)則在.NET環(huán)境中編碼實(shí)現(xiàn),并以類庫的形式駐留在應(yīng)用服務(wù)器上供客戶端RemoteObject組件調(diào)用。
基于A rcGIS Flex API的工廠基礎(chǔ)地理信息共享服務(wù)系統(tǒng)開發(fā)框架設(shè)計(jì)如圖1所示。
3.1 數(shù)據(jù)層
圖1 基于ArcGIS Flex API的工廠基礎(chǔ)地理信息共享服務(wù)系統(tǒng)開發(fā)框架
數(shù)據(jù)層主要包括空間數(shù)據(jù)引擎A rcSDE以及工廠基礎(chǔ)地形圖、各種管線專題圖(如:生產(chǎn)上水、生活上水、消防水、供電、高爐煤氣等)和其他業(yè)務(wù)數(shù)據(jù)(如:用于位置搜索的道路名稱、重點(diǎn)建筑物名稱等)。空間數(shù)據(jù)和屬性數(shù)據(jù)存取在Oracle10g中,由A rcSDE進(jìn)行統(tǒng)一維護(hù)管理;其他一些數(shù)據(jù),如系統(tǒng)配置文件、圖片、視頻等不便于數(shù)據(jù)庫存儲(chǔ)管理的數(shù)據(jù)以文件的方式存放在服務(wù)器端,供服務(wù)層調(diào)用。
3.2 服務(wù)層
服務(wù)層作為整個(gè)框架的核心,提供 GIS地圖服務(wù)和遠(yuǎn)程服務(wù)。A rcGIS Server作為 GIS應(yīng)用服務(wù)器,為客戶端提供柵格地圖服務(wù)、矢量地圖服務(wù)、屬性查詢服務(wù)等 GIS服務(wù),并通過A rcSDE連接空間數(shù)據(jù)庫?;贘2EE/.NET的應(yīng)用服務(wù)器則提供各種遠(yuǎn)程服務(wù),方便客戶端與后臺(tái)進(jìn)行業(yè)務(wù)數(shù)據(jù)交互。用戶對(duì)空間對(duì)象的信息查詢將通過各種地圖服務(wù)對(duì)空間數(shù)據(jù)進(jìn)行查詢,而對(duì)業(yè)務(wù)數(shù)據(jù)的查詢將利用基于WebServer或基于AM F協(xié)議的Flash Remoting技術(shù)調(diào)用遠(yuǎn)程服務(wù)進(jìn)行查詢統(tǒng)計(jì)。
3.3 表現(xiàn)層
表現(xiàn)層借助 A rcGIS API fo r Flex和 Flex Framework來設(shè)計(jì)與實(shí)現(xiàn)。為了保證系統(tǒng)框架的簡(jiǎn)易性、靈活性、可重用性、可擴(kuò)展性,根據(jù)功能對(duì)整個(gè)表現(xiàn)層進(jìn)行組件劃分,每個(gè)組件完成不同的應(yīng)用邏輯,但各個(gè)組件又可以互相通信,協(xié)同工作。表現(xiàn)層主要包含AppManager(應(yīng)用管理器)、AppConfig(應(yīng)用配置器)、AppU I(界面管理器)、EventM anager(事件管理器)、M apContainer(地圖容器)、W idgetsContainer(工具集容器)6個(gè)組件。
AppManager作為一個(gè)容器管理整個(gè)富客戶端,實(shí)例化客戶端組件,并對(duì)處于生命期的組件進(jìn)行維護(hù),在組件之間建立通信。
AppConfig負(fù)責(zé)對(duì)基于XML格式的應(yīng)用配置文件進(jìn)行解析、維護(hù)、管理,為其他組件提供相關(guān)的配置信息。
AppU I利用界面配置信息,建立整個(gè)WebGIS應(yīng)用框架客戶端的用戶界面,比如界面CSS樣式、控制條、菜單選項(xiàng)、工具欄等,同時(shí)實(shí)現(xiàn)菜單、工具欄與其他組件的交互接口。
MapContainer是整個(gè)WebGIS應(yīng)用框架的地圖管理核心,響應(yīng)用戶對(duì)地圖的操作和交互。通過請(qǐng)求地圖服務(wù),實(shí)現(xiàn)對(duì)地圖的顯示、信息查詢、分析,并在客戶端對(duì)地圖進(jìn)行渲染。
W idgetsContainer是 W idget(小工具)的容器和管理器,實(shí)例化各個(gè)獨(dú)立的Widget,安排其布局,完成 Widget在生命期中與其他組件的通信與交互,基于這樣的模式,開發(fā)者可以擴(kuò)展或自定義Widget,并交WidgetsContainer組件托管。
EventM anager負(fù)責(zé)整個(gè) WebGIS應(yīng)用框架富客戶端的事件分發(fā)和監(jiān)聽。AppM anager組件通過調(diào)用它的消息分發(fā)、消息監(jiān)聽方法來實(shí)現(xiàn)各種組件之間的通信交互。
從用戶啟動(dòng)富客戶端到與富客戶端進(jìn)行交互,表現(xiàn)層經(jīng)過了如下的生命周期:
1)Flash Player通過加載和運(yùn)行容器Flash文件,在瀏覽器里啟動(dòng)Flash應(yīng)用程序;
2)客戶端開始實(shí)例化,AppManager從 Web Server加載XML配置文件和皮膚 Flash文件應(yīng)用于整個(gè)應(yīng)用程序;
3)基于配置文件,M apContainer容器從地圖服務(wù)器加載Map Services。容器同時(shí)也構(gòu)建并且在控制條上顯示菜單和來自配置文件的標(biāo)記信息;
4)WidgetsContainer根據(jù)在配置文件中指定的 URL s加載 W idget Flash Files;
5)用戶操作Widgets運(yùn)行各種業(yè)務(wù)邏輯。
表現(xiàn)層這種設(shè)計(jì)方法的優(yōu)點(diǎn)是:
1)使開發(fā)人員擺脫地圖管理、地圖導(dǎo)航、應(yīng)用配置、組件間的通信、數(shù)據(jù)管理等繁重復(fù)雜的編程工作,專注于核心業(yè)務(wù)功能開發(fā)。
2)只需要在應(yīng)用程序的配置文件中增加配置項(xiàng),就可以將功能以 W idget的形式快速部署到已有的應(yīng)用中。
3)容器由一系列高粘性、低耦合組件組成。容器會(huì)把關(guān)注的任務(wù)交給相應(yīng)的組件去完成,這樣不但簡(jiǎn)化了代碼維護(hù)和定制,而且縮小了模塊編寫過程中產(chǎn)生的阻力。
系統(tǒng)的交互界面如圖2所示。
圖2 系統(tǒng)的交互界面
根據(jù)大型工廠基礎(chǔ)地理信息管理的需求,系統(tǒng)設(shè)計(jì)了下列功能:
1)地圖瀏覽。用戶可以使用多種方式瀏覽地圖,常用的工具有放大地圖、縮小地圖、平移地圖、顯示全圖,用戶還可直接拖動(dòng)比例尺條來縮放地圖。
2)鷹眼地圖。用戶通過鷹眼地圖了解系統(tǒng)當(dāng)前界面范圍相對(duì)于整個(gè)工廠地圖所處的大概位置。在鷹眼地圖中使用鼠標(biāo)移動(dòng)矩形框,系統(tǒng)界面范圍便會(huì)放大到相應(yīng)位置。
鷹眼地圖實(shí)現(xiàn)方法是:將小比例尺的地圖(如1∶50 000)發(fā)布成地圖服務(wù),在 Widget工具放入一個(gè)Map地圖控件,地圖控件加載該服務(wù)即可。當(dāng)用戶移動(dòng)或縮放系統(tǒng)主視圖時(shí),系統(tǒng)發(fā)送消息給鷹眼地圖,鷹眼地圖收到消息后重新根據(jù)主視圖Map的Extend屬性繪制矩形框,矩形框表示當(dāng)前主視圖范圍相對(duì)于整個(gè)工廠地圖所在的地理位置;反過來,當(dāng)用戶移動(dòng)鷹眼地圖的矩形框時(shí),系統(tǒng)發(fā)送消息給主視圖,通知主視圖更新Extend屬性,實(shí)現(xiàn)地圖的移動(dòng)。
3)圖層控制。使用 A rcGISTiledM ap Service-Layer標(biāo)簽來獲取瓦片圖層數(shù)據(jù)服務(wù),使用A rcGISDynamicMap ServiceLayer標(biāo)簽來獲取動(dòng)態(tài)地圖的數(shù)據(jù)服務(wù),因?yàn)橥咂瑘D層是作為底圖來顯示,動(dòng)態(tài)地圖是疊加到瓦片圖層上顯示的,所以標(biāo)簽放置的順序就應(yīng)該是瓦片圖層在前,動(dòng)態(tài)圖層在后。動(dòng)態(tài)地圖顯示如否、圖層的透明度可由終端用戶自由控制。
4)專題地圖。對(duì)于一些經(jīng)常被調(diào)閱的專題地圖,如生產(chǎn)上水專題、工業(yè)循環(huán)水專題、供電系統(tǒng)等,在A rcMap中渲染好,采用瓦塊圖層方式發(fā)布成地圖服務(wù),這樣地圖顯示速度快,用戶體驗(yàn)好。
5)信息查詢。查詢功能中主要實(shí)現(xiàn)了屬性到圖形查詢、圖形到屬性查詢、空間關(guān)系查詢。例如從圖形查詢屬性這個(gè)功能的實(shí)現(xiàn),首先要接收用戶點(diǎn)擊處的坐標(biāo),然后遍歷當(dāng)前視圖上的所有層,獲取靠近點(diǎn)擊處一定范圍內(nèi)的要素目標(biāo)。組合條件查詢要求選擇字段名和字段值構(gòu)成組合條件來查詢地理要素。
6)位置搜索。系統(tǒng)可針對(duì)道路名稱、重點(diǎn)建構(gòu)筑物名稱進(jìn)行快速定位搜索。實(shí)現(xiàn)方法是將位置信息發(fā)布成一個(gè)地圖服務(wù),終端用戶直接針對(duì)該地圖服務(wù)進(jìn)行搜索,開發(fā)時(shí)使用A rcServer的 Find Task來實(shí)現(xiàn)。
7)區(qū)域圖定位。將工廠按生產(chǎn)工藝分成若干個(gè)區(qū)域,用戶選擇特定區(qū)域名稱后,系統(tǒng)界面范圍可快速定位該區(qū)域,如選擇高爐區(qū),則界面范圍縮放到高爐區(qū)的范圍。實(shí)現(xiàn)這個(gè)功能主要是要獲取用戶選擇的范圍(各區(qū)域范圍值存儲(chǔ)在配置文件中),然后將用戶選擇的范圍賦給M ap地圖控件的 Extent屬性,這樣就實(shí)現(xiàn)定位了。
8)緩沖分析。緩沖區(qū)就是地理空間目標(biāo)的一種影響范圍或服務(wù)范圍,系統(tǒng)可以根據(jù)圖層中的點(diǎn)、線、面要素,在選定的地理要素周圍根據(jù)設(shè)定的緩沖距離產(chǎn)生緩沖區(qū)多邊形。如對(duì)拆遷范圍進(jìn)行20 m的緩沖,求出其緩沖區(qū)范圍,以供進(jìn)一步處理計(jì)算。
9)經(jīng)濟(jì)技術(shù)指標(biāo)統(tǒng)計(jì)。該模塊提供了對(duì)建(構(gòu))筑物的建筑面積、占地面積、建筑密度、數(shù)量,綠化面積、綠化率,道路面積、長(zhǎng)度,鐵路長(zhǎng)度、占地面積等工廠總圖設(shè)計(jì)經(jīng)濟(jì)技術(shù)指標(biāo)進(jìn)行快速計(jì)算和統(tǒng)計(jì)的功能,同時(shí)還提供了全廠范圍、指定區(qū)域、用戶輸入坐標(biāo)范圍、用戶選擇范圍等多種統(tǒng)計(jì)方式。
由于需要統(tǒng)計(jì)在指定范圍內(nèi)的地物面積,因此,對(duì)于部分落在指定范圍內(nèi)的地物需要先裁剪再計(jì)算面積,而不是簡(jiǎn)單的查詢統(tǒng)計(jì)。同時(shí)考慮到效率問題,在服務(wù)器端并沒有使用A rcGIS Server提供的ITopologicalOperato r接口和 IRelationalOperato r接口,而是利用 A rcSDE提供的 sde.st_intersection、sde.st_intersects、sde.st_area 等 sql函數(shù)直接對(duì)數(shù)據(jù)庫中st_geometry進(jìn)行空間關(guān)系判斷和裁剪操作。其實(shí)現(xiàn)流程如圖3所示。
圖3 實(shí)現(xiàn)流程
10)綜合管線統(tǒng)計(jì)。在大型工廠廠區(qū)內(nèi),往往密布各種地上地下管線,種類往往達(dá)到幾十種之多。該統(tǒng)計(jì)功能通過鼠標(biāo)指定統(tǒng)計(jì)范圍,對(duì)區(qū)域范圍內(nèi)的各種管線的長(zhǎng)度、管線附屬設(shè)施的數(shù)量進(jìn)行快速統(tǒng)計(jì),使用 Geop rocessing Services來完成管線的裁切工作,在flex中實(shí)現(xiàn)裁切后的統(tǒng)計(jì)工作,最終結(jié)果在客戶端以樹形結(jié)構(gòu)予以表示。
11)管線縱橫斷面繪制?,F(xiàn)代工業(yè)企業(yè)中,往往充滿了各種縱橫交錯(cuò)的空中與地下管線,管線在企業(yè)的正常生產(chǎn)和維護(hù)中,發(fā)揮著極其重要的作用。選擇的單一管線或首尾相連的幾條管線的縱斷面進(jìn)行分析,通過地表模擬線插值進(jìn)行管線縱斷面分析,能讓用戶直觀地看到管線的空間分布;通過對(duì)用戶繪制的線段與所相交的管線進(jìn)行橫斷面分析,能讓我們對(duì)管線的相互位置與關(guān)系一目了然。
12)地圖申請(qǐng)與下載。遠(yuǎn)程用戶可以申請(qǐng)指定范圍的地圖數(shù)據(jù)。用戶填寫申請(qǐng)單,得到管理員審批后,就可以下載AutoCAD格式的地圖數(shù)據(jù)到本地。這些地圖數(shù)據(jù)由后臺(tái)服務(wù)程序從A rcSDE的空間數(shù)據(jù)切割而來。
后臺(tái)服務(wù)程序 FileConvertServer采用A rcGISEngine開發(fā),數(shù)據(jù)通訊技術(shù)采用 WebServer。該服務(wù)程序接收要下載的圖層參數(shù)(各圖層用“,”分隔開的字符串)和范圍參數(shù)(坐標(biāo)對(duì)字符串),實(shí)現(xiàn)數(shù)據(jù)裁剪和轉(zhuǎn)換功能,結(jié)果以Dxf格式文件保存服務(wù)器的特定目錄,供終端用戶下載時(shí)使用。
13)信息管理與發(fā)布。發(fā)布的信息包括企業(yè)規(guī)劃設(shè)計(jì)部門和工作人員的辦公信息、各類文件通報(bào)、工作計(jì)劃、日程安排、會(huì)議通知、統(tǒng)計(jì)資料、法律法規(guī)等。
14)權(quán)限管理。根據(jù)崗位角色,使不同級(jí)別和部門的用戶具有不同的權(quán)限。按照對(duì)信息系統(tǒng)的操作權(quán)力和對(duì)數(shù)據(jù)訪問權(quán)限,設(shè)置功能表對(duì)應(yīng)所屬的功能權(quán)限。將各部門人員按級(jí)別和職責(zé)劃分為不同的崗位,通過創(chuàng)建角色表和操作權(quán)限表確定操作人員所屬角色及其所具有的操作和訪問權(quán)限。
5.1 網(wǎng)絡(luò)環(huán)境
系統(tǒng)使用兩臺(tái)服務(wù)器:一臺(tái)作為數(shù)據(jù)庫服務(wù)器,安裝有Oracle10g和A rcSDE空間數(shù)據(jù)引擎;另一臺(tái)作為應(yīng)用服務(wù)器,安裝A rcGIS Server,部署系統(tǒng)應(yīng)用程序。由于工廠基礎(chǔ)地理信息反映了工廠的總圖布置等各種信息,屬于工廠的保密資料,故終端用戶局限在企業(yè)內(nèi)部的規(guī)劃設(shè)計(jì)部門、能源中心、土地管理和房產(chǎn)管理等相關(guān)部門,只允許在企業(yè)內(nèi)聯(lián)網(wǎng)使用,不對(duì)工廠以外范圍開放。
5.2 安全認(rèn)證機(jī)制
系統(tǒng)設(shè)置了較嚴(yán)格的安全認(rèn)證機(jī)制。首先,用戶在登錄頁面上輸入用戶名和密碼后,系統(tǒng)會(huì)將其與用戶信息表中的用戶名和密碼字段匹配,如果相符就將用戶名保存到會(huì)話(Session)中,進(jìn)入主頁面,不匹配的話則顯示錯(cuò)誤信息。其次,如果用戶繞過登錄頁面直接輸入主頁面的地址,每個(gè)頁面初始化時(shí)都會(huì)檢查會(huì)話中是否有用戶名的信息,沒有則直接跳回到登錄頁面,所以不可能出現(xiàn)未經(jīng)登錄就查看到主頁面的情況。
本文探討了在B/S模式下基于Flex技術(shù)的企業(yè)級(jí)Web發(fā)布的GIS應(yīng)用開發(fā)方式,設(shè)計(jì)并實(shí)現(xiàn)了某工廠基礎(chǔ)地理信息共享服務(wù)系統(tǒng)。該系統(tǒng)基于Flex的WebGIS的系統(tǒng)框架,克服了原有 WebGIS開發(fā)中存在的交互性差、響應(yīng)速度慢等缺陷,它能夠呈現(xiàn)更加豐富、體驗(yàn)性更強(qiáng)的用戶界面,為WebGIS的應(yīng)用提供了一種嶄新的表現(xiàn)機(jī)制。事實(shí)證明基于A rcGIS Flex API的可重用、可擴(kuò)展的框架設(shè)計(jì),使得功能擴(kuò)展成為可能,大大地提高了開發(fā)和部署效率,為WebGIS應(yīng)用的開發(fā)提供了新的思路。系統(tǒng)利用網(wǎng)絡(luò)和A rcGIS Server進(jìn)行地圖數(shù)據(jù)和屬性數(shù)據(jù)的發(fā)布,能夠?qū)崿F(xiàn)工廠地圖信息的廣泛共享,并實(shí)現(xiàn)了各種復(fù)雜的數(shù)據(jù)統(tǒng)計(jì),特別是矢量地圖數(shù)據(jù)的下載功能改變了傳統(tǒng)的數(shù)據(jù)分發(fā)依靠人工面對(duì)面溝通的方式,系統(tǒng)為用戶提供高質(zhì)量的基于空間信息的服務(wù)。
[1]趙萬鋒.基于 ESRIFlexViewer框架的 A rcGIS Server開發(fā)[EB/OL].http://www.cajcd.edu.cn/pub/wm l.txt/980810-2.htm l,2010-04-11/2010-07-16.
[2]翟石艷.基于WebService的城市地理數(shù)據(jù)共享與應(yīng)用研究[D].鄭州:河南大學(xué),2009:63-67.
[3]賈寅波.基于RIA的路面狀況智能監(jiān)測(cè)系統(tǒng)[D].武漢:武漢理工大學(xué),2009:21-26.
[4]張康壽,馮兵,孫燕剛,等.基于 RIA 和 WebServices的WebGIS系統(tǒng)的開發(fā)[J].地理空間信息,2009(4):109-110.
[5]陳謙,余江峰,潘森,等.基于 RIA方式的 WebGIS構(gòu)建[J].遙感信息,2008(9):89-93.
[6]趙冠偉,夏斌,聶云鋒.富互聯(lián)網(wǎng)應(yīng)用程序研究初探[J].微型機(jī)與應(yīng)用,2005,24(12):4-5.
[7]沈百玲.用Net構(gòu)建和部署A rcGISServerWeb應(yīng)用[R].北京:ESRI中國(guó)(北京)有限公司,2004.
[8]朱政.A rcGIS平臺(tái)開發(fā)框架介紹及其未來發(fā)展[R].北京:ESRI中國(guó)(北京)有限公司,2004.
Design of basic geographic information sharing and serving system used in factory based on ArcGIS Flex API
YUAN Huai-yue,HOU Cheng-yu,YANG Heng
(W uhan Surverying-Geotecthnical Research Institute Co.,L td of MCC,W uhan 430080,China)
The paper analyzes the issues of WebGIS app lication based on B/S,and p roposes a rich Internet WebGIS framework based on A rcGIS Flex API.U sing this design framewo rk,we develop a factory Basic Geographic Information Sharing And Serving System w hich is extensible neatly,efficient and inter-operation efficiently,w ith rich p resentation and user rich experience.This system design may advance GIS functions,such as graphics w ith context,GIS query and statistics,spatial analysis,dow nload a map after app lication and so on.
Geographic Information System;factory;A rcGIS Server;Flex
P208
A
1006-7949(2011)02-0061-05
2010-08-15
袁懷月(1978-),男,工程師.
[責(zé)任編輯劉文霞]