基于
This presentation is the property of its rightful owner.
Sponsored Links
1 / 23

基于 AO 的二次开发 主讲:秦昆 博士 Email:[email protected] 武汉大学遥感信息工程学院 二零零四年十二月 PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ao email qqqkkk 263

基于AO的二次开发

  • 主讲:秦昆 博士

  • Email:[email protected]

  • 武汉大学遥感信息工程学院

  • 二零零四年十二月


Ao email qqqkkk 263

第一章组件式GIS开发

1.1 组件式GIS简介

1.1.1 简介

在GIS软件产品中,有两类产品尤其引人注目:

(1)一种是基于ActiveX(OLE)的组件式GIS技术;

(2)另一种是基于Internet/Intranet网络的GIS技术。

其中基于ActiveX(OLE)的组件式GIS开发工具软件将成为开发人员的首选平台。


Ao email qqqkkk 263

第一章组件式GIS开发

什么是组件式GIS?

组件式GIS,又称ComGIS(COM是Component Object Model的简写),是未来GIS系统发展的重要趋势。组件式GIS是面向对象技术和组件技术相结合的应用型GIS,其基础是组件对象模型。

利用组件技术开发应用GIS的基本思想是:

把GIS的各大功能模块划分为若干个控件,每个控件完成不同的功能,控件之间、控件与非控件之间可以方便地通过可视化软件工具集成起来,将这些控件集成在一起, 就像搭积木一样构造软件系统,形成最终的GIS应用软件。


Ao email qqqkkk 263

第一章组件式GIS开发

1.1.2、ActiveX(OLE)技术简介

传统软件开发模式开发出的应用系统,往往缺乏结构性,其资源使用的效率低下,并且难以与其它的应用程序实现真正的互用,系统的可维护性在很大程度上取决于开发人员的经验和能力。

将若干部件集成在一起,像搭积木一样构造软件系统,是计算机软件行业长期以来一直希望的事情。这种方法不仅节约时间和资金,提高工作效率,更重要的是可以生产更统一、可靠的应用程序。

基于组件式的新型软件开发技术,为应用系统的开发提供了新的思路,开发人员首先实现可靠的、小的对象模块(部件),或是直接从其它软件开发商获得需要的功能部件,然后利用这些功能部件装配成更复杂的系统,通过控制各个小部件的可靠性和可维护性,实现对整个应用系统的可靠性及维护性的控制。


Ao email qqqkkk 263

第一章组件式GIS开发

目前,被计算机行业广泛接受的Microsoft的构件软件技术几乎已成为一种工业标准。

从它的OLE1.0(对象的链接与嵌入),再发展到今天的ActiveX(OCX)控件技术,已相当成熟。目前包括微软在内的各软件厂商提供的ActiveX(OCX)控件已达数万个。

各大GIS厂商顺应技术新潮流,相继推出了基于ActiveX(OLE)技术的组件式GIS软件,组件式GIS软件为开发人员提供了一个快速、易用、功能强大的地图化组件。用户可以在工业标准的可视化开发环境(如VB、VC、Delphi、Power Builder,Visual FoxPro等)中,只需在设计阶段将GIS组件嵌入到用户的应用程序中,就可以实现地图制图和GIS功能,而且用户的应用程序可以独立编译为*.exe文件。


Ao email qqqkkk 263

第一章组件式GIS开发

组件式GIS的解决方案如图2所示。


Ao email qqqkkk 263

第一章组件式GIS开发

1.2 组件式GIS的特点

1、高效无缝的系统集成

ComGIS与专业应用组件和商业组件的无缝集成


Ao email qqqkkk 263

第一章组件式GIS开发

2、无须专门的GIS开发语言

只要符合组件模型开发标准的语言均可使用。如VC(Visual C++),VB(Visual Basic),Visual FoxPro,Borland C++,Delphi,Power Builder等。

3、大众化GIS

因GIS组件与其它商业化组件一样,遵循同样的组件对象模型标准,非GIS专业人员同样可以方便使用。

4、成本低。

组件的重用率极高。同一个组件可以在不同的软件中重复使用。


Ao email qqqkkk 263

第一章组件式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)属性数据绑定;

(待续)


Ao email qqqkkk 263

第一章组件式GIS开发

(5)图素和属性数据库记录的相互查询;

(6)地图要素的编辑和管理;

(7)地图数据的屏幕测量。

等等。


Ao email qqqkkk 263

第一章组件式GIS开发

