国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Silverlight的矢量地圖符號(hào)模型設(shè)計(jì)與實(shí)踐

2013-12-06 08:46:40黃瑞陽郭建忠余慧明史瑞鵬
測繪工程 2013年1期
關(guān)鍵詞:圖元線狀點(diǎn)狀

黃瑞陽,郭建忠,余慧明,2,史瑞鵬

(1.信息工程大學(xué) 測繪學(xué)院,河南 鄭州 450052;2.68011部隊(duì),甘肅 蘭州 730020;3.61363部隊(duì),陜西 西安 710054)

RIA(Rich Internet Application)是實(shí)現(xiàn)網(wǎng)絡(luò)富客戶端應(yīng)用的新興技術(shù)[1-3],它采用了XAML語言,具有更為豐富的多媒體表達(dá)能力,同時(shí)它把界面呈現(xiàn)邏輯轉(zhuǎn)移到客戶端實(shí)現(xiàn),能夠充分挖掘客戶端系統(tǒng)的性能,提高系統(tǒng)架構(gòu)的整體服務(wù)性能。將RIA技術(shù)引入WebGIS開發(fā)和應(yīng)用,提高WebGIS與用戶之間的靈活交互能力和信息傳輸能力[4-5],已經(jīng)成為當(dāng)前WebGIS開發(fā)的趨勢,眾多國內(nèi)外網(wǎng)絡(luò)地圖提供商[6-8]如ERSI、Microsoft等巨頭紛紛提供基于RIA技術(shù)的WebGIS公眾平臺(tái),還提供面向RIA的二次開發(fā)接口,如ESRI的Arcgis for silverlight SDK 2.0。然而,目前常見的WebGIS平臺(tái)大都采用地圖切片的體系架構(gòu),其地圖符號(hào)化過程往往在服務(wù)器端進(jìn)行實(shí)現(xiàn),這種架構(gòu)雖然提高了WebGIS的空間信息網(wǎng)絡(luò)請(qǐng)求的響應(yīng)能力,然而卻束縛了WebGIS交互能力的進(jìn)一步發(fā)展,特別是制約了基于WebGIS的地圖制圖技術(shù)的發(fā)展。因此,本文主要研究基于Silverlight的矢量地圖符號(hào)模型設(shè)計(jì)與實(shí)踐,從矢量地圖符號(hào)化框架設(shè)計(jì)入手,設(shè)計(jì)基于Silverlight的開放靈活通用的矢量地圖點(diǎn)狀、線狀、面狀符號(hào)模型,最后結(jié)合Silverlight 4.0和WCF(Windows Communication Foundation,微軟通訊連接基礎(chǔ))服務(wù),進(jìn)行基于Silverlight的矢量地圖符號(hào)庫加載和顯示試驗(yàn),通過地圖符號(hào)庫在線繪制的時(shí)間測試,驗(yàn)證基于Silverlight的矢量地圖符號(hào)模型的設(shè)計(jì)與實(shí)踐,在提高可視化效果的同時(shí),滿足WebGIS的交互響應(yīng)要求。

1 基于Silverlight的矢量地圖符號(hào)化框架設(shè)計(jì)

地圖符號(hào)化是GIS可視化的重要組成部分,在傳統(tǒng)WebGIS框架體系中,由于受空間信息傳輸要求和客戶端圖形表達(dá)不豐富等限制,WebGIS往往采用B/S模式實(shí)現(xiàn),即將地圖數(shù)據(jù)的加載和渲染在服務(wù)器端進(jìn)行實(shí)現(xiàn),只將地圖符號(hào)化后結(jié)果以圖片的形式返回給客戶端。此外,國內(nèi)外一些學(xué)者嘗試用SVG等語言實(shí)現(xiàn)網(wǎng)絡(luò)地圖符號(hào)化[9-10],這些研究在一定程度上實(shí)現(xiàn)了地理空間信息的豐富圖形表達(dá)與快速傳輸,然而,卻忽略了空間數(shù)據(jù)的Web交互表達(dá)展現(xiàn)能力,網(wǎng)絡(luò)地圖符號(hào)的相關(guān)操作有限,進(jìn)而限制了網(wǎng)絡(luò)地圖制圖技術(shù)的發(fā)展。

