開源地圖SharpMap源碼解析-(1)簡介

1.簡介

SharpMap最新版基于.NET Framework 4,采用C#開發(fā)的地圖渲染引擎,非常易于使用。我這次研究的是比較穩(wěn)定發(fā)布的V1.1版本??梢栽贕itHub下載該源碼,地址:https://github.com/SharpMap/SharpMap。不想下載的可以在我文章后的鏈接下載我調(diào)試好的源碼并且源碼中也有一些我自己寫的注釋(注意如果使用GitHub的源碼時要使用VS2013以上的Nuget還原,建議直接下載我調(diào)試好的)。

SharpMap實現(xiàn)功能:

(1)符合OpenGIS的簡單要素規(guī)范,支持點、線、面、多點、多線、多面、集合對象集合等要素集合。

(2)支持常規(guī)的地圖操作,例如旋轉(zhuǎn)、平移、縮放等。

(3)實時的地圖投影轉(zhuǎn)換。

(4)使用異步委托實現(xiàn)效率最大化,可編制展示復(fù)雜的地圖主體渲染。

(5)支持Web地圖展示,支持AJAX地圖控件,支持WMS服務(wù)。

(6)有很好的接口支持?jǐn)?shù)據(jù)格式和圖層的擴(kuò)展。

SharpMap支持的格式:

(1)支持矢量數(shù)據(jù)格式:例如ESRI Shape File、PostGIS、Oracle、Microsoft SQLServer、SQLite等。

(2)支持柵格數(shù)據(jù)格式:例如.bmp、.gif、.tif、.png、.dem等格式。

(3)WMS地圖服務(wù)。

SharpMap使用的第三方開源庫:

BruTile:這是基于C#開發(fā)的支持GIS瓦片(tile)的開源代碼庫地址為:https://github.com/BruTile/BruTile

NetTopoLogySuite:基于.net平臺處理GIS空間數(shù)據(jù)及其空間關(guān)系的類庫。開源代碼庫地址為:https://github.com/NetTopologySuite/NetTopologySuite。還使用了該團(tuán)隊的其他開源項目GeoAPI,實現(xiàn).net與GIS互操作開源代碼庫地址為:https://github.com/NetTopologySuite/GeoAPI有興趣的話可以研究一下。

ProjNET:基于.Net開源的地圖投影庫,支持基準(zhǔn)面轉(zhuǎn)換,支持大地坐標(biāo)系,地心坐標(biāo)系以及投影坐標(biāo)系。開源代碼庫地址為:http://projnet.codeplex.com/。

SharpMap源碼結(jié)構(gòu)

網(wǎng)友評論