文档介绍:MapInfo概论
第一讲 MapInfo简介及基本概念
第二讲 MapInfo基本操作—表
第三讲 MapInfo查询及分析
第四讲空间分析及属性信息图形化
第五讲 OLE 嵌入与MapBasic 简介
第六讲 MapInfo集成地图开发
第七讲组件式GIS与MapX基础
第八讲 MapX应用开发
第七讲组件式GIS与MapX基础
一、组件式GIS与MapX
GIS开发的三种实现方式
ActiveX技术及GIS组件
MapX简介
二、MapX详解
Layers 集合属性
Features 和 Selections
MapX工具
一、组件式GIS与MapX
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技术或DDE技术,用软件开发工具开发前台可执行应用程序,以OLE自动化方式或DDE方式启动GIS工具软件在后台执行,利用回调(CallBacks)技术动态获取其返回信息,实现应用程序中的地理信息处理功能;
(2) GIS控件:利用GIS工具软件生产厂家提供的建立在OCX技术基础上的GIS功能控件,如ESRI的MapObjects、MapInfo公司的MapX等,在Delphi、 Visual Basic等编程工具编制的应用程序中,直接将GIS功能嵌入其中,实现地理信息系统的各种功能。
由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的限制差强人意,因此结合GIS工具软件与当今可视化开发语言的集成二次开发方式就成为GIS应用开发的主流。
优点:既可以充分利用GIS工具软件对空间数据库的管理、分析功能,又可以利用其它可视化开发语言具有的高效、方便等编程优点,集二者之所长,大大提高应用系统的开发效率,且具有更好的外观效果,更强大的数据库功能,可靠性好、易于移植、便于维护。尤其是使用OCX技术利用GIS组件进行集成开发,更能表现出这些优势。
缺点:前期投入较大,需同时购买GIS工具软件和可视化编程软件。
与OLE技术相比,利用ActiveX控件开发速度快,可使开发者避开某些应用的具体编程,直接调用控件,实现这些具体应用,从而使编程过程更简洁;而且占用资源少,易实现许多底层的编程和开发功能。
集成二次开发的优缺点
ActiveX技术及GIS组件
一、组件式GIS与MapX
1、ActiveX 技术
及其大量资源的环境集成起来,同时保护在Windows中现有的开发投资而提供的一种技术。ActiveX包括对两个现有Microsoft技术的一系列扩充和增强,这两个技术是:Win32 )。由于ActiveX控件是被封装起来的,它适合于各种编程语言(如VB、VC++等),因此只需知道控件支持的属性、方法和事件,就可使用控件。
所谓ActiveX组件是指一些可执行的代码,,.,它们在提供对象时遵循ActiveX的规范。通过ActiveX技术,程序员就能够把这些可复用的软件组装到应用程序或者服务程序中去。
2、组件式GIS
是把GIS的各大功能模块划分为几个控件,每个控件完成不同的功能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。控件如同一堆各式各样的积木,它们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成应用系统。
(1)组件式GIS开发平台的结构
基础组件:面向空间数据管理,提供基本的交互过程,并能以灵活的方式与数据库系统连接;
高级通用组件:由基础组件构造而成,