在計(jì)算機(jī)軟硬件水平大幅度提升和RIA技術(shù)日趨成熟的今天,采用RIA技術(shù)實(shí)現(xiàn)豐富高效的WebGIS開發(fā)和應(yīng)用已經(jīng)成為可能。如何實(shí)現(xiàn)基于RIA技術(shù)的地圖符號(hào)化,是面向RIA的WebGIS開發(fā)和實(shí)踐過程中不可或缺的一部分。Silverlight是微軟推出的一種跨瀏覽器、跨平臺(tái)的,用于提供下一代媒體體驗(yàn)和豐富的RIA應(yīng)用的新技術(shù)[11],它的表現(xiàn)層框架提供了矢量圖形、動(dòng)畫、文本和圖像等,為網(wǎng)絡(luò)地圖符號(hào)化技術(shù)實(shí)現(xiàn)。因此,本文設(shè)計(jì)了基于Silverlight的矢量地圖符號(hào)化框架,如圖1所示。該框架主要由數(shù)據(jù)層、服務(wù)器端和客戶端三部分組成,其中數(shù)據(jù)層主要是網(wǎng)絡(luò)上任意地址或者本地的矢量數(shù)據(jù)庫和符號(hào)庫;服務(wù)器端提供了數(shù)據(jù)訪問調(diào)用的接口,并根據(jù)客戶應(yīng)用提供了豐富的數(shù)據(jù)功能、功能服務(wù)和符號(hào)調(diào)用解析服務(wù),同時(shí)負(fù)責(zé)響應(yīng)多個(gè)客戶端的請(qǐng)求;客戶端在RIA表現(xiàn)層框架的基礎(chǔ)上,通過調(diào)用服務(wù)器端的數(shù)據(jù)服務(wù)和符號(hào)調(diào)用與解析服務(wù),并進(jìn)行可視化展現(xiàn),同時(shí)提供了用戶與WebGIS平臺(tái)的豐富交互操作。

圖1 基于Silverlight的矢量地圖符號(hào)化框架

該框架將地圖符號(hào)化放置在客戶端實(shí)現(xiàn),能夠充分利用客戶端的軟硬件能力,減輕服務(wù)器端的負(fù)擔(dān),同時(shí)將GIS常用的矢量數(shù)據(jù)加載、處理和符號(hào)庫加載等以服務(wù)的形式進(jìn)行封裝和提供,在提供WebGIS可視化效果的同時(shí),實(shí)現(xiàn)系統(tǒng)的松散耦合和良好伸縮?;谥茍D相關(guān)交互操作服務(wù)的封裝與部署,用戶可以流暢實(shí)現(xiàn)基于RIA的網(wǎng)絡(luò)地圖制圖。

2 基于Silverlight的矢量地圖符號(hào)模型設(shè)計(jì)

2.1 點(diǎn)狀地圖符號(hào)模型設(shè)計(jì)

點(diǎn)狀地圖符號(hào)主要用于表示空間中各種具有點(diǎn)的性質(zhì),它通常是一系列的基本圖元組成的[12-13],經(jīng) 過 分 析ArcGIS、SuperMap、MapGIS、MGIS等成熟GIS軟件的點(diǎn)狀地圖符號(hào)的組成規(guī)律,點(diǎn)狀地圖符號(hào)的基本組成圖元主要有以下18種:點(diǎn)、直線、折線、平行線、張力曲線、貝賽爾曲線、多邊形、矩形、圓角矩形、五角星、正多邊形、圓弧、橢圓、弦、扇形、文本、圖片(圖標(biāo))、復(fù)合圖元等。為了設(shè)計(jì)通用的點(diǎn)狀地圖符號(hào)模型,本文采用面向?qū)ο笤O(shè)計(jì)的思想[14],設(shè)計(jì)了基于Silverlight的矢量地圖符號(hào)模型,如圖2所示。其中,圖2左側(cè)為圖元基類ShapeCell的類視圖,ShapeCell從Silverlight的表現(xiàn)層元素FrameworkElement派生出來,方便了將符號(hào)圖元轉(zhuǎn)化為Silverlight中具有可視外觀布局且可以處理基本輸入的用戶界面元素。在該圖元基類中,定義了圖元繪制于屏幕中所需的屬性和方法如表1所示。根據(jù)點(diǎn)狀符號(hào)的基本組成圖元的類型,ShapeCell又派生出了15個(gè)子類,各個(gè)子類的詳細(xì)描述信息如表2所示。

