第 11章 MapX基础
11.1 MapInfo MapX介绍
11.1.1 产品介绍
11.1.2 内容介绍
11.2 MapX的功能
11.3 MapX的基本属性
11.3.1 属性对象
11.3.2 MapX组件的模型结构
11.4 MapX安装
11.4.1 系统要求
11.4.2 安装 MapX
11.5 MapX的两个实用应用程序
11.5.1 Geodictionary
Manager
11.5.2 GeoSet Manager
11.6 添加 Map控件
11.7 习题 11
11.1 MapInfo MapX介绍
11.1.1 产品介绍
MapX为开发人员是一个快速,易用,功能强大的地图化组件 。
① 在 Visual Basic,Delphi,PowerBuilder,
VC++ 等可视化开发环境中,只需在设计阶段将 MapX控件放入窗体中,并对其进行编程,
设置属性或调用方法或相应事件,即可实现数据可视化,专题分析,地理查询,地理编码等丰富的地理信息系统功能 。
② MapX具有强大的数据绑定能力。 在
Visual Basic中,可以和 Data Control绑定,
在 Delphi和 PowerBuilder中,可通过
ODBC绑定,实现数据库中的数据与
MapX中的 MapInfo地图的关系连接,使得地图对象与关系数据库中的数据项相对应。经过数据绑定,可以将数据中的数据制成专题图,或在地图上查询数据,
以及通过 SQL语句实现对地图的查询。
11.1.2 MapX内容介绍
1,MapX包含的内容
(1) 示例地图
(2) 示例数据
(3) 示例应用程序
(4) 实用程序
2,MapX文档
11.2 MapX的功能
1,专题制图可使用六种不同的样式来表现数据(范围值、
点密度、独立值、等级符号、饼图、直方图)。
2,逐层细化制图允许用户通过定点和单击逐层细化地图的某个区域。
3,数据绑定
MapX提供多种不同类型数据的绑定。
4,注释通过添加文本,符号和标注来使用户的地图信息变得更加丰富 。
5,图层化控制地图图层的显示,创建无缝地图图层 。
6,栅格图像可将栅格图像作为地图背景 。
7,自动标注自动向地图添加标注 。
8,选择在一个指定的半径,矩形区域或指定点的范围内选择地图图元 。
9,图元工厂
FeatureFactory对象使用户得以创建,合并缓冲区或擦除点,线和区域图元 。
10,工具通过 MapX内置的导航,选择和标注工具或自定义工具来对地图进行操作 。
11,地图编辑可以让用户在地图上添加,修改或删除图元 。
12,投影和坐标系
MapX对地图坐标系和投影的完全支持使用户可以更精确地调整地图的显示并在自己的坐标系中处理 X-Y数据。
13,远程空间服务器连接可以连接运行在 Oracle 8.0.5,Informix或其他所支持的数据库上的 Oracle8i Spatial和 MapInfo
SpatialWare上存储的真实数据。
11.3 MapX的基本属性
11.3.1 属性对象
1,Map对象每个 Map对象主要包括 Datasets,Layers、
Annotations三个对象集合。
2,Layers对象在 MapX中,每张单独的地图都被表示成单独的一个图层,所有的图层存储在 layers集合中。
Layers集合由 Layer对象组成,按顺序编号为 0到 n。
3,GeoSets对象
GeoSet是在 GeoManager中建立,GST文件,类似
MapInfo中的工作空间的概念,是图层及其设的集合,控制程序中显示的地图。
4,Datasets对象
Datasets用于实现地图与数据的绑定。 建立地图信息与属性数据之间联系的过程称之为自动绑定。
5,Annotations对象
Annotations集合提供了操纵地图中文字和符号的方法。
方法 描述 代码示例
AddSymbol
向 Annotation集合添加符号 。
使 用 默 认 样 式 ( 由
Map.DefaultStyle指定 ) 。
Map1.Annotations.AddSy
mbol X,Y
AddText 向 Annotation集合添加文本 。
第四个参数表示文本在指定坐标系中的初始位置 。
Map1.Annotations.AddTe
xt,
“Developer Services”,
79.44,46.8889,
miPositionTL
Remove 从 集 合 中 删 除 指 定 的
Annotation。
Map1.Annotations.Remo
ve 1
RemoveAll 从 集 合 中 删 除 所 有 的
Annotation。
Map1.
Annotations.RemoveAll
表 11-1 Annotations集合方法表 11-2 Annotations 集合属性属性 描述 代码示例
Editable 指定注释是否可以编辑 。 Map1.Annotations.Ed
itable=True
Type 指定 Annotation对象类型 。 If
Map1.Annotations(2)
Type
=miTextAnnotation
Then Print“It is text”
Graphic 包含了拥有 Annotation属性的 Graphic对象 。 请参阅 联机帮助 中的 Graphic对象描述 。
请参阅联机帮助中的
Graphic对象描述 。
6,可创建对象在 MapX对象模型中,以下对象是可以被创建,
的:
AffineTransform,BindLayer,BitmapSymbols、
CoordSys,Datum,Feature,Fields,LayerInfo、
Map,ODBCQueryInfo,Parts,Point,Points、
Rectangle,RowValue,RowValues,Style、
Variables,NotesQueryInfo,NotesViewInfo。
11.3.2 MapX组件的模型结构图 11-1 MapX的模型结构
11.4.2 安装 MapX
① 将 MapX CD置于 CD驱动器中 或双击 Setup 图标。
② 此时将出现“安装类型选择”对话框,
如图 11-2所示,提供若干选项。单击“安装
MapX”按钮,出现,Setup”对话框,如图
11-
3所示。
图 11-2,安装类型选择”对话框 图 11-3,Setup”对话框
③ 进程完成后,此时将显示,欢迎,对话框,
如图 11-4所示 。 选择,下一步,,继续进行安装进程 。
④ 此时将显示,软件许可,对话框,如图
11-
5所示 。 选择,是,,接受协议条款,然后继续安装进程 。
⑤ 此时将显示“选择目标位置”对话框,
如图 11-6所示。指定安装 MapX的目录。如果当前没有安装 MapX,默认位置为,Program
Files\MapInfo\MapX 5.0。 如果当前已经安装了图 11-4,欢迎”对话框 图 11-5,软件许可”对话框图 11-6,选择目标位置”对话框 图 11-7,组件”对话框
⑥ 出现“组件”对话框,如图 11-7所示。
指定要安装的产品组件。此时将显示所选组件的磁盘空间要求。
⑦ 此时将显示,选择程序文件夹,对话框,如图 11-8所示 。 指定程序文件夹 。
⑧ 此时将显示“开始复制文件”对话框,
如图 11-9所示。
图 11-8,选择程序文件夹”对话框 图 11-9,开始复制文件”对话框图 11-10 进度栏
⑨ 在 MapX Installer安装完毕之后,将会启动,MapX数据设置,对话框 。 重复上述介绍的各个步骤,完成整个安装,如图 11-11所示 。
图 11-11,完成”对话框
11.5 MapX的两个实用应用程序
11.5.1 Geodictionary Manager
在 MapX GeoSet Manager的工具菜单下有执行
GeoDictionary程序的选项 。 弹出,GeoDictionary Manager”
对话框,如图 11-12所示 。 GeoDictionary Manage程序允许把新的 MapInfo表注册到 GeoDictionary中 。 同时,在
,GeoDictionary Manager”中,单击,注册表 ( Register),
按钮,弹出,表属性 ( Table Properties),对话框,如图 11-
13
所示 。 然后选择要注册的表,设置表属性并为其输入描述 。 如果要想自动地把这张表加载到 GeoSet中,请单击添加按钮然后选择要把表添加进的 GeoSet。
图 11-12,GeoDictionary Manager”对话框 图 11-13,Table Properties”对话框
11.5.2 GeoSet Manager
通过使用 Geoset Manager,可以将所有的工作表集中在一起,连同每一层的设置一并存储到一个,GST文件中,下次使用时,只需打开此文件就可以了。
图 11-14为 GeoSetManager的用户界面,可以利用此管理工具更改图层设置,
当认为满意时,就可以保存地图。
图 11-14 GeoSetManager的用户界面可以调出 Layers控制对话框对每一图层分别进行设置,如图 11-15所示。
图 11-15,Layers控制”对话框
11.6 添加 Map控件
1,在 VB中添加 MapX控件
① 右键单击 Visual Basic工具箱,然后从快捷方式菜单中选择“部件”。或者执行“工程” →,部件”命令,
弹出
“部件”对话框,如图 11-16所示。
② 在“部件”对话框中,单击控件选项卡,然后在列表中查找 MapInfo MapX v5.0。 如果没有选择这一项目,
则将其选中。单击“确定”。工具箱上此时会出现地图控件。
要将地图置于 Visual Basic表单之上,选择地图控件,然后在表单上绘制一个图框。
图 11-16,部件”对话框图 11-17所示,Form1”对话框
2,升级已有版本的 MapX
如果 Visual Basic项目使用早期版本的 MapX
使用以下步骤来将该应用程序转换到当前版本。
① 打开要升级到当前版本的应用程序的项目。
② 从表单删除地图对象 。 记录地图控件的名称,以及任何可以从其默认设置更改的属性的名称 。
③ 从,工具,菜单,选择,定制控件,。
④ 在,可用控件,列表中,取消选择 MapInfo
MapX
控件,然后选择,确定,。
⑤ 返回到,工具,→,定制控件,对话框,然后选中
MapInfo MapX版本 x控件 ( 其中的 x是当前的版本号 ),
再单击,确定,。
3,向 VB中添加工作地图
① 从 Visual Basic工具箱选择地图控件 。
② 在表单上绘制图框,表示要显示地图的区域 。 MapX显示地图的预览 。
③ 右键单击地图控件,然后从快捷方式菜单中选择,特性,。 此时将出现
MapInfo
MapX“属性页,对话框,如图 11-18所示 。
图 11-18,属性页”对话框
④ 找到常规选项卡底部的当前工具
( Current) 选项 。 将当前工具设置为,1103-
Zoom In”并单击确定 。
⑤ 运行程序以查看地图 。 请注意只要指针位于地图上,将变为带加号的放大镜 。
⑥ 单击地图,MapX在单击的位置放大地图。
可以反复单击,使得它放得越来越大。也可以绘制一个选取框以指定要放大的准确区域。
11.7 习题 11
一,思考题
1,MapX包括哪些内容?具有哪些功能?
2,MapX具有哪些属性?各属性有什么作用?
3,MapX的两个应用程序是什么? 它们有什么用途?
二,上机练习
1,按照课本上的介绍,上机安装应用程序 。
2,上机熟悉 MapX应用程序界面,建立新的
GeoSet文件 。
3,在 Visual Basic工具箱上添加 Map( 地图 )
控件 。