• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于ArcGISServer的實時水情發(fā)布系統(tǒng)開發(fā)

      2011-09-27 10:43:16左進府洪金益黃丙湖
      地理空間信息 2011年1期
      關(guān)鍵詞:水情測站實例

      左進府,洪金益,黃丙湖

      (1.中南大學地學與環(huán)境工程學院,湖南 長沙 410083;2.中國石油大學 (華東)地球資源與信息學院,山東青島 266555)

      基于ArcGISServer的實時水情發(fā)布系統(tǒng)開發(fā)

      左進府1,洪金益1,黃丙湖2

      (1.中南大學地學與環(huán)境工程學院,湖南 長沙 410083;2.中國石油大學 (華東)地球資源與信息學院,山東青島 266555)

      ArcGISServer是一個為構(gòu)建空間相關(guān)的企業(yè)級應(yīng)用的平臺,基于ArcGISServer開發(fā)Web應(yīng)用和服務(wù)有著廣闊的應(yīng)用前景。主要介紹了ArcGISServer的體系結(jié)構(gòu)及其配置和管理,并以實時水情發(fā)布子系統(tǒng)為應(yīng)用實例,介紹了如何將AO API的編程任務(wù)轉(zhuǎn)化到ADF層從而提升系統(tǒng)性能的設(shè)計和實現(xiàn)方法。

      ArcGISServer;Web應(yīng)用;ADF;AO

      ArcGIS Server是一個用于構(gòu)建集中管理、支持多用戶的企業(yè)級 GIS應(yīng)用平臺[1]。相較于其他服務(wù)器技術(shù),它不僅實現(xiàn)了GIS資源共享,而且提供資源內(nèi)含的GIS功能的訪問。開發(fā)者基于ArcGISServer可以構(gòu)建Web應(yīng)用、Web服務(wù)以及其他運行在標準的.NET和J2EEWeb服務(wù)器上的企業(yè)級應(yīng)用?;贏rcGISServer開發(fā)的系統(tǒng)和應(yīng)用程序具有開發(fā)周期短,開發(fā)難度小,穩(wěn)定可靠等優(yōu)點,并與傳統(tǒng)桌面系統(tǒng)和Web應(yīng)用無縫集成,使得其于ArcGIS9.0系列產(chǎn)品中一經(jīng)發(fā)布就成為人們研究的對象。針對基于ArcGISServer開發(fā)的Web應(yīng)用相關(guān)問題,結(jié)合濟南市防汛預(yù)警決策支持系統(tǒng)開發(fā)實踐,關(guān)于如何通過互聯(lián)網(wǎng)絡(luò)發(fā)布實時水情信息提出了一種快速可行的解決方案。

      1 ArcGISServer體系架構(gòu)分析

      1.1 ArcGISServer概述

      ArcGISServer與ArcGIS系列其他軟件一樣后臺基于 ArcObjects(以下簡稱AO)搭建而成,能在企業(yè)和Web計算框架中建立以服務(wù)器為中心、集中式管理并以網(wǎng)絡(luò)為核心支持多用戶的GIS應(yīng)用,擁有制圖、查詢分析和地理編碼的全部功能。ArcGIS最大的貢獻在于將高級GIS功能引入到網(wǎng)絡(luò)環(huán)境,在此之前高級的GIS功能僅能在桌面端提供。ArcGIS Server包含一個GIS服務(wù)器實例和一個Web應(yīng)用開發(fā)框架(ADF)。

      1.1.1 GISServer

      GIS服務(wù)器由服務(wù)器對象管理器(SOM:Server ObjectManager)以及一個或多個服務(wù)器對象容器(SOC:ServerObjectContainer)組成,其中核心的AO組件位于對象容器中,具體的GIS功能實現(xiàn)均由遠程調(diào)用這些核心組件完成。GIS服務(wù)器是一個分布式系統(tǒng),SOM作為 Windows服務(wù)運行在某一臺機器上,它管理了一組分布在一臺或多臺作為SOC計算機中的服務(wù)器對象的啟動和關(guān)閉,同時對SOC計算機進行負載平衡的動態(tài)調(diào)節(jié)[2]。

      1.1.2 Web應(yīng)用開發(fā)框架

      ArcGIS Server為.NET和JAVA開發(fā)人員提供了Web應(yīng)用開發(fā)框架,用于開發(fā)ArcGISWeb應(yīng)用和Web Services。ADF包含一個完善的軟件開發(fā)包,其中有Web控件、工程模板、例子源碼和類庫,可與IDE(如M icrosoftVisualStudio)無縫集成。同時它也包含一個部署Web應(yīng)用的運行時,可使沒有安裝AO的Web服務(wù)器也可運行內(nèi)嵌了GIS功能的Web應(yīng)用。Web ADF封裝了不同數(shù)據(jù)源實現(xiàn)特定GIS功能的復(fù)雜性,對外提供統(tǒng)一的編程接口,在Web應(yīng)用與多源數(shù)據(jù)間起到了中間層的作用,簡化了編程模型。

      1.2 ArcGISServer的配置及管理

      ArcGISServer系統(tǒng)配置及管理任務(wù)包括管理SOC,配置服務(wù)器目錄,指定log文件地址,安全配置等,其中主要任務(wù)是服務(wù)器對象的配置。

      1.2.1 服務(wù)器對象概述

      服務(wù)器對象是一種粗粒度(course-grained)的AO對象。它簡化了為完成某項任務(wù)而需要的一系列操作的編程模型,使得客戶端僅需要通過一個方法的調(diào)用完成某項大塊工作的集合,如地圖的顯示 [3]。通過服務(wù)器對象可以調(diào)用安裝在GISServer上的細粒度的AO組件。ArcGIS Server內(nèi)建了一些服務(wù)器對象類型,如MapServer和GeocodeServer。在此用一個命名為JNFX的MapServer對象來支持濟南市的地圖文檔數(shù)據(jù)。服務(wù)器對象在GIS服務(wù)器中管理和運行,可被不同的應(yīng)用程序共享。

      1.2.2 服務(wù)器對象的生命周期

      為了避免服務(wù)器對象中資源利用的沖突和充分利用硬件資源,可將服務(wù)器對象配置為池式或非池式模式[4]。非池式模式下,服務(wù)器對象為每一位用戶創(chuàng)建一個實例,在被釋放回服務(wù)器后,服務(wù)器對象實例隨即被銷毀。用戶可以對實例對象中的資源進行各種編輯操作,而不必擔心影響其他用戶的使用,因為每當有新的用戶請求時,服務(wù)器都會創(chuàng)建新的服務(wù)器對象實例和裝載初始化數(shù)據(jù)返還給用戶使用。另一種服務(wù)器對象模式為池式模式,它并不銷毀釋放回的服務(wù)器對象實例,而是將之放進對象池中緩存,當新的用戶請求出現(xiàn)時,服務(wù)器從對象池中取出實例供用戶使用。池式對象可以被多個應(yīng)用進程共享,故能支持更多的并發(fā)用戶。非池式對象可讀可寫,池式對象可讀不可寫,對池式對象進行編輯操作將帶來不可預(yù)知的后果。

      1.2.3 服務(wù)器對象的應(yīng)用狀態(tài)

      服務(wù)器對象分為有狀態(tài)和無狀態(tài)。有狀態(tài)是一種可讀寫模式,意味著應(yīng)用可以對服務(wù)器及其相關(guān)對象作改動;無狀態(tài)是一種只讀模式,意味著應(yīng)用不能對服務(wù)器對象及其相關(guān)對象作改動。一般來說,池式的服務(wù)器對象只能被無狀態(tài)使用,非池式的服務(wù)器對象為有狀態(tài)使用[5]。服務(wù)器對象接口(如IMapServer和IG-eocodeServer)和服務(wù)器對象擴展接口 (如 INAServer)等粗粒度的 AO組件公開的屬性和方法本向是無狀態(tài)的,被調(diào)用時不會改變服務(wù)器對象的屬性,因此不論是在池式還是非池式服務(wù)器對象上調(diào)用都是安全的。調(diào)用與服務(wù)器對象相關(guān)的細粒度 AO對象則有可能改變服務(wù)器對象的狀態(tài)[6]。

      2 實時水情發(fā)布系統(tǒng)實現(xiàn)

      本文作者以上述開發(fā)環(huán)境設(shè)計并實現(xiàn)了濟南市防訊預(yù)警決策支持系統(tǒng)實時水情發(fā)布子模塊??臻g數(shù)據(jù)存儲在Geodatabase中,實時水情信息數(shù)據(jù)經(jīng)由全市各水情測站采集統(tǒng)一存儲在M icrosoftSQLServer中,Web服務(wù)器上通過安裝ArcGISServerADF運行時來部署網(wǎng)絡(luò)應(yīng)用程序 (見圖 1)。通過以上方法,初步實現(xiàn)了集中管理型的網(wǎng)絡(luò)GIS應(yīng)用系統(tǒng),為濟南市公眾獲取實時水情信息和市政相關(guān)部門分析決策提供了極大便利(見圖2)。下面介紹系統(tǒng)與GIS服務(wù)器端空間數(shù)據(jù)交互的關(guān)鍵技術(shù)實現(xiàn)方法。

      2.1 專題圖的實現(xiàn)

      根據(jù)各水情測站當前水位與自身警戒水位的對比,將所有測站分為兩大類:超出警戒水位和低于警戒水位。考慮到可能地圖上有站點在數(shù)據(jù)庫中并沒有相應(yīng)的條目,增加“No data”類以示數(shù)據(jù)缺失。直接對水情測站圖層進行分類渲染將改變服務(wù)器對象實例的內(nèi)在狀態(tài),要求服務(wù)器對象配置為非池式模式。參看前面對非池式與池式兩種模式的對比,非池式對象將較多地占用服務(wù)器資源,性能卻較低下。如果實時水情信息散布在數(shù)據(jù)庫中的多個數(shù)據(jù)表,數(shù)據(jù)庫管理員可能編寫存儲過程將其公開給開發(fā)人員。這將迫使開發(fā)人員在Web服務(wù)器磁盤上創(chuàng)建臨時DBF表格文件作為建立連接的外部數(shù)據(jù)源并清理過期的臨時文件,增加了編碼復(fù)雜度,降低了程序性能。解決方案是根據(jù)水情測站圖層創(chuàng)建 FeatureGrahpicsLayer,覆蓋在原圖層上,然后將之與查詢數(shù)據(jù)庫得到的實時水情信息表通過測站編號字段連接合并,最后依據(jù)當前水位和警戒水位列值的大小對比做專題渲染。FeatureGraphicsLayer是Web ADF中的核心對象之一,它駐留在Web服務(wù)器的內(nèi)存中,沒有實體文件與之對應(yīng),與來自 ArcGIS Server/ArcIMS的地圖資源疊加后發(fā)送到瀏覽器。關(guān)鍵代碼如下:

      圖1 實時水情發(fā)布系統(tǒng)數(shù)據(jù)流程圖

      圖2 基于ArcGISServer的實時水情發(fā)布系統(tǒng)

      2.2 標注的實現(xiàn)

      專題渲染雖然形象直觀,但只是定性的表示,瀏覽者無法藉此獲取精準的水情信息。如果可以把水情信息標注在地圖上,則可以彌補這一缺撼,獲得定量的對比。直接在原水情測站圖層上進行標注涉及圖層屬性表和數(shù)據(jù)庫表的連接,甚至有可能需要在硬盤上生成中間臨時表,同樣會改變服務(wù)器對象實例的AO組成,要求服務(wù)器對象配置為非池式模式。ElementGraphics-Layer可以解決這一問題,它與FeatureGraphicsLayer都繼承自GraphicsLayer類,所不同的是其中的元素只具有幾何形體沒有對應(yīng)的屬性信息,但幾何形體可以是不同的類型。實現(xiàn)標注功能的關(guān)鍵代碼如下:

      2.3 測站總覽

      將實時水情信息制成表格可以集中呈現(xiàn),方便瀏覽者查閱,缺點是缺乏與地圖的互動。為此編寫的Grid-Results自定義控件擴展了表格功能,除為數(shù)據(jù)列提供了排序功能外,還為其增添了縮放,漫游和選擇等常規(guī)GIS功能。瀏覽者可以縮放或漫游地圖至特定或全體測站,還可以選擇它(們)以在地圖上高亮顯示。GridResults控件將地圖與列表數(shù)據(jù)聯(lián)系起來,使傳統(tǒng)的表格不再顯得單調(diào)呆板,改善了用戶體驗。將水情信息綁定到GridResults控件的代碼如下:

      3 結(jié) 語

      AO應(yīng)用編程接口雖然功能強大,然而調(diào)用細粒度的AO組件有可能導致粗粒度的服務(wù)器對象狀態(tài)改變,而一些編程任務(wù)又非服務(wù)器對象這樣的粗粒度 AO組件所能勝任。本文提出了一種如何將 AO下的編程任務(wù)巧妙轉(zhuǎn)化到ADF層的技術(shù)方法,并將其用在實時水情發(fā)布子系統(tǒng)中,實現(xiàn)了預(yù)期的功能,提升了系統(tǒng)性能,很好地體現(xiàn)了ArcGISServer在開發(fā)Web應(yīng)用的一些特點。

      [1] 郭婧,張立朝,王科偉.基于ArcGIS Server構(gòu)建地理信息服務(wù)[J].測繪科學,2007,32(3):91-93

      [2] 汪旻琦,吳健平,范力銘.基于ArcGIS Server的企業(yè)級GIS系統(tǒng)研究[J].甘肅聯(lián)合大學學報:自然科學版,2006,20(6):83-87

      [3] 吳功和,叢明日.基于ArcGISServer的分布式GIS應(yīng)用[J].測繪科學技術(shù)學報,2006,23(1):52-55

      [4] 趙自力,王東華,周曉光.基于ArcGISServer的網(wǎng)絡(luò)GIS應(yīng)用系統(tǒng)開發(fā)[J].遙感信息,2007,(1):76-80

      [5] ESRICorp.The Developer Help System for ArcGISServer for. NET(VS2005)[CP/DK].ArcGISServer 9.2 for.NET,2005

      Research on Developm ent of Web GISU sing A rcGISS erver

      by Zuo Jinfu

      ArcGIS Server provides a platform to deve lop space related enterprise applications,on which web applications and services based have broad application prospects.It mainly introduced the architecture of ArcGIS Server and its configuration and management and took example for real time riverine in formation publication sub-system to show the way how to transfer the task of AO APIto the ADF-tier to promote the performance of system.

      Arc GIS server,web applicaton,ADF,AO (Page:121)

      P208

      B

      1672-4623(2011)01-0121-03

      2009-09-22

      左進府,碩士,主要從事網(wǎng)絡(luò)地理信息方面研究。

      猜你喜歡
      水情測站實例
      GNSS鐘差估計中的兩種測站選取策略分析
      全球GPS測站垂向周年變化統(tǒng)計改正模型的建立
      測繪學報(2018年10期)2018-10-26 06:12:16
      測站分布對GPS解算ERP的影響分析
      城市勘測(2018年1期)2018-03-15 03:37:02
      甜水情
      2011年遼寧省汛期水情分析
      完形填空Ⅱ
      完形填空Ⅰ
      基于GPS坐標殘差序列的全球測站非線性變化規(guī)律統(tǒng)計
      千載空靈岸 悠悠湘水情
      對聯(lián)(2011年20期)2011-09-19 06:24:46
      南投市| 榕江县| 宜章县| 长沙市| 高青县| 江城| 昭平县| 云安县| 临江市| 公主岭市| 江油市| 新绛县| 天峨县| 景泰县| 含山县| 石泉县| 根河市| 涟水县| 洪湖市| 平凉市| 墨玉县| 壶关县| 金寨县| 聊城市| 苍梧县| 沾益县| 山丹县| 沅陵县| 宾阳县| 南溪县| 罗定市| 龙游县| 奉贤区| 廊坊市| 鄂尔多斯市| 富锦市| 辽阳县| 平和县| 清河县| 韩城市| 城口县|