第一讲 GIS开发概述_第1页
第一讲 GIS开发概述_第2页
第一讲 GIS开发概述_第3页
第一讲 GIS开发概述_第4页
第一讲 GIS开发概述_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一讲GIS开发概述,GIS开发模式面向对象程序设计(OOP)组件GIS技术AO简介,一、GIS开发模式,GIS平台软件提供全部的地理信息系统处理功能,完成数据处理、空间分析、信息查询、专题地图等功能如:ArcGIS,MapInfoProfessional,MAPGISGIS应用软件针对不同的应用领域和行业,综合电子地图和信息管理系统的特点如:XX110警务处理系统,XX市综合管线地理信息系统,XX公司物流配送系统,GIS开发模式,独立开发模式宿主型开发模式GIS组件开发模式(桌面、Web、移动端),独立开发模式,不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如VisualC+、Delphi、等,在一定的操作系统平台上编程实现。开发周期长,软件功能相对简单,对开发者要求高,用于购买软件的费用相对节省,宿主开发模式,基于GIS平台软件,进行应用系统开发多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,用户以原GIS软件为开发平台,利用这些脚本语言,开发出自己的针对不同应用领域的应用程序。如ArcView中的Avenue语言,MapInfoProfessional的MapBasic语言,Python语言或则插件方式开发较为容易;二次开发的脚本语言,功能较弱;所开发的系统不能脱离GIS平台;是解释执行的,运行效率低;用户界面受平台软件的限制,宿主开发模式,组件开发模式,建立在组件技术基础上的GIS功能组件,这些组件都具备GIS的基本功能。开发人员可以基于通用软件开发工具,尤其是可视化开发工具,如:Delphi、VisualC+、VisualBasic、PowerBuilder等为开发平台,进行二次开发,实现GIS功能。大多数GIS软件产商都提供商业化的GIS组件。如ESRI公司的MapObjects、MapInfo公司的MapX等,二.面向对象程序设计,面向对象程序设计,OOP将问题分解为一系列实体这些实体被称为对象(object),然后围绕这些实体建立属性和方法。,面向对象程序设计,对象:是人们要进行研究的任何事物,从简单的整数到复杂的飞机均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事物。例如:有形实体:如计算机、教室等;作用:如医生、工人、公司、部门;事件:如飞行、演出等;性能说明:如各种性能指标。,面向对象程序设计,类的关系-继承:类的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类的某些特征。多重继承:子类可以从多个父类继承。,面向对象程序设计,多态性:多态性是指相同的操作或函数、过程作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息产生不同的结果,称为对象的多态性。重载、抽象、泛型、反射、注入,面向对象程序设计,通过继承,我们可以大幅减少多余的代码,并扩展现有代码的用途;我们可以在标准的模块上(这里所谓的“标准”指程序员之间彼此达成的协议)构建我们的程序,而不必一切从头开始。这可以减少软件开发时间并提高生产效率;数据隐藏的概念帮助程序员保护程序免受外部代码的侵袭;允许一个对象的多个实例同时存在,而且彼此之间不会相互干扰;,面向对象程序设计,允许将问题空间中的对象直接映射到程序中;基于对象的工程可以很容易的分割为独立的部分;以数据为中心的设计方法允许我们抓住可实现模型的更多细节;面向对象的系统很容易从小到大逐步升级;对象间通讯所使用的消息传递技术与外部系统接口部分的描述更简单;更便于控制软件复杂度。,3.组件技术,在组件技术的概念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。组件间的接口通过一种与平台无关的语言IDL(InterfaceDefineLanguage)来定义,而且是二进制兼容的,使用者可以直接调用执行模块来获得对象提供的服务。早期的类库,提供的是原代码级的重用,只适用于比较小规模的开发形式;而组件则封装得更加彻底,更易于使用,并且不限于C之类的语言,可以在各种开发语言和开发环境中使用。,COM组件技术,COM是组件式对象模型(ComponentObjectModel)的英文缩写,是组件之间相互接口的规范,是OLE(ObjectLinking&Embedding)和ActiveX共同的基础,其作用是使各种软件构件和应用软件能够用一种统一的标准方式进行交互。COM不是一种面向对象的语言,而是一种与源代码无关的二进制标准。COM所建立的是一个软件模块与另一个软件模块之间的链接,当这种链接建立之后,模块之间就可以通过称之为“接口”的机制来进行通信。COM本质上是客户/服务器模式。客户(通常是应用程序)请求创建COM对象并通过COM对象的接口操纵COM对象。服务器根据客户的请求创建并管理COM对象。客户和服务器这两种角色是相对的,COM组件技术,ActiveX与ActiveX控件,ActiveX是Microsoft提出的一组基于COM(ComponentObjectModel,组件对象模型)规范使得软件组件在网络环境中进行交互的技术集。它与具体的编程语言无关。ActiveX被广泛应用于WEB服务器以及客户端的各个方面。同时,ActiveX技术也被用于方便地创建普通的桌面应用程序,ActiveX与ActiveX控件,ActiveX控件开发端和使用端是完全独立的,可以用Delphi、VB等各种语言来开发,又可以用于不同语言、不同开发平台、不同的系统环境中。一个或多个ActiveX控件会保存在一个动态链接库中,但它是一种特殊的动态链接库,其扩展名是OCX。,ActiveX控件的组成PME模型,一个ActiveX控件由它的一些成员组成:属性,方法以及事件,PME模型Property属性Method方法Event事件,P:属性是用来描述和反映对象特征的参数,用来保存对象的数据M:方法是控件内部可调用的用以完成特定操作的过程或函数E:事件是预先定义的对象能识别的动作。,组件式GIS,组件式软件技术已经成为当今软件技术的潮流之一,为了适应这种技术潮流,GIS软件象其他软件一样,已经或正在发生着革命性的变化,即由过去厂家提供了全部系统或者具有二次开发功能的软件,过渡到提供组件由用户自己再开发的方向上来。无疑,组件式GIS技术将给整个GIS技术体系和应用模式带来巨大影响,组件式GIS,小巧灵活、价格便宜开发简捷大众化,组件式GIS,GIS组件的代表作应首推ArcObject,ArcObjects由全球最大的GIS厂商ESRI(美国环境系统研究所)推出.国内的有超图组件GIS,SuperMapObject,ArcObject简介,了解ArcObjects相关的技术基础使用对象模型图(OMD)ArcObjects开发,ArcGIS的体系结构,ArcGISDesktopArcGISEngineMobileGISApplicationApplicationservers,ArcObject?,ArcObject是什么:是ESRI公司ArcGIS家族中桌面产品Desktop,开发产品Engine和服务器产品Server的开发平台是基于MicrosoftCOM技术所构建的一系列COM组件集,ArcObject的功能,通过ArcObjects你可完成以下甚至更多的GIS功能空间数据的显示、查询检索、编辑和分析创建各种专题图和统计报表高级的制图和输出功能空间数据管理和维护可以创建独立的应用程序或者集成到第三方的软件系统中,ArcObject的应用,ArcObjects的基础-COM,面向对象技术思想COM是什么?具有一定结构和功能遵循一定的接口标准单独或与其他组件一起共同完成特定功能内部实现完全封装COM的目标和特性建立在二进制代码级上的可重用性(通过包容和聚合)语言无关性,只要其能生成符合COM规范即可对象、类和接口,ArcObjects开发资源,ArcobjectsDeveloperKitHelp-包含开发帮助文件ObjectModelDiagrams-包括所有的PDF格式对象模型图Samples-包含所有示例工程文件的源代码ArcObjectsOnlineExploringArcObjectsBuildingaGeodatabaseMicrosoftMSDN,ArcObjects的构成,ArcGISEngine的类库ArcGISEngine控件ArcGISDesktop应用的类库ArcObjects的对象模型图ArcGIS应用程序扩展,ArcEngine的类库,SystemSystemUIGeoAnalystGeometry3DAnalystDisplayGlobeCoreServerSpatialAnalystOutputGeoStatisticalAnalystGeodatabasePublisherGISClientArcReaderControlGeoDatabaseDistributedDataSourcesFileDataSourcesOleDBDataSourcesRasterCatoLocationNetWorkAnalysisControls,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcEngine的类库,ArcDesktop应用类库,ArcDesktop应用类库,ArcObjec的主要类库,ArcObjec的主要类库,ArcObjec的主要类库,ArcObjec的主要类库,ArcObjec的主要类库,ArcObjec的主要类库,开发

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论