地理信息系统设计与开发mo教程.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
地理信息系统设计与开发mo教程

地理信息系统设计与开发(1) 地理信息系统分类 根据GIS的应用特点可以将GIS分为两类: 1.应用型GIS: 应用GIS是与特定的地理区域相联系的、具有明确应用目的的GIS。具有区域性、应用目的性、核心应用模型(缓冲区分析、最短路径分析等)和专业的用户界面的特点。包括专题GIS(具有有限目标和专业特点的GIS)和区域GIS(以区域的自然、社会经济综合研究和全面信息服务为目标而建立的GIS)。 2.工具型GIS: 工具GIS是可以对各种地理空间数据进行输入、编辑、显示、管理、查询和处理分析,并能用以建立应用GIS的软件包。 第1章GIS 二次开发概述 1.1 GIS 开发模式 1.2 面向对象程序设计(OOP) 1.3 组件GIS技术 1.1 GIS开发模式 独立开发模式 宿主型开发模式 GIS组件开发模式 独立开发模式 不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C++、Delphi等,在一定的操作系统平台上编程实现。(孙易义《计算机地图制图》利用Delphi程序设计语言开发) 开发周期长,软件功能相对简单,对开发者要求高;用于购买软件的费用相对节省。 宿主型开发模式 是指基于GIS平台软件进行应用系统开发。 ?大多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,如ArcView中的Avenue语言,MapInfo Professional的MapBasic语言。用户可以利用这些脚本语言,以原GIS软件为开发平台,开发出自己的针对不同应用领域的应用程序。开发较为容易;二次开发的脚本语言,功能较弱,所开发的系统不能脱离GIS平台,是解释执行的,运行效率低,用户界面受平台软件的限制。 GIS组件开发模式 建立在组件技术基础上的GIS功能组件,实现了地理信息系统的各种功能,这些组件都具备GIS的基本功能。开发人员可以基于通用软件开发工具,尤其是可视化开发工具,如:Delphi、Visual C++、Visual Basic、Power Builder等为开发平台,进行二次开发,实现GIS功能。 大多数GIS软件产商都提供商业化的GIS组件。如ESRI 公司的MapObjects、MapInfo公司的MapX等。 GIS开发模式的选择 独立开发难度太大; 宿主型二次开发受GIS平台所提供???脚本语言的限制; GIS组件开发模式结合了GIS平台软件与可视化开发平台的组件开发模式的优点。利用GIS组件实现对空间数据库的管理、分析功能,又可以利用其它可视化开发平台具有的高效、方便的编程优点,集两者之所长,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的用户界面,更强大的数据库功能。可靠性好、易于移植、便于维护,学习周期较短,容易上手。集成二次开发成为GIS应用开发的主要方向。 1.2.2什么是面向对象程序设计? 面向对象程序设计(OOP)技术汲取了结构化程序设计中好的思想,并将这些思想与一些新的、强大的理念相结合,从而给程序设计工作提供了一种全新的方法。 在面向对象的程序设思想中,将一个问题分解为一些相互关联的子集,每个子集内部都包含了相关的数据和函数。 一个对象就是已定义的某个类型的变量。当你定义了一个对象,你就隐含的创建了一个新的数据类型。 1.2.3 OOP中的基本概念 对象(Object) 类(Class) 数据抽象(Data abstraction) 继承(Inheritance) 动态绑定(Dynamic binding) 数据封装(Data encapsulation) 多态性(Polymorphism) 消息传递(Message passing) 对象 在一个面向对象的系统中:对象是运行期的基本实体。它可以用来表示一个人或者说一个银行帐户,一张数据表格,或者其它什么需要被程序处理的东西。在面向对象程序设计中,问题的分析一般以对象及对象间的自然联系为依据。对象在内存中占有一定空间,并且具有一个与之关联的地址。 当一个程序运行时,对象之间通过互发消息来相互作用。例如,程序中包含一个“customer”对象和一个“account”对象,而customer对象可能会向account对象发送一个消息,查询其银行帐目。每个对象都包含数据以及操作这些数据的代码——函数或方法。即使不了解彼此的数据和代码的细节,对象之间依然可以相互作用,所要了解的只是对象能够接受的消息的类型,以及对象返回的响应的类型。 类 对象包含数据以及操作这些数据的代码。一个对象所包含的所有数据和代码可以通过类来构成一个用户定义的数据类型。事实上,对象就是类类型(Class Type)的变量。一旦定义了一

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档