论文部分内容阅读
在软件产业中,基于构件的技术是当前的热点,在面向对象的技术发展的今天,构件作为可重用的软件组件,在软件系统的开发上解决了重复开发的问题,提高了软件开发的效率。同样,GIS系统作为一种领域软件,开发模式也逐渐发展为comGIS和webGIS,因此将构件技术应用于GIS系统具有重大的意义。 国内外成型的商用地理信息系统软件价格昂贵且只能提供专有的功能,开发人员需掌握厂商提供的二次开发语言才能进行GIS系统的二次开发,另外系统规模较大且对软硬件要求高、不利于扩展、没有系统自主版权,而组件式GIS系统可较好的解决以上问题,它把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能,各个GIS控件之间,以及GIS控件与非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,最终形成GIS应用。开发者不需熟悉专有的二次开发语言,只需要掌握GIS的具体功能和通用开发语言就可以实现该系统,因此探索组件式GIS系统开发具有重大意义。 本文以软构件技术和COM模型为基础,设计和实现GIS构件,其中包含实现GIS系统的部分功能,如地图的输入输出、地图的编辑、双向查询、空间分析等,在自主研发的过程中,不断地探索和完善开发技术,开发出具有独立自主版权的软件产品。本文是直接基于COM级的GIS构件技术,这样减少了对专用构件的依耐性,可以根据用户的具体需求来实现GIS构件,提高系统的灵活性。 在研究GIS系统的过程中,为了最大限度的减少重复劳动,探讨了设计模式在GIS系统中的应用,并成功的将它们应用于系统中。在确定了组件系统整体架构和功能模块的基础上,本文利用Microsoft的Visual C++开发环境,通过其提供的ATL库,编程实现了ActiveX控件。通过控件提供的方法、属性和事件很好的和客户应用程序进行交互,使客户应用程序与GIS系统实现了无缝的集成。 本文将GIS组件原型系统应用在实际的GIS系统中,根据GIS的特点将地图显示输出组件和地图编辑组件集成于小型GIS系统中,使系统具备最基本的GIS功能,为后续的扩展和升级作好铺垫。