欢迎来到天天文库
浏览记录
ID:32697288
大小:199.85 KB
页数:6页
时间:2019-02-14
《基于net平台的插件式gis研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于.NET平台的插件式GIS研究李云锦1,2,3,周芹1,2,3,黄跃峰1,2,3,何亚鑫1,2,3(1中国科学院地理科学与资源研究所,北京100101;2中国科学院研究生院,北京100039;3北京超图地理信息技术公司,北京100101)摘要:插件模式的应用可以提高软件的扩展性、复用性与可裁剪性。现今许多GIS软件都应用了插件模式,但插件实现大多是基于DLL技术的,其扩展性与易用性都不如基于.NET或Java平台的实现。本文将对插件模式及其相关技术进行探讨并提出基于.NET平台的插件实现的解决方案。与传统GIS相比,采用
2、该解决方案开发的GIS系统支持用户的二次扩展,而且在易用性、启动效率等方面也优于前者。此外,该解决方案利用.NET平台特性解决了接口继承的所带来的问题,简化了用户的编程模型。最后,本文结合GIS的发展趋势提出基于.NET平台的插件式GIS架构,依据此架构实现了SuperMap6.0桌面原型系统。关键词:地理信息系统;插件;架构1引言随着GIS的不断发展,其应用领域已逐渐从传统的电子政务过渡到企业应用以及大众化地理信息服务,GIS的应用需求呈现出多样性与不确定性。与日俱增的GIS应用需求对GIS软件的扩展性、复用性及可裁剪性提
3、出了更高的要求。扩展即增加新的功能而不修改已有产品。传统的GIS软件一经发布,如需添加新的功能即必须修改源代码并重新发布产品,成本高、效率低。而今许多应用需求在GIS软件开发时是未知的,有些需求虽然已经明确,但GIS软件厂商只能有选择地满足部分需求。因此,为了满足更多的应用需求,GIS软件迫切需要提供一种便捷的开发方式,即在产品发布之后用户能根据自己的需求开发相应的功能模块,并能集成至已有的产品中。复用通常指代码的重用。面向对象、组件与WebService等技术的应用都是提高软件复用性的方式。组件式GIS在很大程度上提高了G
4、IS软件的复用率,但基于组件的GIS开发,用户仍需要编写大量重复代码,例如每个用户都必须编写地图的显示、编辑功能,而这些功能的实现都已经包括在GIS桌面产品中。此外,复用也可指软件开发相关资源的重用,例如符号库、风格库、界面库、图标等资源。界面的开发在实际的项目开发中占较大的比重,简洁易用的界面会带来更好的客户满意度,GIS开发人员因此需要花费大量时间在界面的设计上,而GIS桌面产品稳定而大众化的界面没有得到重用。裁剪即根据用户需要保留软件中感兴趣的功能。对GIS用户而言,用户常用的功能只是产品功能的一个子集,有些基本不使用
5、的功能对系统资源的占用无疑是种浪费。如果用户能通过简单的配置禁用某些不常使用的功能,不仅能节约系统资源,还能提高程序的启动速度;对GIS软件厂商而言,他们需要根据不同的用户提供不同的版本,这有利于产品的市场推广与销售。在传统GIS开发模式中,软件裁剪需要开发人员修改源代码,并对各个版本实施不同的版本策略,很难做到软件的定制。插件模式提供了一种开放的开发方式,能较好地解决上述问题。目前一些GIS软件也应用了插件模式,如SuperMapDeskpro5.2、ArcMap9.2、MapGIS7.0等,但插件实现都是基于DLL技术或
6、COM技术的,而DLL技术与COM技术自身存在较多问题,例如“DLLHell”问题、平台依赖性以及模块中所定义的类无法被继承等。再者,目前的扩展也仅限于对菜单、工具栏的扩展,并不支持用户的二次扩展。比较而言,基于.NET与Java平台的插件实现在易用性、安全性、二次扩展能力方面都优于基于DLL或COM的实现方式。本文将首先介绍插件的基本概念及应用现状,并对常用的插件的解决方案进行比较分析,然后详细介绍基于.NET平台的插件实现,在此基础上提出插件式GIS架构,并依据此架构实现SuperMap6.0桌面原型。2插件模式GIS桌
7、面软件通常需要支持不同格式的数据,然而它无法支持所有格式的数据,有些用户特有的数据格式无法用现有的GIS软件读取与显示。那么如何在GIS桌面软件中使用该类数据呢?应用插件模式是解决此类问题的有效途径之一。插件模式通过在运行时动态加载编译时未知的程序模块以扩展现有程序,它常被用于满足以下需求:(1)支持对功能的扩展;(2)将系统模块化以降低系统的复杂度;(3)简化软件部署与更新;(4)获得高的启动速率;(5)减少系统资源的占用。现今许多软件都应用了插件模式。例如InternetExplore、Netscape、Fireforx
8、、Mozilla等浏览器都应用了插件模式,以支持不同格式的数据的显示;绝大多数集成开发环境也应用了插件模式,例如Eclipse、NetBeans、VisualStudio2005等;许多应用软件也应用了插件模式,例如MicrosoftOffice、AdobePhotoshop等。虽然这些软
此文档下载收益归作者所有