第七讲组件式GIS与MapX基础羊 组件式GIS与MapX 1GIS开发的三种实现方式 12 Activex技术及GIS组件 1.3 Map. X简介 二、MapX详解 21 Layers集合属性 2.2 Features FH Selections 23MapX工具 Page 2 MapI p Info
Page 2 •第七讲 组件式GIS与MapX基础 一、组件式GIS与MapX 1.1 GIS开发的三种实现方式 1.2 ActiveX技术及GIS组件 1.3 MapX简介 二、MapX详解 2.1 Layers 集合属性 2.2 Features 和 Selections 2.3 MapX工具
组件式GIS与MapX 1.1GIS开发的三种实现方式 地理信息系统(GIS)根据其內容可分为两大基本类型: 一是工具型地理信息系统,也就是GⅠS工具软件包,如 Mapinfo、ARC/INFO等,具有空间数据输入、存储、处理、 分析和输出等GIS基本功能;二是应用型地理信息系统,以 某一专业、领域或工作为主要内容,包括专题地理信息系统 和区域综合地理信息系统。随着地理信息系统应用领域的扩 展,应用型GIS的开发工作日显重要。 应用型地理信息系统的开发方式主要有以下三种 独立开发:所有的算法都由开发者独立设计; 单纯二次开发:完全借助于GIS工具软件提供的开发语言 进行应用系统开发,如 Arcview提供了 Avenue语言, Mapinfo 提供了 MapBasic语言等 E MapInfo
Page 3 •一、组件式GIS与MapX 1.1 GIS开发的三种实现方式 地理信息系统(GIS)根据其内容可分为两大基本类型: 一是工具型地理信息系统,也就是GIS工具软件包,如 MapInfo、ARC/INFO等,具有空间数据输入、存储、处理、 分析和输出等GIS基本功能;二是应用型地理信息系统,以 某一专业、领域或工作为主要内容,包括专题地理信息系统 和区域综合地理信息系统。随着地理信息系统应用领域的扩 展,应用型GIS的开发工作日显重要。 应用型地理信息系统的开发方式主要有以下三种: • 独立开发:所有的算法都由开发者独立设计; • 单纯二次开发:完全借助于GIS工具软件提供的开发语言 进行应用系统开发,如ArcView提供了Avenue语言,MapInfo 提供了MapBasic语言等;
集成二次开发:利用专业的GIS工具软件,如 Arcview、 Mapinfo等,实现GIS的基本功能;以通用软件开发工具尤其是可 视化开发工具,如 Delphi、 Visual c艹、 Visual basic等为开发 平台,进行二者的集成开发。集成开发有两种方式: (1) OLE/DDE:采用 OLE Automation技术或D技术,用软件 开发工具开发前台可执行应用程序,以OLE自动化方式或DDE方 式启动GIs工具软件在后台执行,利用回调( Callbacks)技术动 态获取其返回信息,实现应用程序中的地理信息处理功能; (2)GIS控件:利用GIS工具软件生产厂家提供的建立在OCX技 术基础上的GⅠS功能控件,如ESRI的 Mapobjects、 Maplnfo公司的 MapX等,在 Delphi、Ⅴ i sual basic等编程工具编制的应用程序 中,直接将GIS功能嵌入其中,实现地理信息系统的各种功能 Page 4 MapI p Info
Page 4 • 集成二次开发:利用专业的GIS工具软件,如ArcView、 MapInfo等,实现GIS的基本功能;以通用软件开发工具尤其是可 视化开发工具,如Delphi、Visual C++、Visual Basic等为开发 平台,进行二者的集成开发。集成开发有两种方式: (1) OLE/DDE:采用OLE Automation技术或DDE技术,用软件 开发工具开发前台可执行应用程序,以OLE自动化方式或DDE方 式启动GIS工具软件在后台执行,利用回调(CallBacks)技术动 态获取其返回信息,实现应用程序中的地理信息处理功能; (2) GIS控件:利用GIS工具软件生产厂家提供的建立在OCX技 术基础上的GIS功能控件,如ESRI的MapObjects、MapInfo公司的 MapX等,在Delphi、 Visual Basic等编程工具编制的应用程序 中,直接将GIS功能嵌入其中,实现地理信息系统的各种功能
集成二次开发的优缺点 由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的 限制差强人意,因此结合GⅠS工具软件与当今可视化开发语言的集成二 次开发方式就成为GS应用开发的主流。 优点:既可以充分利用GIS工具软件对空间数据库的管理、分析功 能,又可以利用其它可视化开发语言具有的高效、方便等编程优点,集 二者之所长,大大提高应用系统的开发效率,且具有更好的外观效果, 更强大的数据库功能,可靠性好、易于移植、便于维护。尤其是使用 0CX技术利用GIS组件进行集成开发,更能表现出这些优势 缺点:前期投入较大,需同时购买GIS工具软件和可视化编程软件。 与OE技术相比,利用 Activex控件开发速度快,可使开发者避开某 些应用的具体编程,直接调用控件,实现这些具体应用,从而使编程 过程更简洁;而且占用资源少,易实现许多底层的编程和开发功能。 Page 5 E MapInfo
Page 5 由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的 限制差强人意,因此结合GIS工具软件与当今可视化开发语言的集成二 次开发方式就成为GIS应用开发的主流。 优点:既可以充分利用GIS工具软件对空间数据库的管理、分析功 能,又可以利用其它可视化开发语言具有的高效、方便等编程优点,集 二者之所长,大大提高应用系统的开发效率,且具有更好的外观效果, 更强大的数据库功能,可靠性好、易于移植、便于维护。尤其是使用 OCX技术利用GIS组件进行集成开发,更能表现出这些优势。 缺点:前期投入较大,需同时购买GIS工具软件和可视化编程软件。 与OLE技术相比,利用ActiveX控件开发速度快,可使开发者避开某 些应用的具体编程,直接调用控件,实现这些具体应用,从而使编程 过程更简洁;而且占用资源少,易实现许多底层的编程和开发功能。 集成二次开发的优缺点
组件式GIS与MapX 12 Activex技术及GIS组件 1、 ActiveX技术 ActiveX是 Microsoft为了使开发人员能够把计算机桌面环 境与构成lnη ternet及其大量资源的环境集成起来,同时保护在 Windows中现有的开发投资而提供的一种技术。 ActiveX包括对 两个现有 Micros代t技术的一系列扩充和增强,这两个技术是: win32AP和组件对象模型(COM)。由于 ActiveX控件是被封装 起来的,它适合于各种编程语言(如vB、V0+等),因此只需 知道控件支持的属性、方法和事件,就可使用控件 所谓 ActiveX组件是指一些可执行的代码,比如一个.exe, d或.ocx文件,它们在提供对象时遵循 ActiveX的规范。通过 ActiveX技术,程序员就能够把这些可复用的软件组装到应用程 序或者服务程序中去 Page 6 MapI p Info
Page 6 1.2 ActiveX技术及GIS组件 •一、组件式GIS与MapX 1、ActiveX 技术 ActiveX是Microsoft为了使开发人员能够把计算机桌面环 境与构成Internet及其大量资源的环境集成起来,同时保护在 Windows中现有的开发投资而提供的一种技术。ActiveX包括对 两个现有Microsoft技术的一系列扩充和增强,这两个技术是: Win32 API和组件对象模型(COM)。由于ActiveX控件是被封装 起来的,它适合于各种编程语言(如VB、VC++等),因此只需 知道控件支持的属性、方法和事件,就可使用控件。 所谓ActiveX组件是指一些可执行的代码,比如一个.exe, .dll或.ocx文件,它们在提供对象时遵循ActiveX的规范。通过 ActiveX技术,程序员就能够把这些可复用的软件组装到应用程 序或者服务程序中去