`
阿尔萨斯
  • 浏览: 4170373 次
社区版块
存档分类
最新评论

基于.NET 2.0的GIS开源项目SharpMap分析手记(二):源代码总体结构分析

 
阅读更多
解压下载的0.9版源代码,有两个文件夹:SharpMap和SharpMap.UI,如图1所示。
图1 SharpMap源代码结构
其中SharpMap.UI是用户界面相关命名空间,如窗体Forms、Ajax等。SharpMap工程是主体,包括数据转换、坐标、数据、几何体、图层等命名空间,下面分别介绍:
SharpMap命名空间,包括Map类,通过创建Map对象的实例来生成地图。Map对象由包含Layer对象组成Layers集合,通过GetMap方法来Render地图。
Converts命名空间,提供数据转换服务。
CoordinateSystems命名空间,提供坐标系统及其投影和转换。
Data命名空间,提供对各种数据支持,现在包括MSSQL和ShapeFile支持。
Providers名称空间,包括了IProvider接口和Shape文件、PostGIS数据的读取实现。该名称空间为SharpMap提供数据读(写)支持,通过面向接口的设计,可以比较容易的增加各类数据格式。
Geometries命名空间,包括了SharpMap要使用到的各种几何类及其接口类,例如点、线、面等类。是SharpMap的基础之一,所有几何对象都继承自Geometry这个抽象类,其中定义了几何对象应该具备的公共操作,例如大小、ID、外接矩阵、几何运算等等。
Layers命名空间,提供各种图层支持,包括注记层、矢量层等。Layer是一个抽象类,实现了ILayer接口,Layer目前有3个子类,分别是VectorLayer、LabelLayer和WmsLayer,分别代3种不同数据类型的图层。
Rendering命名空间,目前包括矢量渲染器类和几个专题图渲染器类,该类可以将几何对象根据其Style设置渲染为一个System.Drawing.Graphics对象。
Styles命名空间,该命名空间主要提供了图层的样式设置类,例如线样式、点样式、填充样式等。
Utilities名称空间包括Algorithms类(目前仅实现了一个方法);Providers类,是Provider的一个Helper,应用了反射机制;Surrogates主要用于系统的Pen和Brush的序列化;Transform提供了从图片坐标到地理坐标的互相变换,也即桌面GIS的二次开发中经常使用的屏幕坐标和地理坐标的转换,主要用于地图的渲染、交互操作等。
Utilities.SpatialIndexing用于对象的空间索引, Web名称空间实现了HttpHandler和Caching类,用于网络环境。
Web命名空间,包括对网络支持如HTTP等,Web.Wms提供对WMS的支持。
SharpMap.UI工程包括:
Forms名称空间,包含MapImage控件,一个简单的User Control(用户控件),封装了Map类,用于Windows Form编程。
Web.UI.Ajax提供对Ajax支持。



<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
分享到:
评论

相关推荐

    基于.NET 2.0的GIS开源项目SharpMap分析手记

    基于.NET 2.0的GIS开源项目SharpMap分析手记---粟卫民(收集为doc文档)

    基于.NET2.0的GIS开源项目SharpMap分析手记.doc

    基于.NET2.0的GIS开源项目SharpMap分析手记.doc

    1 基于NET 20的GIS开源项目SharpMap分析手记.doc

    1 基于NET 20的GIS开源项目SharpMap分析手记.doc

    GIS项目SharpMap源代码

    是基于.NET 2.0的GIS开源项目SharpMap 支持sharp文件和mysql等作为数据源 用来做GIS地图显示和渲染很方便

    最新 SharpMap源码

    目前的很多的项目中都用到了GIS 软件,然而在开源的GIS软件中有SharpMap在工程应用中开始被人发觉。相比一些GIS软件它拥有的优势有: 1、占用资源较少,响应比较快。在对于项目中如果只需要简单的地图功能的话,是...

    C#开源GIS项目SharpMAP

    国外开源gis项目源代码及例子,可以做WEBGIS和窗体应用程序GIS

    开源GIS Sharpmap及其shp资源

    SharpMap是一个基于.net 2.0使用C#开发的Map渲染类库,可以渲染各类GIS数据,可应用于桌面和Web程序。 目前支持B/S及C/S两种方式的DLL调用,支持地图渲染效果。稳定版本为0.9,最新版本为2.0,代码行数近10000行。

    sharpmapmap渲染

    SharpMap是一个基于.net 2.0使用C#开发的Map渲染类库,可以渲染各类GIS数据(目前支持ESRI Shape和PostGIS格式),可应用于桌面和Web程序。 它的优点有:  1、占用资源较少,响应比较快。在对于项目中如果只需要...

    asp.net知识库

    asp.net2.0:扩展ImageButton控件定制自己需要的功能 ASP.NET 2.0 正式版中无刷新页面的开发(示例代码的补充) ASP.NET2.0中themes、Skins轻松实现网站换肤! ASP.NET 2.0 中的代码隐藏和编译 ASP.NET 2.0 Language ...

    GIS软件SharpMap源码详解及应用

    这本《GIS软件SharpMap源码详解及应用》由陈真、何津、余瑞编著,对目前基于C#语言开发的GIS开源项目——SharpMap进行详细剖析、解释,以便GIS专业学生及GIS的初学者能学习和掌握GIS底层开发技术。全书分为3部分共计...

    实现表格与地图的数据联动

    基于.net2.0和DevExpress、SharpMap的WinFormDemo,选中表格中的行,地图中会自动显示选中行在地图上的位置

    SharpMap开源代码和项目实例

    经典C# GIS,开源,SharpMap开源代码和项目实例

    sharpmap2.0 winformsample 可用

    sharpmap2.0 winformsample 可用,共同学习

    【吐血推荐】史上最全的GIS开源项目源码合集

    史上最全的GIS开源项目源码合集,因项目需要精心收集...共11个开源GIS项目:GDAL、NASA开源GIS软件、World Wind、CoordSystemTransform、sharpmap、sharpkml、shapelib、netDxf、ofoSpider、oxyplot、MatrixLibrary。

    sharpmap英文版说明文档

    SharpMap是一个基于.net 2.0使用C#开发的Map渲染类库,可以渲染各类GIS数据(目前支持ESRI Shape和PostGIS格式),可应用于桌面和Web程序。

Global site tag (gtag.js) - Google Analytics