999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Silverlight技術和WCF服務的WebGIS應用框架研究

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

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

摘 要:本文首先分析了傳統WebGIS存在的不足,隨后介紹了RIA技術、Silverlight技術和WCF服務,并提出基于Silverlight技術和WCF服務的WebGIS框架。在描述了框架的目標后,較為詳細地分析了框架的結構。最后,本文以該框架在財政預算審批空間可視化管理系統中的應用為例,介紹了框架中關鍵的表示層和WCF服務層的實現過程。

關鍵詞:silverlight;WCF;WebGIS;財政預算審批管理系統

0 引言

WebGIS(Web Geographical Information System)是Internet 技術與GIS技術的結合。它通過互聯網對地理空間數據進行發布和應用,實現地理空間數據的共享和互操作,它是GIS應用的重要發展方向。但目前傳統WebGIS 技術存在地圖界面操作體驗不佳、交互性差、數據響應速度慢、代碼模塊化程度低及開發維護復雜等問題。

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

1 相關技術介紹

1.1 Silverlight

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

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

1.2 WCF服務介紹

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

1.3 ArcGIS API for Silverlight

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

1.4 數據庫技術

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

2 基于Silverlight和WCF的WebGIS框架

2.1 框架的目標

框架主要完成以下目標:

(1)實現系統架構的可擴展性和靈活性。利用基于面向服務思想的WCF服務開發WebGIS應用系統,實現功能模塊間的松耦合,系統結構更加靈活,具有良好的擴展性。

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

(3)實現框架功能的模塊化。通過對傳統經典三層架構(包括表現層、業務邏輯層和數據處理層)[ 6 ]進行擴展和細化,封裝非業務公共功能模塊形成通用類庫,使得開發人員可以直接調用某一個類庫來實現某項功能,提高企業級 WebGIS應用系統開發的效率。

2.2 框架的總體架構

本框架用Silverlight技術作為實現客戶端的技術方案,WCF技術作為實現服務器端的服務基礎。具體實現方法則是擴展傳統的經典三層WebGIS應用框架,設計新的WebGIS框架的總體結構如圖1所示。

(1)界面表示層

表示層用來完成地圖數據和業務數據的展示以及人機交互的相關邏輯,接收用戶的輸入并將用戶的意圖轉換為對業務層相關邏輯的調用。采用Silverlight Blend技術并調用Silverlight 控件(如Telerik)構建,地圖展示和地圖操作框架通過調用ArcGIS API for Silverlight接口快速實現[ 7 ]。

(2)WCF服務層

WCF服務層位于表示層和業務邏輯層之間,通過服務代理封裝和擴展Silverlight客戶端所調用的WCF服務,實現客戶端服務調用的統一控制。服務端通過調用封裝的業務邏輯層對象(以WCF服務的方式封裝)響應界面表示層的數據請求和操作。WCF服務層的存在,降低了系統的耦合度,提高了系統的擴展性,并通過WCF服務代理的方式提高了系統開發的靈活性。

(3)業務邏輯層

業務邏輯層響應WCF服務層的業務邏輯請求,并完成與數據訪問層的交互。它完全由WCF服務實現,以數據操作契約的形式向WCF服務層公開其數據操作。在服務底層開放與數據庫交互基本操作的接口,并封裝了基礎數據實體的常用操作。

(4)數據訪問層

負責空間數據和屬性數據的存取,維護各種數據間的關系,通過用戶的調用完成對數據的持久化工作,并且保障整個系統數據源的安全性。另外,本框架還包括數據實體類與通用類庫:二者均面向全局,前者主要定義了基礎數據實體模型,便于規范業務數據實體對象;后者主要是封裝程序開發經常用到的方法和操作,例如數據轉換、字符串處理等。

3 應用案例

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

3.1 WCF服務層的實現