1.3.1 MapObjects

1、简介

MapObjects (简称MO)是一组专供应用开发人员使用的制图与GIS应用组件。它由一个称为Map的ActiveX控件(OCX)和近50个可编程OLE对象组成。开发人员可在喜欢的开发环境中利用MapObjects开发出资源开销小且GIS功能强大的应用系统。

MapObjects还允许开发人员在现有的应用系统中添加GIS功能,并且能与其他图形、多媒体、数据库开发技术无缝集成,很好地解决了GIS和MIS综合应用的问题。


Ao email qqqkkk 263

第一章组件式GIS开发

2、MapObjects的体系结构

MapObjects的可编程对象可以划分为六类:

(1)地理匹配对象;

(2)数据访问对象;

(3)地图显示对象;

(4)几何图形对象;

(5)投影对象;

(6)实用对象。


Ao email qqqkkk 263

第一章组件式GIS开发

3、MapObjects的基本功能

(1)显示、浏览(放大、缩小、漫游)具有多个图层的地图;

(2)显示、生成、选择、识别图形要素(如点、线、圆、多边形等);

(3)显示、编辑地图要素的属性数据、标注、说明、字符;

(4)按照范围、SQL描述、要素属性值查询要素;

(5)绘制专题图、点密度图和饼状柱状图表;

(6)显示多种格式的空间数据(矢量、栅格等);

(7)动态地图数据的显示、查询和分析;

(8)转换地图数据的坐标系统;

(9)输出地理匹配的地理位置;

(10)基本统计、空间分析算子(Buffer、Union、Intersect);


Ao email qqqkkk 263

第一章组件式GIS开发

(11)支持动态投影。

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


Ao email qqqkkk 263

第一章组件式GIS开发

1.3.2 GeoMedia

GeoMedia是美国InterGraph公司倾力推出的代表GIS发展方向的新—代地理信息系统软件。

特点:

全新的多源数据无缝集成设计思想和先进的数据库管理方式,使得GeoMedia在发展OPENGIS方向上,走在了全球GIS软件产品的前沿。

另外,GeoMedia是采用组件式开发的GIS,是成熟的组件式GIS平台,同时也是可在浏览器端作专业分析的真正WEBGIS。


Ao email qqqkkk 263

第一章组件式GIS开发

1.3.3 GeoMap

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


Ao email qqqkkk 263

第一章组件式GIS开发

1.3.4 TITAN(泰坦)

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


Ao email qqqkkk 263

第一章组件式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应用程序。


Ao email qqqkkk 263

第一章组件式GIS开发

1.3.6 ArcObjects

ArcInfo8.3是ESRI推出的组件式GIS软件,对OpenGIS提供了广泛的支持。ArcInfo把GIS的基本功能都封装在ArcObject的组件对象库中,这些库文件定义了一些接口,包括组件对象、方法、事件、枚举,开发者可以通过接口来实现对对象的操作机制。

例如ArcMap和ArcCatalog是ArcInfo开发者利用高级语言调用ArcObject的接口来实现ArcObject基本功能的应用程序。开发人员无论应用何种开发环境,只要在设计时把引入的对象类声明为对象变量即可达到这一目的。


Ao email qqqkkk 263

第一章组件式GIS开发

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


Ao email qqqkkk 263

第一章组件式GIS开发

1.4 组件式GIS的设计与开发方法

组件(控件)是更高级的软件模块,又具有对象的性质。其开发设计方法需利用OOA-OOD-OOP的方法(OOA: Object Oriented Analysis,面向对象的分析;OOD:Object Oriented Design,面向对象的设计;OOP:Object Oriented Programming,面向对象的程序设计)。

高级表现在组件是进行了封装的软件功能模块,完全面向对象。因此还需考虑以下问题:

(1)强调独立性。尽量做到强内聚,弱耦合。

(2)纯设计用的模块与将要随系统发布的功能模块分开,如符号编辑器与空间分析模块分开。

(3)相同显示窗口的模块尽可能设计在一个控件里。

(4)处理相同数据文件的模块尽可能设计在一个控件里。 (待续)


Ao email qqqkkk 263

第一章组件式GIS开发

(5)剔除空间分析模块中不必要的内容。

(6)应区分GIS应用中适合组件开发的内容和无须使用组件开发的内容。如数据采集、数据转换、符号编辑可用独立运行程序方式或DDL方式提供,不必用组件设计。


Ao email qqqkkk 263

End!

Thanks!


  • Login