1 / 23

基于 AO 的二次开发 主讲:秦昆 博士 Email:qqqkkk@263 武汉大学遥感信息工程学院 二零零四年十二月

基于 AO 的二次开发 主讲:秦昆 博士 Email:qqqkkk@263.net 武汉大学遥感信息工程学院 二零零四年十二月. 第一章 组件式 GIS 开发. 1.1 组件式 GIS 简介 1.1.1 简介 在 GIS 软件产品中 , 有两类产品尤其引人注目 : ( 1 )一种是基于 ActiveX(OLE) 的组件式 GIS 技术; ( 2 )另一种是基于 Internet/Intranet 网络的 GIS 技术。 其中基于 ActiveX(OLE) 的组件式 GIS 开发工具软件将成为开发人员的首选平台。.

karsen
Télécharger la présentation

基于 AO 的二次开发 主讲:秦昆 博士 Email:qqqkkk@263 武汉大学遥感信息工程学院 二零零四年十二月

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 基于AO的二次开发 • 主讲:秦昆 博士 • Email:qqqkkk@263.net • 武汉大学遥感信息工程学院 • 二零零四年十二月

  2. 第一章组件式GIS开发 1.1 组件式GIS简介 1.1.1 简介 在GIS软件产品中,有两类产品尤其引人注目: (1)一种是基于ActiveX(OLE)的组件式GIS技术; (2)另一种是基于Internet/Intranet网络的GIS技术。 其中基于ActiveX(OLE)的组件式GIS开发工具软件将成为开发人员的首选平台。

  3. 第一章组件式GIS开发 什么是组件式GIS? 组件式GIS,又称ComGIS(COM是Component Object Model的简写),是未来GIS系统发展的重要趋势。组件式GIS是面向对象技术和组件技术相结合的应用型GIS,其基础是组件对象模型。 利用组件技术开发应用GIS的基本思想是: 把GIS的各大功能模块划分为若干个控件,每个控件完成不同的功能,控件之间、控件与非控件之间可以方便地通过可视化软件工具集成起来,将这些控件集成在一起, 就像搭积木一样构造软件系统,形成最终的GIS应用软件。

  4. 第一章组件式GIS开发 1.1.2、ActiveX(OLE)技术简介 传统软件开发模式开发出的应用系统,往往缺乏结构性,其资源使用的效率低下,并且难以与其它的应用程序实现真正的互用,系统的可维护性在很大程度上取决于开发人员的经验和能力。 将若干部件集成在一起,像搭积木一样构造软件系统,是计算机软件行业长期以来一直希望的事情。这种方法不仅节约时间和资金,提高工作效率,更重要的是可以生产更统一、可靠的应用程序。 基于组件式的新型软件开发技术,为应用系统的开发提供了新的思路,开发人员首先实现可靠的、小的对象模块(部件),或是直接从其它软件开发商获得需要的功能部件,然后利用这些功能部件装配成更复杂的系统,通过控制各个小部件的可靠性和可维护性,实现对整个应用系统的可靠性及维护性的控制。

  5. 第一章组件式GIS开发 目前,被计算机行业广泛接受的Microsoft的构件软件技术几乎已成为一种工业标准。 从它的OLE1.0(对象的链接与嵌入),再发展到今天的ActiveX(OCX)控件技术,已相当成熟。目前包括微软在内的各软件厂商提供的ActiveX(OCX)控件已达数万个。 各大GIS厂商顺应技术新潮流,相继推出了基于ActiveX(OLE)技术的组件式GIS软件,组件式GIS软件为开发人员提供了一个快速、易用、功能强大的地图化组件。用户可以在工业标准的可视化开发环境(如VB、VC、Delphi、Power Builder,Visual FoxPro等)中,只需在设计阶段将GIS组件嵌入到用户的应用程序中,就可以实现地图制图和GIS功能,而且用户的应用程序可以独立编译为*.exe文件。

  6. 第一章组件式GIS开发 组件式GIS的解决方案如图2所示。

  7. 第一章组件式GIS开发 1.2 组件式GIS的特点 1、高效无缝的系统集成 ComGIS与专业应用组件和商业组件的无缝集成

  8. 第一章组件式GIS开发 2、无须专门的GIS开发语言 只要符合组件模型开发标准的语言均可使用。如VC(Visual C++),VB(Visual Basic),Visual FoxPro,Borland C++,Delphi,Power Builder等。 3、大众化GIS 因GIS组件与其它商业化组件一样,遵循同样的组件对象模型标准,非GIS专业人员同样可以方便使用。 4、成本低。 组件的重用率极高。同一个组件可以在不同的软件中重复使用。

  9. 第一章组件式GIS开发 1.3 常用组件式GIS软件简介 组件式GIS的代表作首推MapObjects及MapX等,尤其是现在的ArcObjects(AO)。其中Map Objects和ArcObjects(AO)由全球最大的GIS厂商ESRI(美国环境研究所)推出;MapX由著名的桌面GIS厂商美国MapInfo公司推出。另外还有加拿大阿波罗科技集团的TITAN,武汉测绘科技大学研制的GeoStar部件开发平台GeoMap等。 这些组件均能提供如下功能: (1)调入和显示矢量地图数据; (2)地图窗口的管理,如图形的放大、缩小和漫游等; (3)显示不同的专题地图; (3)图层控制; (4)属性数据绑定; (待续)

  10. 第一章组件式GIS开发 (5)图素和属性数据库记录的相互查询; (6)地图要素的编辑和管理; (7)地图数据的屏幕测量。 等等。

  11. 第一章组件式GIS开发 1.3.1 MapObjects 1、简介 MapObjects (简称MO)是一组专供应用开发人员使用的制图与GIS应用组件。它由一个称为Map的ActiveX控件(OCX)和近50个可编程OLE对象组成。开发人员可在喜欢的开发环境中利用MapObjects开发出资源开销小且GIS功能强大的应用系统。 MapObjects还允许开发人员在现有的应用系统中添加GIS功能,并且能与其他图形、多媒体、数据库开发技术无缝集成,很好地解决了GIS和MIS综合应用的问题。

  12. 第一章组件式GIS开发 2、MapObjects的体系结构 MapObjects的可编程对象可以划分为六类: (1)地理匹配对象; (2)数据访问对象; (3)地图显示对象; (4)几何图形对象; (5)投影对象; (6)实用对象。

  13. 第一章组件式GIS开发 3、MapObjects的基本功能 (1)显示、浏览(放大、缩小、漫游)具有多个图层的地图; (2)显示、生成、选择、识别图形要素(如点、线、圆、多边形等); (3)显示、编辑地图要素的属性数据、标注、说明、字符; (4)按照范围、SQL描述、要素属性值查询要素; (5)绘制专题图、点密度图和饼状柱状图表; (6)显示多种格式的空间数据(矢量、栅格等); (7)动态地图数据的显示、查询和分析; (8)转换地图数据的坐标系统; (9)输出地理匹配的地理位置; (10)基本统计、空间分析算子(Buffer、Union、Intersect);

  14. 第一章组件式GIS开发 (11)支持动态投影。 总之,MapObjects在投影转换、地址匹配、数据访问、地图查询、显示以及制图输出等方面都有比较强大的GIS功能,实践证明它能从不同的层次、全方位地满足数据出版、应用开发、商业咨询等用户的需求。

  15. 第一章组件式GIS开发 1.3.2 GeoMedia GeoMedia是美国InterGraph公司倾力推出的代表GIS发展方向的新—代地理信息系统软件。 特点: 全新的多源数据无缝集成设计思想和先进的数据库管理方式,使得GeoMedia在发展OPENGIS方向上,走在了全球GIS软件产品的前沿。 另外,GeoMedia是采用组件式开发的GIS,是成熟的组件式GIS平台,同时也是可在浏览器端作专业分析的真正WEBGIS。

  16. 第一章组件式GIS开发 1.3.3 GeoMap GeoMap的设计利用了OLE/ActiveX技术的自动化技术及空间技术,它提供了一个可视化的控件和一组自动化对象。作为自动化服务器(Automation Servers),开发者利用自动化控制器(Automation Controller),如Visual Basic,Visual C++,Power Builder和Visual FoxPro等,编写代码操纵自动化服务器上提供的属性、方法,为自动化服务器的事件添加事件处理例程,完成部件到应用软件的装配过程,生成适应用户要求的系统。

  17. 第一章组件式GIS开发 1.3.4 TITAN(泰坦) TITAN提供一组TITAN ActiveX控件,它使应用程序员可以在标准的程序设计环境下,如Visual Basic,Visual C++,Power Builder、Visual FoxPro和Delphi等,将TITAN GIS的强大功能嵌入到应用程序中,开发嵌入式GIS应用系统。

  18. 第一章组件式GIS开发 1.3.5 MapX 美国MapInfo公司是世界著名的GIS软件供应商之一。其代表产品MapInfo Professional, MapInfo MapX, MapInfo ProServer, MapInfo SpatialWare等。 MapX是MapInfo公司1996年10月开始推出的基于ActiveX技术可编程的控件MapInfo MapX,现在最新版为MapX4.5。 MapX是一个基于ActiveX(OCX)技术的可编程控件。它使用与MapInfo Professional一致的地图数据格式,并实现了大多数的MapInfo Professional的功能。它提供了四十多个父类为Microsoft基础类(MFC)的OLE对象,应用程序员可以使用任何支持ActiveX的程序开发环境,如VisualC++、VisualBasic、Delphi、Power-Builder等嵌入MapX控件开发GIS应用程序。

  19. 第一章组件式GIS开发 1.3.6 ArcObjects ArcInfo8.3是ESRI推出的组件式GIS软件,对OpenGIS提供了广泛的支持。ArcInfo把GIS的基本功能都封装在ArcObject的组件对象库中,这些库文件定义了一些接口,包括组件对象、方法、事件、枚举,开发者可以通过接口来实现对对象的操作机制。 例如ArcMap和ArcCatalog是ArcInfo开发者利用高级语言调用ArcObject的接口来实现ArcObject基本功能的应用程序。开发人员无论应用何种开发环境,只要在设计时把引入的对象类声明为对象变量即可达到这一目的。

  20. 第一章组件式GIS开发 ODE (Open Development Environment)是在ArcInfo组件技术的基础上提供给用户的一种新的开发方式。开发人员可在VB,VC,Delphi等开发环境中,通过ActiveX控制与ArcInfo打交道。它为开发者提供的是一组可编程的对象,包括可视的用户化控件。开发人员在开发时采用VB,C+,VC,Delphi或类似的高级开发语言,引用组件对象进行编程,创建动态连接库、ActiveX控件(OCX)或可执行文件(EXE),从而开发出符合用户要求的界面及相关功能的软件系统。

  21. 第一章组件式GIS开发 1.4 组件式GIS的设计与开发方法 组件(控件)是更高级的软件模块,又具有对象的性质。其开发设计方法需利用OOA-OOD-OOP的方法(OOA: Object Oriented Analysis,面向对象的分析;OOD:Object Oriented Design,面向对象的设计;OOP:Object Oriented Programming,面向对象的程序设计)。 高级表现在组件是进行了封装的软件功能模块,完全面向对象。因此还需考虑以下问题: (1)强调独立性。尽量做到强内聚,弱耦合。 (2)纯设计用的模块与将要随系统发布的功能模块分开,如符号编辑器与空间分析模块分开。 (3)相同显示窗口的模块尽可能设计在一个控件里。 (4)处理相同数据文件的模块尽可能设计在一个控件里。 (待续)

  22. 第一章组件式GIS开发 (5)剔除空间分析模块中不必要的内容。 (6)应区分GIS应用中适合组件开发的内容和无须使用组件开发的内容。如数据采集、数据转换、符号编辑可用独立运行程序方式或DDL方式提供,不必用组件设计。

  23. End! Thanks!

More Related