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