表1 基類ShapeCell的成員屬性及方法信息

表2 圖元子類的描述信息表

圖2 基于Silverlight的點(diǎn)狀地圖符號(hào)通用模型

2.2 線狀地圖符號(hào)模型設(shè)計(jì)

線狀地圖符號(hào)主要用于表示道路、境界和河流等呈線狀分布的地理要素,其可以看作是組成該線狀符號(hào)的基本圖元按照一定的規(guī)則沿定位線循環(huán)配置而成[15],線狀地圖符號(hào)的圖元循環(huán)規(guī)則一般有縱向疊加和循環(huán)配置2種,因此,線狀地圖符號(hào)組成圖元由StrokeDotShapeCell和BaseStrokeShape 2個(gè)子類組成,如圖3所示,其中StrokeDotShapeCell實(shí)現(xiàn)了由點(diǎn)狀符號(hào)(ChildCells圖元列表)按照一定的間距循環(huán)配置生成線狀符號(hào),BaseStrokeShape-Cell實(shí)現(xiàn)了由若干個(gè)點(diǎn)狀符號(hào)按照一定的位置(首部、中部、尾部)和偏移量循環(huán)縱向配置在基線段(Sections)上以生成線狀符號(hào)。基于線狀符號(hào)圖元的地圖符號(hào)化步驟具體如下:

圖3 基于Silverlight的線狀地圖符號(hào)通用模型

1)判斷是否包含要配置的點(diǎn)符,如果沒有,則進(jìn)行簡單線處理;如果有,進(jìn)入2)步驟;

2)動(dòng)態(tài)計(jì)算線的長度;

3)按照一定的閾值對(duì)線上的點(diǎn)進(jìn)行壓縮刪除;

4)按照?qǐng)D元的間隔內(nèi)插生成若干個(gè)圖元放置的起始點(diǎn);

5)在每個(gè)內(nèi)插點(diǎn)將線狀圖元按照一定的縮放比例進(jìn)行渲染。

2.3 面狀地圖符號(hào)模型設(shè)計(jì)

面狀地圖符號(hào)表示呈面狀分布的、連續(xù)的空間現(xiàn)象。面狀符號(hào)的填充主要有圖片填充、簡單填充、點(diǎn)符填充和暈渲填充4種方法。因此設(shè)計(jì)了如圖4所示的面狀符號(hào)通用模型,其中SimplePatternCell子類定義了Brush對(duì)象,實(shí)現(xiàn)了Silverlight支持界面元素對(duì)象的填充,如LineGradientBrush,VideoBrush,RadialGradientBrush,SolidGradient-Brush等;PicturePatternCell子類定義了基于圖像圖標(biāo)的面渲染方式,在Silverlight內(nèi)置的Image-Brush基礎(chǔ)上,實(shí)現(xiàn)了支持多種格式圖像的平鋪填充;MarkPatternCell通過定義面填充的點(diǎn)符圖元列表(MarkCells)和點(diǎn)符的填充規(guī)則(如矩形、菱形、隨機(jī)等多種規(guī)則)來實(shí)現(xiàn)基于點(diǎn)符的面渲染;LinePatternCell:通過定義面填充的暈線圖元列表和暈線的規(guī)則來實(shí)現(xiàn)基于暈線的面填充。

圖4 基于Silverlight的面狀地圖符號(hào)通用模型

