基于MapInfo Professional地图化技术的MapX,以ActiveX控件的方式提供了真正的对象联接与嵌入式的地理信息系统应用开发方案。MapX方便快捷、功能强大,利用它能够快速地在各种应用中嵌入地图化功能,增强空间分析的能力。
本书从控件式地理信息系统的概念和构成出发,着眼于MapX的关键技术问题,给出了利用MapX开发地理信息应用系统的技术途径和解决方案,特别是针对MapX开发中常见的难点进行了深入的探讨。本书结合作者的开发经验,给出了极具参考价值的程序实例。
本书适用于政府部门、行业企业中与地理信息系统相关的研究和开发人员,尤其是具备基本的计算机开发技术、有一定地理信息系统基础知识的读者,也可作为相关专业的教学参考书或社会培训教材。
第1章 基础知识
1.1 地理信息系统概述
1.2 地理信息系统软件MapInfo
1.3 组件技术与MapX
1.4 地下信息系统应用开发
1.5 小结
第2章 MapX基础
2.1 MapX入门
2.2 安装和注册MapX
2.3 用Geoset管理数据
2.4 Geodictionary管理器
2.5 电子地图及其坐标系的设置
2.6 MapX开发基础
2.7 小结
第3章 MapX地图化及其工具
3.1 MapX中地理数据地图化方式
3.2 地图标准工具
3.3 地图编辑工具
3.4 用户自定义工具
3.5 示例
3.6 小结
第4章 MapX的图元与图层
4.1 MapX图元与图元集合
4.2 创建地图图元
4.3 图元的选取
4.4 图层与图层集合
4.5 图元和图层操作实例: 新的层控制对话框
4.6 小结
第5章 栅格图像的应用
5.1 栅格影像图
5.2 栅格图的注册
5.3 在地图中添加、删除和替换栅格图层
5.4 大型栅格图层的分割与动态载入
5.5 小结
第6章 MapX属性数据及数据绑定
6.1 MapX的属性数据
6.2 属性数据的更新
6.3 MapX引入外部数据
6.4 MapX数据集对象
6.5 MapX字段集合对象
6.6 绑定图层
6.7 MapX的绑定数据事件
6.8 常用的外部数据绑定方法和示例
6.9 小结
第7章 MapX与空间数据库的连接
7.1 空间数据
7.2 空间数据库
7.3 利用坐标数据绘制地图
7.4 MapInfo Map Catalog
7.5 访问Oracle 8i的空间数据
7.6 空间数据的导入和导出
7.7 空间图元的样式转换
7.8 小结
第8章 MapX专题图
8.1 专题图及其类型
8.2 MapX默认专题图及其图例
8.3 制作专题图
8.4 操作专题图
8.5 专题图图例
8.6 小结
第9章 MapX应用程序发布
9.1 发布应用程序所需的项目和步骤
9.2 安装MapX OCX控件
9.3 安装数据集驱动程序
9.4 地图数据的安装
9.5 添加系统注册表信息
9.6 安装栅格图像处理程序
9.7 特殊处理
9.8 小结
第10章 MapX深入编程技巧
10.1 地图的复杂编辑
10.2 鹰眼图
10.3 空间查询与空间分析
10.4 MapX地图符号样式的定制
10.5 地图的输出
10.6 GPS应用开发
10.7 小结
对于现实中的事物和事件的描述绝大多数都与其空间位置有关,因而围绕地图展开的地理空间科学技术的研究与开发具有十分重要的意义。近年来随着数字地球、数字城市、数字奥运等概念的提出和运作,各行业积极推进信息化,地理信息系统(GIS)的应用范围越来越广。
作为国际GIS软件巨头MapInfo公司的重要产品之一——MapX是一个方便快捷、功能强大的ActiveX控件,它基于MaplnfoProfessional的地图化技术,以控件的方式提供了真正的对象联接与嵌入式的开发方案。利用MapX能够快速地在政府部门和企业应用中嵌入地图化功能,增强空间分析的能力,实现管理信息系统的增值。
MapX具有MapInfo Professional绝大部分的地图化功能,更重要的是MapX支持Ms Windows环境下绝大多数标准的可视化开发环境,如:Visual Basic、Visual C++、Delphi、PowerBuilder等。编程人员可以选用自己最熟悉的开发语言,将地图应用功能嵌入到企业应用中,并且脱离Maplnfo的软件平台运行。同时,MapX具有很好的性价比,越来越多的GIS应用系统中采用了MapX作为开发工具。
然而,控件式GIS的开发方式与桌面型GIS有很大的不同,本书从基于控件的地理信息系统的概念和构成出发,针对MapX开发中的各种关键技术,给出了相应的解决方案和参考实例,并结合作者多年实际经验的总结和积累,深入探讨了MapX开发中常见的难点。
本书第1章介绍了地理信息系统的概念和构成、组件式地理信息应用系统开发的方式,重点介绍了MapX的技术特点。第2章主要讲解MapX的基本概念和MapX对象的组成,以及数据的组织方式,详细说明了MapX的安装和附带工具的使用,重点分析了电子地图及其坐标系在MapX中的转换问题,分别介绍了在常用的开发平台——Visual Basic、Visual C++、Sybase的PowerBuilder和Borland的Delphi中MapX程序框架的搭建过程。第3章针对MapX提供的地图工具:地图浏览工具、编辑工具和用户自定义工具进行了详细的介绍。第4章介绍了MapX中图元和图元集合对象、图层和图层集合对象的属性和方法,并对特殊图层,如动态图层、逐层细化图层进行了详细的介绍,还完整地给出了一个构造图层控制对话框的实例,融汇了实践的经验,具有很大的参考价值。第5章介绍了MapX中栅格图的应用目的和在地理信息系统开发中使用栅格图的方法和技巧。第6章分为两部分,首先介绍了MapX属性数据的组织及属性数据的查询,然后介绍了将各种外部数据源的属性数据绑定到MapX地图对象的方法,并给出了具体的示例和解释。第7章从空间数据模型出发,介绍了MapX中空间数据的处理方式,并重点讲解了Oracle Spatial与MapX之间的开发接口,给出了相应的示例,还就MapX中空间数据的导入/导出过程中出现的问题进行了探讨。将各种数据图形化,使用户可以在视觉上对地图数据有直观的感受,这是创建专题图的主要目的。第8章通过一个具体的实例,说明了MapX专题图的创建和使用方法。第9章介绍MapX应用程序发布的技巧,如MapX的OCX安装和注意事项、MapX数据集驱动程序、栅格图像处理驱动程序的安装以及地图集的安装等。作为本书的重点,第10章针对MapX深入开发中遇到的普遍问题,如地图编辑、空间分析、地图打印输出等,进行了细致的分析和探讨,这些问题往往是MapX功能相对较弱的地方。本章的实例提供了很好的解决这些问题的方法,对于那些苦于寻找方法攻克MapX中难点的开发者来说,具有很高的参考价值,也将大大推动MapX的应用推广。此外,还介绍了地图符号库的定制、鹰眼图的实现以及MapX在GPS领域的应用,这些都是MapX在具体系统中的应用实例,对于开发者完善系统功能、开拓新的应用领域都有很大的帮助。
本书的实例主要采用了Visual Basic开发语言,并针对一些重点问题介绍了各种常用开发语言和工具下的解决方案。实例中对读者容易遇到的问题进行提示和分析,力求使读者能够快速上手,迅速成为MapX开发的高手。
本书主要由齐锐执笔。第4章、第10章的一部分由屈韶琳编写,第5章、第8章由阳琳赞编写。本书的资料由王军收集和整理。同时,在本书的写作过程中吴江、谭李、马云、王芳、任伟、刘慧都提出了中肯的建议,并参与了程序的编写和后期校对工作。
由于作者水平有限,本书中难免出现缺陷和不足之处,真诚地希望广大读者不吝赐教,提出宝贵的意见。