1 / 30

MapInfo 之

RSGIS. MapInfo 之. MapX 开发. 版权所有 • 地理信息系统教研室. RSGIS. 关于 MapX-----GIS 控件. MapX 是一个基于 ActiveX(OCX) 技术的可编程控件。它使用与 MapInfo Professional 一致的地图数据格式,并实现了大多数 MapInfo Professional 的功能。

miron
Télécharger la présentation

MapInfo 之

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RSGIS MapInfo 之 MapX 开发 版权所有•地理信息系统教研室

  2. RSGIS 关于MapX-----GIS控件 MapX 是一个基于ActiveX(OCX)技术的可编程控件。它使用与MapInfo Professional 一致的地图数据格式,并实现了大多数MapInfo Professional 的功能。 MapX 为开发人员提供了一个快速、易用、功能强大的地图化组件。在VB,Delphi,PowerBuilder,VC 等可视化开发环境中,只需在设计阶段将MapX 控件放入窗体中,并对其进行编程,设置属性或调用方法或相应事件,即可实现数据可视化,专题分析,地理查询,地理编码等丰富的地图信息系统功能。 MapX 定义了一个类体系,以有效的组织图形元素,图层,属性数据等对象。 版权所有•地理信息系统教研室

  3. RSGIS MapX的主要优点 MapX易于使用且价格低廉. MapX能实现Pro 95%以上的功能。 MapX用于实时监控,GPS和监控等。 MapX提供面向对象开发,提供更为广阔的开发空间 MapX为WEBGIS的开发打下基础。 MapX主要欠缺的功能 数字化仪输入 排版输出 PRO工具管理器中所有的工具,如数据转换 Mapx不支持统计图 版权所有•地理信息系统教研室

  4. RSGIS MapX 45类图 MapX组件的基本组成单元是Object(单个对象)和Collection(集合)。其中集合包括对象,是多个对象的组合。每种对象和集合负责处理地图某一方面的功能。位于顶层的是Map对象本身,其它均由Map对象继承。Layers、DataSets、Annotations是Map对象下面的三个重要的分支。其中Layer主要用于操作地图的图层,DataSet用于访问空间数据表,Annotation用于在地图上增加文本或者符号。 版权所有•地理信息系统教研室

  5. RSGIS Geoset 是地图图层及图层属性值的集合。GeoSet 决定地图对象中放入的表的库名以及他们的设置值。 Layers, Layer用户的数据反映在地图上通常根据点、线、面的层次结构进行归类。每一个独立的图层都可以作为一个独立的地图。MapX中调用的是一个由多个独立地图图层组成的地图集合。 Feature, Features, Selection图层对象是由图形对象(Feature)集合、属性以及样式组成的。图形对象集合(Features Object)是由多个图形对象(Feature Object)组成的 Annotations 利用注释在地图上显示相应的文本或者符号。类似与Professional 中的装饰层 Datasets可以将外部数据与你的地图进行绑定。 Themes 专题化地图是根据特定专题普染地图的过程。 版权所有•地理信息系统教研室

  6. RSGIS MapX 45的功能 • MapX 的主要功能包括: • 显示MapInfo 格式的地图; • 对地图进行放大、缩小、漫游、选择等操作; • 专题地图; • 图层控制; • 注解:提供方向、加亮显示特殊数据,加入文本、符号、表格使地图信息更加丰富直观; • 数据绑定; • 动态图层和用户绘图图层; • 生成和编辑地图对象; • 简单地理查询:边界查询,地址查询。 • 栅格图象 • 远程空间数据服务器 版权所有•地理信息系统教研室

  7. RSGIS MapX 45 VS MapObjects 2.0 版权所有•地理信息系统教研室

  8. RSGIS MapX开发语言 版权所有•地理信息系统教研室

  9. RSGIS MapX 45 支持的外部数据 (1) 地图数据:MapInfo 格式 (2) 远程空间数据:Oracle8i, MapInfo SpatialWare (3) 其它远程数据:ADO,DAO,ODBCc 版权所有•地理信息系统教研室

  10. RSGIS MapX 的数据源 MapInfo采用双数据库存储模式,即其空间数据与属性数据是分开来存储的。属性数据存储在关系数据库的若干属性表中,而空间数据则以MapInfo的自定义格式保存于若干文件中,二者通过一定的索引机制联系起来。为了提高查询和处理效率,MapInfo采用层次结构对空间数据进行组织,即根据不同的专题将地图分层(图层还可以分成若干图幅),每个图层存储为若干个基本文件。 (1) 属性数据的表结构文件.TAB (2) 属性数据文件.DAT (3) 交叉索引文件.ID (4) 空间数据文件.MAP (5) 索引文件.IND 版权所有•地理信息系统教研室

  11. RSGIS VB 工具箱 Form 工程窗口 Project Window 属性窗口 代码窗口 版权所有•地理信息系统教研室

  12. RSGIS 开始 MapX 45 开发(With VB) • Loading MapX • Start Visual Basic and select New project from the dialog box. Now right-click on the toolbox (the left-hand-side toolbar), and choose Additional Controls. Or through menu:Project->Components MapX Map Control 版权所有•地理信息系统教研室

  13. RSGIS 开始 MapX 45 开发(With VC) 版权所有•地理信息系统教研室

  14. RSGIS 两个程序 Geoset Manager:如果你确定你得到的地图,你就可以将它保存为一个GeoSet (*.GST) 文件。当你打开这个GeoSet 文件,所有的地图图层和设置都将以保存值返回。使用geosetmanager的时候,所有的.gst文件要放在C:\Program Files\MapInfo\MapX 4.0\Maps>目录下。 Geoset Dictionary:用于外部数据与图层的自动绑定,以及创建专题图层。实际上是一个文件包含有数据绑定的信息geodict.dct。 版权所有•地理信息系统教研室

  15. RSGIS 使用地图与图层 • 给表单加入地图控件 • (1)双击工具跳上的地图控件或拖动地图控件到表单上 • (2)调整地图控件的大小至合适尺寸 • 添加地图数据 地图控件 版权所有•地理信息系统教研室

  16. RSGIS • 添加Pan和Zoom控制 工具 Private Sub Command1_Click() Map1.CurrentTool = miZoomInTool End Sub Private Sub Command2_Click() Map1.CurrentTool = miZoomOutTool End Sub Private Sub Command3_Click() Map1.CurrentTool = miPanTool End Sub • Resize Private Sub Form_Resize() Map1.Move Map1.Left, Command1.Top + Command1.Height, ScaleWidth, ScaleHeight End Sub 版权所有•地理信息系统教研室

  17. RSGIS • 添加点、线、面、文本工具 工具 版权所有•地理信息系统教研室

  18. RSGIS • 自定义工具 创建自定义工具:Map1.CreateCustomTool RULERTOOLID, miToolTypeLine, miSizeCursor 响应选中工具:Map1.CurrentTool = RULERTOOLID 响应鼠标按下消息 响应鼠标移动消息 版权所有•地理信息系统教研室

  19. RSGIS 图层 • 用户的数据反映在地图上通常根据点、线、面的层次结构进行归类。每一个独立的图层都可以作为一个独立的地图。MapX中调用的是一个由多个独立地图图层组成的地图集合。 Pacific Ocean 版权所有•地理信息系统教研室

  20. RSGIS • 图层管理 Private Sub ListAllLayer() Dim x As Integer List1.Clear For x = 1 To Map1.Layers.Count List1.AddItem Map1.Layers(x).Name Next End Sub Private Sub Form_Load() ListAllLayer End Sub • 所有图层列出 Private Sub Command4_Click() Map1.Layers.LayersDlg End Sub • 添加图层管理 Private Sub Command5_Click() Dim selectlayer As Integer selectlayer = List1.ListIndex If selectlayer = -1 Then Exit Sub End If Map1.Layers.Remove selectlayer + 1 ListAllLayer End Sub • 删除图层 Private Sub Command6_Click() Map1.Layers.RemoveAll ListAllLayer End Sub • 删除所有图层 版权所有•地理信息系统教研室

  21. RSGIS • 层的属性 Map1.Layers.Item(1).Visible = False Name 图层的名称。 MsgBox Map1.Layers(4).Name Visible 图层是否可见。 Map1.Layers.Item(2).Visible = False OverrideStyle 是否替代该图层的默认显示特性。 Map1.Layers(9).OverrideStyle = True Style 如果 OverrideStyle 为真时图层样式将应用。 Map1.Layers(9).Style = newstyleobject ZoomLayer 设置图层缩放打开或关闭。 Map1.Layers(“States”).ZoomLayer = True ZoomMin 设置图层可见的最小缩放级别。 Map1.Layers(“States”).ZoomMin = 45 ZoomMax 设置图层可见的最大缩放级别。 Map1.Layers(“States”).ZoomMin = 580 Selectable 当用户单击该图层时设置 MapX 是否认可。 Map1.Layers(“States”).Selectable = True AutoLabel • 外部加图层 版权所有•地理信息系统教研室

  22. RSGIS • 添加标注 Private Sub Command7_Click() Dim UsLayer As Layer Dim USData As Dataset Set UsLayer = Map1.Layers.Item("USA") Set USData = Map1.Datasets.Add(miDataSetLayer, UsLayer) Set UsLayer.LabelProperties.Dataset = USData Set UsLayer.LabelProperties.DataField = USData.Fields.Item("State_Name") UsLayer.LabelProperties.Position = miPositionBR UsLayer.LabelProperties.Offset = 4 UsLayer.AutoLabel = True End Sub Private Sub Command8_Click() Map1.Layers.Item("USA").LabelProperties.Visible = False End Sub 版权所有•地理信息系统教研室

  23. RSGIS • 动态图层 (模拟GPS监控) 版权所有•地理信息系统教研室

  24. RSGIS 图元 • 地图图元是地图上的地理对象,例如点、线或区域。例如,在美国地图中区域表示州、线表示公路、点表示城市。在 MapX 中,地图图元表示为 Feature 对象。 • 添加地图图元 • 选择地图图元 Map1.Layers(5).Selection.SelectByPoint -98, 31.56, miSelectionNew Map1_SelectionChanged() • 创建地图图元 版权所有•地理信息系统教研室

  25. RSGIS 图元查找 • 搜索边界 • 选择地图图元 Map1.Layers(5).Selection.SelectByPoint -98, 31.56, miSelectionNew Map1_SelectionChanged() 版权所有•地理信息系统教研室

  26. RSGIS 数据绑定 • 所谓数据绑定,就是将数据从数据源放入 MapX 的处理过程 (1) 以地图中的图形对象来显示数据:通过数据绑定,可以将BindLayer对象作为一个参数,使用Datasets.Add方法将自己的表转变为一个DataSet。 (2) 将属性数据绑定到地图中,并创建专题图 如果地图对象中包含相应的属性信息,也可以使用Datasets.Add方法将某个属性字段添加到地图中,进而就可以按照需要创建相关的专题图。 版权所有•地理信息系统教研室

  27. RSGIS • 数据绑定 DataSets.Add Type, SourceData, [Name], [Geofield], [SecondaryGeofield], [BindLayer], [Fields], [Dynamic] 版权所有•地理信息系统教研室

  28. RSGIS 专题图 • 专题制图是按照特定专题渲染地图的过程。专题通常使用数据集中的一组或多组数据。专题利用颜色渲染、填充图案、符号、直方和饼图表示数据。根据数据中的特定值指派这些颜色、图案或符号,可以创建不同的专题地图。直方和饼图使您可以比较数据集中每个记录的数据。 • 开始应用专题地图前,需要决定要显示哪些信息以及信息驻留的位置。创建专题所用的数据来自数据集的 Field 对象或 Field 集合。这些字段作为 Themes 集合的 Themes.Add 方法的 Fields 参数来传递。 Themes.Add [Type], [Field], [Name] 版权所有•地理信息系统教研室

  29. RSGIS 输出地图 Map.ExportMap (Location, Format, [W], [H]) 版权所有•地理信息系统教研室

  30. RSGIS 发布MapX程序 • 当把应用交付给客户时,需要安装以下项目。它们是: • 已创建的软件。 • MapX 控件,以及与它相关的文件。 • 在应用中用到的地图和 Geoset 版权所有•地理信息系统教研室

More Related