除了SimplePatternCell子類的填充算法實(shí)現(xiàn)受Silverlight內(nèi)置畫刷支持外,其余3個(gè)子類的面填充算法均需要重新開發(fā)和設(shè)計(jì),由于圖像的渲染,可以轉(zhuǎn)化為基于圖像圖元的渲染,暈線的面填充可以將暈線轉(zhuǎn)化為若干個(gè)圖元的組合,所以都可以看作是基于圖元的面填充算法,該算法的實(shí)現(xiàn)步驟如下:

1)判斷填充樣式圖元所占的尺寸及圖元之間的縱橫填充間距,若樣式圖元為圖像時(shí),即PicturePatternCell子類中,設(shè)置該樣式圖元所占長度為圖像的尺寸,填充間距為0;

2)根據(jù)待渲染面的控制點(diǎn),提取出外接矩形B;

3)根據(jù)外接矩形B,計(jì)算需要填充的樣式圖元的行數(shù)R和列數(shù)C;

4)遍歷行數(shù)R和列數(shù)C進(jìn)行樣式圖元的渲染;

5)創(chuàng)建基于控制點(diǎn)的復(fù)合幾何圖形G,則設(shè)置面符所要渲染區(qū)域的內(nèi)容邊框?yàn)樵搹?fù)合幾何圖形G,即Canvas.Clip=G。裁剪后的區(qū)域即為渲染的面區(qū)域。

3 基于Silverlight的矢量地圖符號(hào)化實(shí)踐

經(jīng)過以上的分析和設(shè)計(jì),本文利用Visual Studio 2010平臺(tái)結(jié)合Silverlight 4.0SDK進(jìn)行矢量地圖符號(hào)化的開發(fā)和實(shí)踐。在矢量地圖符號(hào)模型設(shè)計(jì)的基礎(chǔ)上,建立了遵循國標(biāo)地圖符號(hào)圖式規(guī)范和中國海圖圖式規(guī)范的地圖符號(hào)庫,并將之部署在服務(wù)器上,并提供基于WCF的服務(wù)庫遠(yuǎn)程調(diào)用接口。Silverlight客戶端通過調(diào)用WCF服務(wù),進(jìn)行符號(hào)庫的遠(yuǎn)程下載和解析,并將矢量地圖點(diǎn)狀、線狀、面狀符號(hào)分類進(jìn)行渲染,如圖5~8所示。經(jīng)過時(shí)間性能測試,客戶端遠(yuǎn)程下載符號(hào)庫并進(jìn)行解析的時(shí)間平均占用230ms,而符號(hào)化耗費(fèi)時(shí)間平均只為140ms,而且隨著服務(wù)器端緩存和客戶端緩存策略的實(shí)現(xiàn),符號(hào)化耗費(fèi)時(shí)間縮小為85ms,滿足了網(wǎng)絡(luò)環(huán)境下地圖實(shí)時(shí)符號(hào)化的響應(yīng)要求,驗(yàn)證基于Silverlight的矢量地圖符號(hào)模型設(shè)計(jì),在提高地圖可視化效果的同時(shí),滿足WebGIS的交互響應(yīng)要求。

圖5 基于Silverlight的國標(biāo)地圖點(diǎn)狀符號(hào)實(shí)現(xiàn)

4 結(jié)束語

矢量地圖符號(hào)化是傳統(tǒng)WebGIS效率和可視化交互能力的瓶頸,本文通過研究基于Silverlight的矢量地圖符號(hào)模型設(shè)計(jì)與實(shí)踐,從矢量地圖符號(hào)化框架入手,研究基于Silverlight的矢量地圖符號(hào)模型的設(shè)計(jì),并進(jìn)行了面向Silverlight的地圖符號(hào)庫平臺(tái)加載和顯示試驗(yàn),通過符號(hào)庫遠(yuǎn)程調(diào)用、解析與繪制的時(shí)間測試,驗(yàn)證基于Silverlight的矢量地圖符號(hào)模型設(shè)計(jì),在提高地圖可視化效果的同時(shí),滿足了WebGIS的交互響應(yīng)要求。下一步作者將從通過專題地圖符號(hào)模型設(shè)計(jì)、基于Silverlight的地圖符號(hào)在線編輯器和基于Silverlight的符號(hào)注冊(cè)中心等方面進(jìn)行研究。

