DotSpatial开源GIS软件扩展探究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DotSpatial开源GIS软件扩展探究

DotSpatial开源GIS软件扩展探究   【摘要】DotSpatial是一套基于.Net Framework 4.0平台开发的开源GIS类库,整套类库用C#语言编写而成。本文介绍DotSpatial的架构及其扩展机制,最后根据其提供的模版扩展实现了DotSpatial对NetCDF数据的读取与渲染,这种扩展方法可以用来实现支持多种GIS数据。 【关键词】DotSpatial;开源软件;NetCDF 1.引言 近年来GIS开源软件发展很快,DotSp-atial是众多GIS开源软件中功能比较全面、扩展性比较好的一款,它提供空间数据的处理、分析、投影等功能。目前已有很多其他开源GIS软件使用DotSpatial提供的功能,但是DotSpatial存在着与其它开源软件相同的不足之处,比如官方开发文档及帮助资料少,对GIS数据格式的支持不够全面等。而传统的GIS商业软件虽然开发文档齐全,支持多种GIS数据格式,但是授权昂贵,并且安装占用大量的磁盘空间。由于商业因素,商业GIS软件源代码和关键算法受到严格保护,不利于学术研究。因此研究和完善开源GIS软件在学术和商业方面都有着重要意义,而DotSpatial是一个比较新的开源类库,目前对其研究的文章还很少。综合上述因素,本文介绍了DotSpatial的架构,深入研究了其提供的扩展机制,最后利用官方提供的模版扩展实现了DotSpatial对NetCDF数据的读取与渲染。这种扩展方法具有一定的通用性,可以用来实现让DotSpatial支持更多种类的GIS数据。 2.DotSpatial软件介绍 2.1 DotSpatial构成 DotSpatial是一套基于.Net Framework 4.0平台开发的开源GIS类库,整套类库是使用C#语言编写完成,以GNU LGPL授权(GNU Library General Public License)形式开放源代码,目前整个项目由几十个开发者共同维护,并且不断地有新的开发人员参其中。DotSpatial官方网址为http://,网站主要包括源代码、类库、说明文档、讨论区、主要开发者、授权文档等几个部分。 DotSpatial的类库可供其他程序直接调用,Mapwindow 6、Hydrodesktop、Mad、Area of Review、Marine Life等开源GIS软件使用了DotSpatial的类库提供的功能。为了让开发者迅速熟悉这套类库,官网提供了一个已经编译好的简易示例程序。该程序支持Shapefile文件,实现了缩放、平移等常见GIS操作,并且支持扩展。 2.2 DotSpatial整个类库实现的功能 目前DotSpatial整个类库实现的功能包括: ①显示地图;②支持Shapefile,Bgd,以及其它常用的栅格数据和遥感影像数据;③渲染符号和标签;④支持动态投影和投影变换,WGS84为默认投影方式;⑤支持属性数据的编辑和显示;⑥支持空间分析,包括叠加分析、缓冲区分析、差值分析、空间统计等。⑦支持GPS格式数据。 DotSpatial很好的实现了功能模块化设计思想,方便开发者灵活定制程序。Dot-Spatial架构在设计时主要考虑了两个要素。首先是将用户界面部分与业务逻辑部分分离,其次是将各个模块编译到不同的DLL中,提高代码的利用率,并且做到无需加载整个类库就可使用部分功能。 3.DotSpatial扩展机制 DotSpatial提供了完善的扩展机制,允许开发者对其功能进行扩展。DotSpatial启动时会对根目录下的Application Exte-nsions子目录进行扫描,该目录下任何实现IExtension接口的DLL都会被加载到主程序中,加载完成后就可以使用DLL中的扩展功能。IExtension主要包含Activate和Deac-tivate和方法。DotSpatial启动时调用Act-ivate方法,完成模版的初始化任务。方法Decative在卸载模版时被调用,实现卸载模版及资源清理功能。 为了方便开发人员进行扩展,DotSpa-tial提供了一个可以安装的插件模版(tem-plate),下载地址为:http:///92919cee -a2b0-43c6-8993-aeac965bc4b5,安装模版后,用Visual Studio新建项目时可以选择该模版,并在此基础上进行扩展开发。 模版提供了实现IExtension所需的基础代码,其中包含一个Extension基类和一个MyPlugin子类。Extension类实现了IExtension接口中的Activate和Deactivate方法,Plugin子类继承Exten

文档评论(0)

docman126 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7042123103000003

1亿VIP精品文档

相关文档