新建WCF服務中GIS數據操作接口類文件IGISServices.cs,在其命名空間內,定義GIS數據庫操作的函數,如下:

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類的具體實現類文件GISServices.svc,在其中具體編寫具體事件以完成IGISServices.cs中對應函數的功能。在此以在SDE數據庫中插入圖層數據的函數InsertFeaturesetIntoSDE()為例介紹其具體實現過程事件:

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

{

//設置欲更新的圖層名

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(“創建空白要素成功”);

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)

//如果沒有保存成功 則刪除掉創建的空白Feature

}

return returnInfo;

}

3.2 界面層的實現

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

//引用文件

……

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

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

Ext

ent=”12324619.9921,3013545.2841,12521039.992,3086331.8652”

MouseMove=”MyMap_MouseMove”

Progress=”Map_Progress”>

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

4 結束語

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

參考文獻

[1] 吳濤, 戚銘堯, 黎勇, 等. WebGIS 開發中的RIA 技術應用研究[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 構建新一代的企業應用集成[J].計算機應用與軟件,2005.20(3):63-65

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

[5]湯國安,楊昕.ArcGIS地理信息系統空間分析實驗教程(第二版)[M].北京科學出版社,2012

[6] 孫莉,李樹剛,陶瑩,等.基于B/S 模式的質量信息管理系統設計與實現[J].上海交通大學學報,2010,44(S1):175-177.

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

主站蜘蛛池模板: 3344在线观看无码| 天天干天天色综合网| 欧美成人免费一区在线播放| 免费A级毛片无码免费视频| 欧美69视频在线| 国模私拍一区二区| 国产美女精品在线| 丝袜美女被出水视频一区| 国产全黄a一级毛片| 毛片视频网| 欧美日韩高清在线| 国产成人精品视频一区视频二区| 这里只有精品国产| 青青青国产视频手机| 国产浮力第一页永久地址| 亚洲天堂2014| 无码精油按摩潮喷在线播放| 久久久久久久蜜桃| 亚洲v日韩v欧美在线观看| 久久国产高清视频| 成人国产精品视频频| 91亚瑟视频| 波多野结衣亚洲一区| 又大又硬又爽免费视频| 国产日本一区二区三区| 丝袜国产一区| 一区二区午夜| 99热这里都是国产精品| 国产sm重味一区二区三区| 亚洲精品无码AV电影在线播放| 日韩一级毛一欧美一国产| 国产精品免费露脸视频| 国产亚洲美日韩AV中文字幕无码成人| 欧美亚洲欧美区| 伊人久久福利中文字幕| 久久99国产乱子伦精品免| 欧美国产日韩在线观看| 国产免费久久精品99re不卡| 被公侵犯人妻少妇一区二区三区| 国产乱子伦视频在线播放| 欧美爱爱网| www.精品国产| 一本无码在线观看| 日本免费新一区视频| 性视频一区| 国内精品自在自线视频香蕉| 动漫精品中文字幕无码| 亚洲美女高潮久久久久久久| 1024国产在线| www.99在线观看| yjizz视频最新网站在线| 99久久婷婷国产综合精| 国产交换配偶在线视频| 丝袜国产一区| 第一区免费在线观看| 国产自在线播放| 亚洲综合色婷婷中文字幕| 国产精品久久久久久搜索| 伊人久久大线影院首页| 日韩成人午夜| 美女无遮挡免费视频网站| 国产激情无码一区二区APP | 日本成人精品视频| 91成人免费观看在线观看| 国产精品区网红主播在线观看| 欧美国产日韩一区二区三区精品影视| 亚洲不卡网| 久久人妻xunleige无码| 国产欧美中文字幕| 欧美精品高清| 免费人成在线观看成人片| 午夜无码一区二区三区在线app| 国产免费网址| 色综合综合网| 重口调教一区二区视频| 少妇精品久久久一区二区三区| 精品国产中文一级毛片在线看| 伊人久久青草青青综合| 最新亚洲人成网站在线观看| 国产午夜精品鲁丝片| 一级一级一片免费| 国产一在线观看|