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

        ?

        .NET平臺下二維地圖控件的設(shè)計與實(shí)現(xiàn)

        2016-01-29 05:02:45衛(wèi)啟云張學(xué)全
        測繪通報 2015年9期
        關(guān)鍵詞:控件圖層繪制

        衛(wèi)啟云,張學(xué)全,王 偉

        (1. 太原市基礎(chǔ)地理數(shù)據(jù)中心,山西 太原 030009; 2. 中國電子科技集團(tuán)第二十八

        研究所,江蘇 南京 210007; 3 . 武漢大學(xué)測繪遙感信息工程國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430079)

        WEI Qiyun,ZHANG Xuequan,WANG Wei

        .NET平臺下二維地圖控件的設(shè)計與實(shí)現(xiàn)

        衛(wèi)啟云1,張學(xué)全2,王偉3

        (1. 太原市基礎(chǔ)地理數(shù)據(jù)中心,山西 太原 030009; 2. 中國電子科技集團(tuán)第二十八

        研究所,江蘇 南京 210007; 3 . 武漢大學(xué)測繪遙感信息工程國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430079)

        Design and Realization of Two-dimensional Map Controls Based on .NET

        WEI Qiyun,ZHANG Xuequan,WANG Wei

        摘要:在專題地理信息系統(tǒng)中采用自制的地圖控件,具有針對性強(qiáng)、體積小和擁有自主產(chǎn)權(quán)等優(yōu)點(diǎn)。本文從控件結(jié)構(gòu)、數(shù)據(jù)繪制、圖層渲染和地圖操作4個方面研究了二維地圖控件的設(shè)計,并加以實(shí)現(xiàn)。

        關(guān)鍵詞:地圖控件;數(shù)據(jù)繪制;圖層渲染;地圖操作

        中圖分類號:P208

        文獻(xiàn)標(biāo)識碼:B

        文章編號:0494-0911(2015)09-0107-02

        收稿日期:2015-06-19

        作者簡介:衛(wèi)啟云(1966—),男,高級工程師,研究方向?yàn)閿?shù)字城市地理空間框架及智慧城市時空信息云平臺。E-mail: wqy8504@163.com

        abstractGDAL(geospatial data ion library)是一個在X/MIT許可協(xié)議下的開源柵格空間數(shù)據(jù)轉(zhuǎn)換庫,它利用抽象數(shù)據(jù)模型來表達(dá)所支持的各種文件格式,此外,還有一系列命令行工具來進(jìn)行數(shù)據(jù)轉(zhuǎn)換和處理。

        一、引言

        組件式GIS開發(fā)是當(dāng)前GIS開發(fā)的主流方式,即通過購買ArcObjects、MapX、SuperMap Objects等組件,供用戶進(jìn)行二次開發(fā)。這種利用組件工具進(jìn)行GIS平臺開發(fā)的方式,具有系統(tǒng)穩(wěn)定、資源豐富、開發(fā)效率高且難度低等優(yōu)點(diǎn)。然而,在專題地理信息系統(tǒng)中,這種方式存在著極大的缺點(diǎn):購買價格昂貴,而資源使用率很低;功能太泛,不適合于某一專業(yè)GIS系統(tǒng);沒有自主產(chǎn)權(quán),在很大程度上受制于生產(chǎn)廠商。本文將介紹基于.NET的自定義二維地圖控件,并在某氣象信息系統(tǒng)中加以實(shí)現(xiàn)。

        二、地圖控件的總體設(shè)計

        1. 控件簡介

        二維地圖控件包含一些基本的功能:對矢量數(shù)據(jù)、柵格數(shù)據(jù)和氣象數(shù)據(jù)的加載;對地圖圖層進(jìn)行特定的渲染;支持對地圖的縮放、漫游等基本操作。

        2. 控件結(jié)構(gòu)

        控件的系統(tǒng)結(jié)構(gòu)如圖1所示。

        地圖控件MapControl的主要類是Map類,它封裝了地圖投影(Spatial Reference)、視圖范圍(Extent)等屬性。Map包含若干個圖層(Layer)。Layer基類又派生為3種類,即矢量圖層(FeatureLayer)、柵格圖層(RasterLayer)和氣象圖層(MeterLayer)。

        Layer中主要封裝了DataSource和Renderer屬性。DataSource封裝了Layer的數(shù)據(jù),即由若干Geometry組成。Geometry的組織結(jié)構(gòu)參考OpenGIS定義的Geometry Object Model。Renderer封裝了對Layer數(shù)據(jù)的渲染方式。

        圖1 控件的系統(tǒng)結(jié)構(gòu)

        三、地圖控件的具體實(shí)現(xiàn)

        1. 數(shù)據(jù)繪制

        (1) GDI+

        GDI+是微軟在Windows 2000以后操作系統(tǒng)中提供的新的圖形設(shè)備接口,其通過一套部署為托管代碼的類來展現(xiàn),這套類被稱為GDI+的托管類接口。GDI+主要提供了3類服務(wù):二維矢量圖形、圖像處理和文字顯示。

        基于.NET平臺使用GDI+繪圖,使得應(yīng)用程序開發(fā)人員在輸出屏幕和打印機(jī)信息時無須考慮具體顯示設(shè)備的細(xì)節(jié),只需調(diào)用GDI+庫輸出的類的一些方法即可完成圖形操作,真正的繪圖工作由這些方法交給特定的設(shè)備驅(qū)動程序來完成,GDI+使得圖形硬件和應(yīng)用程序相互隔離,從而使開發(fā)人員編寫設(shè)備無關(guān)的應(yīng)用程序變得非常容易。

        (2) GDAL/OGR

        OGR是GDAL項(xiàng)目的一個分支,功能與GDAL類似,只不過它提供對矢量數(shù)據(jù)的支持。很多著名的GIS類產(chǎn)品都使用了GDAL/OGR庫,包括Esri的ArcGIS、Google Earth和跨平臺的GRASS GIS系統(tǒng)。

        以下為調(diào)用OGR庫讀取shapefile文件部分代碼:

        OSGeo.OGR.Ogr.RegisterAll(); ∥注冊所有格式的驅(qū)動

        OSGeo.OGR.Driverdr=OSGeo.OGR.Ogr.GetDriverByName("ESRI shapefile");∥獲取ESRI shapefile驅(qū)動

        OSGeo.OGR.DataSource ds=dr.Open(path,0); ∥打開數(shù)據(jù)源

        intlayerCount=ds.GetLayerCount();∥獲取圖層數(shù)

        OSGeo.OGR.Layer layer=ds.GetLayerByIndex(0); ∥獲取第一層

        OSGeo.OGR.FeatureDefnogrFDefn=layer.GetLayerDefn();∥獲取圖層信息

        2. 圖層渲染

        一個圖層包括圖層名、范圍、投影信息等屬性,此外,還應(yīng)定義一個渲染(Renderer)屬性。

        Renderer的組織結(jié)構(gòu)如圖2所示。

        從Renderer派生3種渲染類型,即矢量渲染(FeatureRenderer)、柵格渲染(RasterRenderer)和氣象渲染(MeterRenderer)。

        圖2 Renderer類的結(jié)構(gòu)

        Renderer的符號(Symbol)屬性是用于修飾要素的對象,它派生為3種符號類型,即點(diǎn)符號(PointSymbol)、線符號(PolylineSymbol)和面符號(PolygonSymbol)。如對于面要素,PolygonSymbol可以設(shè)置面的邊框線型、邊框顏色和填充顏色等屬性。

        3. 地圖基本操作

        (1) 縮 放

        地圖的縮放操作實(shí)際上是對Map的Extent進(jìn)行操作。放大地圖時,即將Extent范圍縮小,使其顯示在屏幕上處于放大狀態(tài);縮小地圖時,即將Extent范圍變大,使其顯示在屏幕上處于縮小狀態(tài)。

        一般在縮放過程中,并不是所有的圖形都能夠顯示在屏幕上。而一般的繪圖機(jī)制則是把所有圖形元素,不管是屏幕內(nèi)的還是屏幕外的都進(jìn)行繪制,嚴(yán)重地影響了顯示或繪制的速度,同時放大比例越大,影響就越大。因此,應(yīng)當(dāng)在繪圖前首先判斷這一圖形元素是否顯示在視圖屏幕上:如果在,則繪制;否則不予處理。

        (2) 漫 游

        地圖的漫游操作即對當(dāng)前的視圖范圍進(jìn)行移動操作。當(dāng)鼠標(biāo)左擊進(jìn)行移動時,計算鼠標(biāo)的移動距離,并轉(zhuǎn)換為Extent的變化。當(dāng)松開鼠標(biāo)時,刷新Extent內(nèi)的要素,就達(dá)到了漫游的效果。

        考慮到地圖的數(shù)據(jù)量較大,在進(jìn)行移動時,不應(yīng)該實(shí)時刷新要素,因?yàn)檫@樣會影響顯示速度。因此,在鼠標(biāo)移動時應(yīng)該只移動圖像而不刷新要素,只在最后松開鼠標(biāo)時刷新要素并顯示。

        四、利用地圖控件開發(fā)的GIS平臺實(shí)例

        在數(shù)字城市GIS平臺中,通過引用該二維地圖控件,實(shí)現(xiàn)了數(shù)據(jù)的加載、渲染和縮放漫游等功能,如圖3所示。

        以下為加載矢量數(shù)據(jù)和氣象數(shù)據(jù)的部分代碼:

        圖3 數(shù)字城市GIS平臺

        FeatureLayerlayer1=Algorithms.ReadShpFile(dataPath+@"世界地圖.shp"); ∥初始化矢量圖層,讀取shapefile文件

        layer1.Renderer=renderer1; ∥圖層渲染

        MapControl.AddLayer(layer1); ∥加載矢量圖層

        MeterLayer layer2=new MeterLayer(); ∥氣象圖層初始化

        MeterLayer.DataSource=geometries; ∥設(shè)置氣象圖層數(shù)據(jù)源

        layer2.Renderer=renderer2; ∥圖層渲染

        MapControl.AddLayer(layer2); ∥加載氣象圖層

        MapControl.Refresh(gaeaViewDrawPhase.gaeaViewAll, null, null); ∥刷新

        五、結(jié)束語

        本文基于 .NET自定義的二維地圖控件實(shí)現(xiàn)了數(shù)據(jù)的加載、 圖層的渲染及縮放漫游等操作。在專

        題地理信息系統(tǒng)中,采用自制的地圖控件,有針對性強(qiáng)、體積小和擁有自主產(chǎn)權(quán)等優(yōu)點(diǎn)。當(dāng)然,自定義二維地圖控件需要開發(fā)者掌握GIS底層技術(shù)和方法,這也增加了系統(tǒng)的開發(fā)難度。

        參考文獻(xiàn):

        [1]劉愷,楊春全,劉達(dá). 基于C#的地理信息控件研究[J].測繪與空間地理信息,2010,33(1):76-77.

        [2]苗啟廣,楊思燕,王寶樹,等. 基于GIS技術(shù)的軍用地圖控件的設(shè)計[J]. 電光與控制,2003,10(3):56-60.

        [3]宋金紅,張熠斌,隋立春.基于組件式GIS的城市信息查詢系統(tǒng)的設(shè)計與開發(fā)[J].測繪通報,2011(1):56-58.

        [4]張海堂,羅睿. 基于Mapx的多比例尺地圖數(shù)據(jù)無縫顯示[J]. 測繪通報,2005(1):32-34.

        [5]袁斌.GML地圖近代件的設(shè)計與實(shí)現(xiàn)[J]. 測繪工程,2012(2):64-69.

        [6]邢漢發(fā).面向更新的網(wǎng)絡(luò)化空間標(biāo)報模型研究[J].測繪學(xué)報,2014,43(8):880.

        猜你喜歡
        控件圖層繪制
        Art on coffee cups
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        放學(xué)后
        童話世界(2018年17期)2018-07-30 01:52:02
        巧用混合圖層 制作抽象動感森林
        圖層法在地理區(qū)域圖讀圖中的應(yīng)用
        在轉(zhuǎn)變中繪制新藍(lán)圖
        淺析“遞層優(yōu)化法”在礦井制圖中的應(yīng)用
        河南科技(2014年6期)2014-04-04 08:00:42
        Photoshop圖層的解讀
        就這樣玩會VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        VBA在宗地圖繪制中的應(yīng)用
        国产精品一区二区av麻豆| 国产日韩一区二区精品| 日本97色视频日本熟妇视频| 久久精品国产亚洲av麻豆会员| 肥臀熟女一区二区三区| 欧美在线播放一区二区| 日韩精品夜色二区91久久久| 国产剧情一区二区三区在线| 精品无码国产自产拍在线观看蜜| 亚洲AV永久无码制服河南实里| 在线视频一区二区亚洲| 精品久久综合日本久久综合网| 久久天天躁狠狠躁夜夜躁2014| 人妻丰满熟妇AV无码区HD| 极品人妻少妇一区二区| 国产老熟女精品一区二区| 国产午夜福利不卡在线观看| 国产手机在线αⅴ片无码| 激情一区二区三区视频| 日韩精品久久中文字幕| 国产麻豆成人精品av| 妺妺窝人体色www聚色窝韩国| 精品一区二区三区牛牛| 免费a级毛片在线播放不收费| 吃奶还摸下面动态图gif| 最新福利姬在线视频国产观看 | 蜜桃视频一区二区三区四| 无码人妻少妇久久中文字幕蜜桃| 伊人久久成人成综合网222| 日本一区二区三区的免费视频观看| 亚洲综合日韩精品一区二区| 精品无码久久久久成人漫画| 亚洲免费一区二区三区视频 | 国产农村妇女精品一区| 欧美日韩一区二区综合| 日本久久精品免费播放| 91熟女av一区二区在线| 国产又色又爽又黄刺激在线视频| 久久这里只精品国产99热| 91国产视频自拍在线观看| av天堂午夜精品一区|