亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Silverlight技術(shù)和WCF服務(wù)的WebGIS應(yīng)用框架研究

        2014-04-29 19:23:30唐芝青吳斌輝黃逸帆曹吉萍
        國土資源導(dǎo)刊 2014年10期

        唐芝青 吳斌輝 黃逸帆 曹吉萍

        摘 要:本文首先分析了傳統(tǒng)WebGIS存在的不足,隨后介紹了RIA技術(shù)、Silverlight技術(shù)和WCF服務(wù),并提出基于Silverlight技術(shù)和WCF服務(wù)的WebGIS框架。在描述了框架的目標(biāo)后,較為詳細(xì)地分析了框架的結(jié)構(gòu)。最后,本文以該框架在財政預(yù)算審批空間可視化管理系統(tǒng)中的應(yīng)用為例,介紹了框架中關(guān)鍵的表示層和WCF服務(wù)層的實(shí)現(xiàn)過程。

        關(guān)鍵詞:silverlight;WCF;WebGIS;財政預(yù)算審批管理系統(tǒng)

        0 引言

        WebGIS(Web Geographical Information System)是Internet 技術(shù)與GIS技術(shù)的結(jié)合。它通過互聯(lián)網(wǎng)對地理空間數(shù)據(jù)進(jìn)行發(fā)布和應(yīng)用,實(shí)現(xiàn)地理空間數(shù)據(jù)的共享和互操作,它是GIS應(yīng)用的重要發(fā)展方向。但目前傳統(tǒng)WebGIS 技術(shù)存在地圖界面操作體驗(yàn)不佳、交互性差、數(shù)據(jù)響應(yīng)速度慢、代碼模塊化程度低及開發(fā)維護(hù)復(fù)雜等問題。

        針對以上問題,本文提出了基于Silverlight技術(shù)和WCF服務(wù)的WebGIS應(yīng)用框架。通過在財政預(yù)算審批空間可視化管理系統(tǒng)項(xiàng)目中的實(shí)際應(yīng)用表明,該框架在增強(qiáng)WebGIS的交互性、加快處理速度、優(yōu)化用戶體驗(yàn)方面有較好的效果,同時該框架能提高開發(fā)模塊復(fù)用性,為模塊化快速搭建WebGIS應(yīng)用系統(tǒng)提供了一種可行的解決方案。

        1 相關(guān)技術(shù)介紹

        1.1 Silverlight

        在介紹Silverlight之前,有必要先介紹RIA(Rich Internet Applications,富因特網(wǎng)應(yīng)用程序)。傳統(tǒng)的基于頁面的系統(tǒng)已經(jīng)漸漸不能滿足網(wǎng)絡(luò)瀏覽者的更高的、全方位的體驗(yàn)要求了,而RIA的出現(xiàn)正是為了解決這個問題[ 1 ]。RIA是新一代的網(wǎng)絡(luò)應(yīng)用程序,它集桌面應(yīng)用程序的最佳用戶界面功能、Web應(yīng)用程序的普遍性、低成本部署,以及基于網(wǎng)絡(luò)的實(shí)時互動優(yōu)勢于一體。RIA 技術(shù)的發(fā)展迅速,主要有Adobe公司的Flex、微軟公司的Silverlight 和 SUN公司的JavaFx,其中前兩者是目前的RIA技術(shù)主流。本文選擇微軟公司的Silverlight作為RIA技術(shù)進(jìn)行研究介紹。

        Silverlight 是微軟RIA策略的主要開發(fā)平臺之一,以瀏覽器的插件方式運(yùn)行,提供Web應(yīng)用程序中多媒體與高度交互性前端應(yīng)用程序的解決方案,可創(chuàng)建豐富的、絢麗效果的交互式應(yīng)用[ 2 ]。基于Silverlight 開發(fā)的RIA,具備跨瀏覽器、跨平臺等特性,甚至可以在移動設(shè)備上使用。Silverlight 提供靈活的編程模型,用戶界面可由基于XML的XAML (可擴(kuò)展應(yīng)用程序標(biāo)記語言)來渲染。

        1.2 WCF服務(wù)介紹

        WCF結(jié)合分布式技術(shù)和SOA理念[ 3 ],借助.NET框架而形成的面向服務(wù)的分布式通信編程框架,可以使開發(fā)人員快速地構(gòu)建跨平臺、安全、高效、事務(wù)性的企業(yè)級解決方案[ 4 ]。WCF是使用托管代碼建立和運(yùn)行面向服務(wù)應(yīng)用程序的統(tǒng)一框架,它具有統(tǒng)一性、互操作性、安全性、兼容性的特點(diǎn)。WCF是微軟分布式應(yīng)用程序開發(fā)的集大成者,整合了.NET 平臺下所有的和分布式系統(tǒng)有關(guān)的開發(fā)技術(shù),從而大大簡化開發(fā)過程;它采用SOAP(Simple Object Access Protocol)機(jī)制進(jìn)行通信,從而保證了系統(tǒng)間的互操作性,而且利用這種通信機(jī)制可以支持跨進(jìn)程、跨子網(wǎng)甚至跨Internet進(jìn)行通信。正是由于這些優(yōu)勢,使得WCF在架構(gòu)面向服務(wù)分布式企業(yè)級解決方案中,發(fā)揮越來越重要的作用,開發(fā)者對于WCF在企業(yè)級解決方案中的研究和應(yīng)用也越來越多。

        1.3 ArcGIS API for Silverlight

        ArcGIS API for Silverlight是ESRI公司開放的基于Silverlight上的 ArcGIS ServerAPI接口[ 5 ]。其構(gòu)建在微軟的Silverlight平臺之上,能夠?qū)rcGIS Server、微軟的Bing等地圖服務(wù)和功能等,融合在Silverlight應(yīng)用程序中,采用REST API應(yīng)用程序接口來實(shí)現(xiàn)ArcGIS Server服務(wù)。因此,ArcGIS Server API for Silverlight,可以創(chuàng)造豐富的網(wǎng)絡(luò)和桌面應(yīng)用程序。ArcGIS API for Silverlight為用戶提供的功能主要有:地圖顯示功能,該功能支持多種類型的地圖投影、微軟的Bing地圖服務(wù)、ArcGIS Server的動態(tài)加載地圖和緩存地圖服務(wù)。在地圖漫游和縮放時提供了動畫顯示效果,具有非常炫麗的用戶界面。地圖交互功能,通過 Graphics Layer等實(shí)現(xiàn)與地圖的良好交互,這其中包括地圖的輸入與輸出。任務(wù)工具功能,主要包含了查詢、地理編碼、地理處理、標(biāo)識要素、查找、地理操作等常用的任務(wù),極大豐富了GIS服務(wù)應(yīng)用。

        1.4 數(shù)據(jù)庫技術(shù)

        基于silverlight技術(shù)和WCF服務(wù)的WebGIS應(yīng)用框架,使用大型關(guān)系型成熟數(shù)據(jù)庫技術(shù)作為空間信息數(shù)據(jù)和屬性數(shù)據(jù)的存儲介質(zhì),包括空間數(shù)據(jù)庫和項(xiàng)目屬性數(shù)據(jù)庫兩部分,相互之間通過內(nèi)部關(guān)鍵字進(jìn)行關(guān)聯(lián)。ArcGIS對空間數(shù)據(jù)的存儲主要通過ArcSDE實(shí)現(xiàn)。ArcSDE為任意的客戶端應(yīng)用提供了一個能在數(shù)據(jù)庫管理系統(tǒng)(DBMS)中存儲、管理和使用空間數(shù)據(jù)的接口,并將地理特征數(shù)據(jù)(空間數(shù)據(jù))和屬性數(shù)據(jù)統(tǒng)一地集成在關(guān)系數(shù)據(jù)庫管理系統(tǒng)中,從而可以較好地借助關(guān)系數(shù)據(jù)庫管理系統(tǒng)對數(shù)據(jù)進(jìn)行統(tǒng)一、有效的管理,保證空間數(shù)據(jù)與屬性數(shù)據(jù)間的一致性和完整性。本框架采用ArcSDE為空間數(shù)據(jù)引擎連接SQL Server 2012進(jìn)行空間數(shù)據(jù)的存儲。

        2 基于Silverlight和WCF的WebGIS框架

        2.1 框架的目標(biāo)

        框架主要完成以下目標(biāo):

        (1)實(shí)現(xiàn)系統(tǒng)架構(gòu)的可擴(kuò)展性和靈活性。利用基于面向服務(wù)思想的WCF服務(wù)開發(fā)WebGIS應(yīng)用系統(tǒng),實(shí)現(xiàn)功能模塊間的松耦合,系統(tǒng)結(jié)構(gòu)更加靈活,具有良好的擴(kuò)展性。

        (2)增強(qiáng)界面用戶操作體驗(yàn)和系統(tǒng)交互性。利用Silverlight 富客戶端比傳統(tǒng)的WebGIS應(yīng)用更能調(diào)用客戶端自身的處理能力這一大優(yōu)勢,加上強(qiáng)大的Silverlight開發(fā)工具和控件(如Telerik、Blend、ESRI ArcGIS API for Silverlight)的支持,創(chuàng)建具有豐富體驗(yàn)的程序用戶操作界面,同時解決傳統(tǒng)WebGIS交互性差的弱點(diǎn)。

        (3)實(shí)現(xiàn)框架功能的模塊化。通過對傳統(tǒng)經(jīng)典三層架構(gòu)(包括表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)處理層)[ 6 ]進(jìn)行擴(kuò)展和細(xì)化,封裝非業(yè)務(wù)公共功能模塊形成通用類庫,使得開發(fā)人員可以直接調(diào)用某一個類庫來實(shí)現(xiàn)某項(xiàng)功能,提高企業(yè)級 WebGIS應(yīng)用系統(tǒng)開發(fā)的效率。

        2.2 框架的總體架構(gòu)

        本框架用Silverlight技術(shù)作為實(shí)現(xiàn)客戶端的技術(shù)方案,WCF技術(shù)作為實(shí)現(xiàn)服務(wù)器端的服務(wù)基礎(chǔ)。具體實(shí)現(xiàn)方法則是擴(kuò)展傳統(tǒng)的經(jīng)典三層WebGIS應(yīng)用框架,設(shè)計新的WebGIS框架的總體結(jié)構(gòu)如圖1所示。

        (1)界面表示層

        表示層用來完成地圖數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)的展示以及人機(jī)交互的相關(guān)邏輯,接收用戶的輸入并將用戶的意圖轉(zhuǎn)換為對業(yè)務(wù)層相關(guān)邏輯的調(diào)用。采用Silverlight Blend技術(shù)并調(diào)用Silverlight 控件(如Telerik)構(gòu)建,地圖展示和地圖操作框架通過調(diào)用ArcGIS API for Silverlight接口快速實(shí)現(xiàn)[ 7 ]。

        (2)WCF服務(wù)層

        WCF服務(wù)層位于表示層和業(yè)務(wù)邏輯層之間,通過服務(wù)代理封裝和擴(kuò)展Silverlight客戶端所調(diào)用的WCF服務(wù),實(shí)現(xiàn)客戶端服務(wù)調(diào)用的統(tǒng)一控制。服務(wù)端通過調(diào)用封裝的業(yè)務(wù)邏輯層對象(以WCF服務(wù)的方式封裝)響應(yīng)界面表示層的數(shù)據(jù)請求和操作。WCF服務(wù)層的存在,降低了系統(tǒng)的耦合度,提高了系統(tǒng)的擴(kuò)展性,并通過WCF服務(wù)代理的方式提高了系統(tǒng)開發(fā)的靈活性。

        (3)業(yè)務(wù)邏輯層

        業(yè)務(wù)邏輯層響應(yīng)WCF服務(wù)層的業(yè)務(wù)邏輯請求,并完成與數(shù)據(jù)訪問層的交互。它完全由WCF服務(wù)實(shí)現(xiàn),以數(shù)據(jù)操作契約的形式向WCF服務(wù)層公開其數(shù)據(jù)操作。在服務(wù)底層開放與數(shù)據(jù)庫交互基本操作的接口,并封裝了基礎(chǔ)數(shù)據(jù)實(shí)體的常用操作。

        (4)數(shù)據(jù)訪問層

        負(fù)責(zé)空間數(shù)據(jù)和屬性數(shù)據(jù)的存取,維護(hù)各種數(shù)據(jù)間的關(guān)系,通過用戶的調(diào)用完成對數(shù)據(jù)的持久化工作,并且保障整個系統(tǒng)數(shù)據(jù)源的安全性。另外,本框架還包括數(shù)據(jù)實(shí)體類與通用類庫:二者均面向全局,前者主要定義了基礎(chǔ)數(shù)據(jù)實(shí)體模型,便于規(guī)范業(yè)務(wù)數(shù)據(jù)實(shí)體對象;后者主要是封裝程序開發(fā)經(jīng)常用到的方法和操作,例如數(shù)據(jù)轉(zhuǎn)換、字符串處理等。

        3 應(yīng)用案例

        本文將基于Silverlight技術(shù)和WCF服務(wù)的WebGIS框架應(yīng)用于實(shí)際開發(fā)項(xiàng)目——財政預(yù)審審批空間可視化管理系統(tǒng)開發(fā),取得了較好的效果。該系統(tǒng)前臺使用Silverlight技術(shù)調(diào)用ArcGIS API for Silverlight等控件進(jìn)行地圖界面繪制,空間數(shù)據(jù)通過ArcSde空間數(shù)據(jù)引擎存儲到商業(yè)數(shù)據(jù)庫SQL Server 2012中,WCF服務(wù)層封裝數(shù)據(jù)庫操作函數(shù),后臺運(yùn)維部分采用.NET環(huán)境下的C#語言開發(fā)。

        3.1 WCF服務(wù)層的實(shí)現(xiàn)

        新建WCF服務(wù)中GIS數(shù)據(jù)操作接口類文件IGISServices.cs,在其命名空間內(nèi),定義GIS數(shù)據(jù)庫操作的函數(shù),如下:

        namespace WCFServices

        {

        [ServiceContract]

        public interface IGISServices

        {

        [OperationContract]

        ReturnInfoClass InsertFeaturesetIntoSDE(string FeaturesetJson, bool IsUpdate = false);

        [OperationContract]

        ReturnInfoClass DeleteFeatureFromSDE(string XMBH, bool IsUpdate = false);

        [OperationContract]

        ReturnInfoClass UpdateFeatureAttributes(string XMBH, Dictionary dicAttributes, bool IsUpdate = false);

        }

        }

        之后,新建IGISServices.cs類的具體實(shí)現(xiàn)類文件GISServices.svc,在其中具體編寫具體事件以完成IGISServices.cs中對應(yīng)函數(shù)的功能。在此以在SDE數(shù)據(jù)庫中插入圖層數(shù)據(jù)的函數(shù)InsertFeaturesetIntoSDE()為例介紹其具體實(shí)現(xiàn)過程事件:

        public ReturnInfoClass InsertFeaturesetIntoSDE(string FeaturesetJson, bool IsUpdate = false)

        {

        //設(shè)置欲更新的圖層名

        string strFeatureClassName = “sde.DBO.CZYSSP_Polygon”;

        returnInfo.AddStepMsg(string.Format(“要素集名稱{0}已確定”, strFeatureClassName));

        //連接至工作空間獲取要更新的圖層

        IWorkspace sdeWordspace = SDEConnectClass.OpenSdeConnect(connectionString=”SERVER=localhost;INSTANCE=5151;DATABASE=sde;USER=sde;PASSWORD=085222;VERSION=sde.DEFAULT”);

        returnInfo.AddStepMsg(“打開工作空間”);

        IFeatureClass featureClass = SDEConnectClass.findFeatureClassByName(sdeWordspace, strFeatureClassName);

        returnInfo.AddStepMsg(“打開要素集”);

        IFeature feature = featureClass.CreateFeature();

        returnInfo.AddStepMsg(“創(chuàng)建空白要素成功”);

        try

        {

        feature.Shape = j2fClass.features[0].geometry.polygon;

        returnInfo.AddStepMsg(“添加圖形”);

        //屬性處理

        for (int i = 0; i < feature.Fields.FieldCount; i++)

        {

        //添加圖層的屬性和字段值

        }

        //圖層保存

        feature.Store();

        returnInfo.AddStepMsg(“要素保存完畢”);

        returnInfo.ExecuteOK = true;

        }

        catch (Exception ex)

        //如果沒有保存成功 則刪除掉創(chuàng)建的空白Feature

        }

        return returnInfo;

        }

        3.2 界面層的實(shí)現(xiàn)

        本系統(tǒng)以XAML語言作為界面元素和.NET Framework for Silverlight 的銜接形式描述界面,借助ArcGIS API for Silverlight提供的控件和方法,展現(xiàn)和操作地圖。下面以舉一個很簡單的例子說明:

        //引用文件

        ……

        //定義各種GIS操作(點(diǎn)、線、面等)在圖層界面的樣式

        //插入ESRI提供的地圖控件

        Ext

        ent=”12324619.9921,3013545.2841,12521039.992,3086331.8652”

        MouseMove=”MyMap_MouseMove”

        Progress=”Map_Progress”>

        上述過程即搭建了一個簡單了頁面,在該頁面中加入了一個地圖控件,控件展示了本機(jī)發(fā)布的一張底圖。財政預(yù)算審批空間可視化管理系統(tǒng)的截圖如圖2:

        4 結(jié)束語

        針對傳統(tǒng)WebGIS地圖界面操作體驗(yàn)不佳、用戶交互性差、數(shù)據(jù)響應(yīng)速度和架構(gòu)模塊化程度低的缺陷,本文提出了基于Silverlight技術(shù)和WCF服務(wù)的WebGIS應(yīng)用框架。通過在財政預(yù)算審批空間可視化管理系統(tǒng)項(xiàng)目中的實(shí)際應(yīng)用表明,該框架在一定程度上增強(qiáng)了WebGIS的用戶體驗(yàn)和系統(tǒng)交互性,提高了WebGIS的開發(fā)模塊復(fù)用性,為不同商業(yè)GIS業(yè)務(wù)系統(tǒng)的快速搭建提供了一個基本框架。

        參考文獻(xiàn)

        [1] 吳濤, 戚銘堯, 黎勇, 等. WebGIS 開發(fā)中的RIA 技術(shù)應(yīng)用研究[J]. 測繪通報, 2006, (6 ): 34- 37.

        [2] Burkhardt F,Andreas M,Peter N.Integration of Environmental Management Information Systems and ERP Systems Using Integration Platforms[J].Environmental Science and Engineering:Information Technologies in Environmental Engineering,2009, 2:53-63.

        [3]楊昌鋒,王冠,司建輝. 基于 SOA 構(gòu)建新一代的企業(yè)應(yīng)用集成[J].計算機(jī)應(yīng)用與軟件,2005.20(3):63-65

        [4] Juaval Lowy著,張逸,徐寧譯. WCF 編程[M]. 機(jī)械工業(yè)出版社,2009:12-64,97-104

        [5]湯國安,楊昕.ArcGIS地理信息系統(tǒng)空間分析實(shí)驗(yàn)教程(第二版)[M].北京科學(xué)出版社,2012

        [6] 孫莉,李樹剛,陶瑩,等.基于B/S 模式的質(zhì)量信息管理系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].上海交通大學(xué)學(xué)報,2010,44(S1):175-177.

        [7] 吳磊,李瑋.Silverlight尋光之旅:企業(yè)級RIA項(xiàng)目全流程實(shí)踐[M].北京電子工業(yè)出版社,2012.

        亚洲天堂中文| 久久久久九九精品影院 | 精品人妻av区乱码| 国内a∨免费播放| 99久久国内精品成人免费| 亚洲综合偷拍一区二区| 99久久精品在线视频| 久久久久久人妻一区精品| 最新国产三级| 日本a一区二区三区在线| 久久久精品国产免费看| 久久精品亚洲一区二区三区浴池| 久草热8精品视频在线观看| 无码a级毛片免费视频内谢| 亚洲成人av大片在线观看| 97久久久久人妻精品区一| 亚洲av久久无码精品九九| 麻豆久久久国内精品| 久久精品女同亚洲女同| 日本艳妓bbw高潮一19| 天天天综合网| 亚洲av一二三又爽又爽又色| 亚洲久悠悠色悠在线播放| 国产一极内射視颍一| 国内精品伊人久久久久av| 亚洲一区二区三区最新视频 | 97在线观看播放| 国产91成人精品亚洲精品| 冲田杏梨av天堂一区二区三区| 青青手机在线观看视频| 国产xxxx99真实实拍| 日日爽日日操| 精品老熟女一区二区三区在线| 久久精品女人天堂av免费观看| 日韩精品无码久久一区二区三| 国产不卡一区二区三区视频| 夜夜骚久久激情亚洲精品| ā片在线观看免费观看| 欧美精品aaa久久久影院| 成人水蜜桃视频在线观看| 国产免费爽爽视频在线观看|