[1]George Lawton.New ways to build rich internet applications[J].IEEE Computer,2008,41(8):10-12.

[2]Victor Gaudioso.Foundation Expression Blend 3with Silverlight[M].NewYork:Friends of ED,2009.

[3]方坤.基于RIA技術(shù)的構(gòu)件式WebGIS表現(xiàn)層技術(shù)研究[D].北京:中國地質(zhì)大學(xué),2009.

[4]俞亮,洪勝.淺析基于Silverlight的WebGIS客戶端應(yīng)用[J].浙江測繪,2010(3):26.

[5]王天寶,王爾琪.基于Silverlight的WebGIS客戶端技術(shù)與應(yīng)用試驗(yàn)[J].地球信息科學(xué)學(xué)報(bào),2010,12(1):69-71.

[6]ESRI Online Smaples.http://www.arcgisonline.cn/agsolcn/service/map/countrymap2.jsp.

[7]Google Map.http://www.googlemap.com.

[8]Bing Map在 線 平 臺(tái).http://www.microsoft.com/maps/isdk/silverlight,2011.11.28.

[9]Adobe,The Adobe SVG Viewer is a Great Tool for Viewing SV G in Your Web Browser[EB/OL],http://www.adobe.com/svg/viewer/,2002.08.

[10]李清泉,謝智穎.基于SVG的空間信息描述與可視化表達(dá)[J].測繪學(xué)報(bào),2005,34(1):58-60.

[11]Silverlight 4.0中文幫助文檔,http://www.microsoft.com/download/silverlight 4.0

[12]闞映紅,孫群.地圖符號(hào)的描述方法及生成技術(shù)[J].測繪通報(bào),2010(5):65-67.

[13]王光霞.地圖設(shè)計(jì)與編繪[M].北京:測繪出版社,2011.

[14]AMANUDDIN,R.,RONCHI,D.,NGUYEN,J.,HUA,K.,YEE,E.,AND AU,E.Service-oriented architecture in a pervasive environment[C].IBM,September 2004.

[15]王鵬,馬秋禾,肖蓉.運(yùn)用對(duì)象組合(OC)技術(shù)建構(gòu)線狀符號(hào)庫[J].東北測繪,2001(4):52-55.

猜你喜歡
圖元線狀點(diǎn)狀
Ⅰ型肢根型點(diǎn)狀軟骨發(fā)育不良家系的遺傳學(xué)分析
某住宅樓的混凝土點(diǎn)狀爆裂原因分析
無取向硅鋼邊部線狀缺陷分析及改進(jìn)措施
山東冶金(2022年2期)2022-08-08 01:50:44
一種組態(tài)控件技術(shù)在電力監(jiān)控系統(tǒng)中的運(yùn)用
學(xué)術(shù)出版物插圖的編排要求(一):圖注
聯(lián)鎖表自動(dòng)生成軟件的設(shè)計(jì)與實(shí)現(xiàn)
熱軋卷板邊部線狀缺陷分析與措施
山東冶金(2019年1期)2019-03-30 01:34:54
錳合金化奧氏體不銹鋼的抗點(diǎn)狀腐蝕性能
四川冶金(2017年2期)2017-04-11 12:55:36
線狀生命
山東青年(2016年2期)2016-02-28 14:25:33
基于Qt繪圖系統(tǒng)的圖形應(yīng)用優(yōu)化研究與實(shí)現(xiàn)
軟件(2016年12期)2016-02-13 05:58:14
疏勒县| 阳泉市| 右玉县| 柳林县| 浦县| 沂南县| 伽师县| 灵宝市| 南涧| 双辽市| 镇江市| 滕州市| 德保县| 博湖县| 清河县| 锡林郭勒盟| 泸定县| 秭归县| 兴化市| 乐亭县| 忻州市| 临洮县| 永川市| 孟州市| 循化| 水富县| 汝城县| 裕民县| 鱼台县| 永靖县| 额尔古纳市| 湘潭市| 清水县| 龙海市| 隆安县| 巴彦淖尔市| 洞头县| 石渠县| 安仁县| 东乌珠穆沁旗| 庄河市|