gis二次开发概述

gis二次开发概述

ID:39576599

大小:97.03 KB

页数:15页

时间:2019-07-06

gis二次开发概述_第1页
gis二次开发概述_第2页
gis二次开发概述_第3页
gis二次开发概述_第4页
gis二次开发概述_第5页
资源描述:

《gis二次开发概述》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第1章GIS二次开发Chapter1.GIS二次开发概述地理信息系统根据其内容可分为两大基本类型:一是应用型地理信息系统,以某一专业、领域或工作为主要内容,包括专题地理信息系统和区域综合地理信息系统;二是工具型地理信息系统,也就是GIS工具软件包,如ARC/INFO等,具有空间数据输入、存储、处理、分析和输出等GIS基本功能。随着地理信息系统应用领域的扩展,应用型GIS的开发工作日显重要。如何针对不同的应用目标,高效地开发出既合乎需要又具有方便美观丰富的界面形式的地理信息系统,是GIS开发者非常关心的问题。1.1GIS开发模式ò独立开发指不依赖于任何GIS工具软件,从空间

2、数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如VisualC++、Delphi等,在一定的操作系统平台上编程实现。这种方式的好处在于无须依赖任何商业GIS工具软件,减少了开发成本,但一方面对于大多数开发者来说,能力、时间、财力方面的限制使其开发出来的产品很难在功能上与商业化GIS工具软件相比,而且在购买GIS工具软件上省下的钱可能还抵不上开发者在开发过程中绞尽脑汁所花的代价。ò宿主型二次开发指基于GIS平台软件上进行应用系统开发。大多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,如ESRI的ArcView提

3、供了Avenue语言,MapInfo公司的MapInfoProfessional提供了MapBasic语言等等。用户可以利用这些脚本语言,以原GIS软件为开发平台,开发出自己的针对不同应用对象的应用程序。这种方式省时省心,但进行二次开发的脚本语言,作为编程语言,功能极弱,用它们来开发应用程序仍然不尽如人意,并且所开发的系统不能脱离GIS平台软件,是解释执行的,效率不高。ò基于GIS组件的二次开发大多数GIS软件产商都提供商业化的GIS组件,如ESRI公司的MapObjects、MapInfo公司的MapX等,这些组件都具备GIS的基本功能,开发人员可以基于通用软件开发工具

4、尤其是可视化开发工具,如Delphi、VisualC++、VisualBasic、PowerBuilder等为开发平台,进行二次开发。利用GIS工具软件生产厂家提供的建立在OCX技术基础上的GIS功能控件,如ESRI的MapObjects、MapInfo公司的MapX等,在Delphi等编程工具编制的应用程序中,直接将GIS功能嵌入其中,实现地理信息系统的各种功能ò三种实现方式的分析与比较由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的限制差强人意,因此结合GIS工具软件与当今可视化开发语言的集成二次开发方式就成为GIS应用开发的主流。它的优点是既可以充分利

5、用GIS工具软件对空间数据库的管理、分析功能,又可以利用其它可视化开发语言具有的高效、方便等编程优点,集二者之所长,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果,更强大的数据库功能,而且云南大学杨克诚kecheng@yang.com.cn1第1章GIS二次开发可靠性好、易于移植、便于维护。尤其是使用OCX技术利用GIS功能组件进行集成开发,更能表现出这些优势。由于上述优点,集成二次开发正成为应用GIS开发的主流方向。这种方法唯一的缺点是前期投入比较大,需要同时购买GIS工具软件和可视化编程软件,但“工欲善其事,必先利其器

6、”,这种投资值得。目前许多软件公司都开发了很多ActiveX控件,合理选择和运用现成的控件,减少了开发者的编程工作量,使开发者避开某些应用的具体编程,直接调用控件,实现这些具体应用,不仅可以缩短程序开发周期,使编程过程更简洁,用户界面更友好,可以使程序更加灵活、简便。1.2面向对象的开发(OOP:ObjectOrientedProgrammin-g)1.2.1面向对象程序设计模式发明面向对象程序设计方法的主要出发点是弥补面向过程程序设计方法中的一些缺点。OOP把数据看作程序开发中的基本元素,并且不允许它们在系统中自由流动。它将数据和操作这些数据的函数紧密的连结在一起,并保

7、护数据不会被外界的函数意外的改变。OOP允许我们将问题分解为一系列实体——这些实体被称为对象(object),然后围绕这些实体建立数据和函数。面向对象程序设计中的数据和函数的组织结构如图4所示。云南大学杨克诚kecheng@yang.com.cn2第1章GIS二次开发1.2.2什么是面向对象程序设计?面向对象程序设计(OOP)技术汲取了结构化程序设计中好的思想,并将这些思想与一些新的、强大的理念相结合,从而给你的程序设计工作提供了一种全新的方法。通常,在面向对象的程序设计风格中,你会将一个问题分解为一些相互关联的子集,每个子集

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。