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

.NET平臺下二維地圖控件的設計與實現

2016-01-29 05:02:45衛啟云張學全
測繪通報 2015年9期
關鍵詞:測繪

衛啟云,張學全,王 偉

(1. 太原市基礎地理數據中心,山西 太原 030009; 2. 中國電子科技集團第二十八

研究所,江蘇 南京 210007; 3 . 武漢大學測繪遙感信息工程國家重點實驗室,湖北 武漢 430079)

WEI Qiyun,ZHANG Xuequan,WANG Wei

.NET平臺下二維地圖控件的設計與實現

衛啟云1,張學全2,王偉3

(1. 太原市基礎地理數據中心,山西 太原 030009; 2. 中國電子科技集團第二十八

研究所,江蘇 南京 210007; 3 . 武漢大學測繪遙感信息工程國家重點實驗室,湖北 武漢 430079)

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

WEI Qiyun,ZHANG Xuequan,WANG Wei

摘要:在專題地理信息系統中采用自制的地圖控件,具有針對性強、體積小和擁有自主產權等優點。本文從控件結構、數據繪制、圖層渲染和地圖操作4個方面研究了二維地圖控件的設計,并加以實現。

關鍵詞:地圖控件;數據繪制;圖層渲染;地圖操作

中圖分類號:P208

文獻標識碼:B

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

收稿日期:2015-06-19

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

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

一、引言

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

二、地圖控件的總體設計

1. 控件簡介

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

2. 控件結構

控件的系統結構如圖1所示。

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

Layer中主要封裝了DataSource和Renderer屬性。DataSource封裝了Layer的數據,即由若干Geometry組成。Geometry的組織結構參考OpenGIS定義的Geometry Object Model。Renderer封裝了對Layer數據的渲染方式。

圖1 控件的系統結構

三、地圖控件的具體實現

1. 數據繪制

(1) GDI+

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

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

(2) GDAL/OGR

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

以下為調用OGR庫讀取shapefile文件部分代碼:

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

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

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

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

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

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

2. 圖層渲染

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

Renderer的組織結構如圖2所示。

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

圖2 Renderer類的結構

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

3. 地圖基本操作

(1) 縮 放

地圖的縮放操作實際上是對Map的Extent進行操作。放大地圖時,即將Extent范圍縮小,使其顯示在屏幕上處于放大狀態;縮小地圖時,即將Extent范圍變大,使其顯示在屏幕上處于縮小狀態。

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

(2) 漫 游

地圖的漫游操作即對當前的視圖范圍進行移動操作。當鼠標左擊進行移動時,計算鼠標的移動距離,并轉換為Extent的變化。當松開鼠標時,刷新Extent內的要素,就達到了漫游的效果。

考慮到地圖的數據量較大,在進行移動時,不應該實時刷新要素,因為這樣會影響顯示速度。因此,在鼠標移動時應該只移動圖像而不刷新要素,只在最后松開鼠標時刷新要素并顯示。

四、利用地圖控件開發的GIS平臺實例

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

以下為加載矢量數據和氣象數據的部分代碼:

圖3 數字城市GIS平臺

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

layer1.Renderer=renderer1; ∥圖層渲染

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

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

MeterLayer.DataSource=geometries; ∥設置氣象圖層數據源

layer2.Renderer=renderer2; ∥圖層渲染

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

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

五、結束語

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

題地理信息系統中,采用自制的地圖控件,有針對性強、體積小和擁有自主產權等優點。當然,自定義二維地圖控件需要開發者掌握GIS底層技術和方法,這也增加了系統的開發難度。

參考文獻:

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

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

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

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

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

[6]邢漢發.面向更新的網絡化空間標報模型研究[J].測繪學報,2014,43(8):880.

猜你喜歡
測繪
浙江省第一測繪院
工程測繪中GNSS測繪技術的應用
測繪新技術在測繪工程中的應用
江西建材(2018年4期)2018-04-10 12:37:38
04 無人機測繪應用創新受青睞
無人機在地形測繪中的應用
電子制作(2017年9期)2017-04-17 03:01:00
測繪簡史
主站蜘蛛池模板: 国产性生大片免费观看性欧美| 久久黄色影院| 婷婷综合缴情亚洲五月伊| 国产亚卅精品无码| 国产凹凸视频在线观看| 欧美一区二区三区香蕉视| 香蕉国产精品视频| 一区二区三区在线不卡免费| 国产精品无码翘臀在线看纯欲| 婷婷开心中文字幕| 国产精品分类视频分类一区| 一级毛片免费高清视频| 国产综合网站| 国产精品一区二区国产主播| 成人福利免费在线观看| 国内精品九九久久久精品| 国产三级成人| 激情综合网激情综合| 亚洲欧美h| 国产真实乱子伦视频播放| 亚洲aaa视频| 亚洲精品波多野结衣| 色天天综合久久久久综合片| 不卡的在线视频免费观看| 9cao视频精品| 欧美精品亚洲二区| 91成人在线观看视频| av无码一区二区三区在线| av无码久久精品| 久久无码av三级| 日韩欧美中文字幕在线韩免费| 九九热这里只有国产精品| 国产福利小视频在线播放观看| igao国产精品| 亚洲一道AV无码午夜福利| 欧美中文字幕一区| 亚洲综合婷婷激情| 欧美精品成人一区二区视频一| 国产精品亚洲片在线va| 四虎永久免费地址| 久久久国产精品免费视频| 中文精品久久久久国产网址| 国产精欧美一区二区三区| 国产精品亚洲片在线va| 青草娱乐极品免费视频| 中国一级特黄大片在线观看| 人妻丰满熟妇啪啪| 亚洲国产精品一区二区第一页免| 精品视频福利| 超碰精品无码一区二区| 91探花在线观看国产最新| 国产乱子伦一区二区=| 99国产精品国产高清一区二区| 成人精品视频一区二区在线| 手机永久AV在线播放| 久久精品一卡日本电影| 国产成人精品一区二区| 毛片基地美国正在播放亚洲 | 女人18一级毛片免费观看| 亚洲乱码视频| 国产美女主播一级成人毛片| 97在线国产视频| 欧美精品成人一区二区在线观看| 国产白浆视频| 久久亚洲美女精品国产精品| 国产免费好大好硬视频| 国产主播喷水| 日韩国产 在线| 九九免费观看全部免费视频| 久久亚洲国产最新网站| 国产综合网站| 久久男人资源站| 全部免费毛片免费播放| 在线欧美一区| 久久亚洲国产最新网站| 狠狠ⅴ日韩v欧美v天堂| 国产在线一区视频| 国产毛片片精品天天看视频| 成人精品免费视频| 国产成人亚洲无码淙合青草| 欧美激情第一区| 欧美黑人欧美精品刺激|