如何利用MapX构建地图应用[最新]
- 格式:doc
- 大小:79.50 KB
- 文档页数:5
如何利用MapX构建地图应用[最新] 如何利用MapX构建地图应用
一. MapX是什么,
MapX是Mapinfo 公司的能向用户提供强大地图分析功能的ActiveX控件产品。
由于它是一种基于Windows 操作系统的标准控件,因而MapX能支持绝大多数标准的可视化开发环境如: Visual Basic, Visual C++ , Delphi, PowerBuilder 等。
利用MapX,用户能够简单而快速地在自己的企业应用中嵌入地图化功能,增强企业应用的空间分析能力,实现企业应用的增值。
二(为什么必须使用MapX?
很多企业最初建立的应用并不具有空间分析功能。
但是随着企业内部信息量的增加及信息的多元化和复杂化,很多信息采用传统的报表和文档方式已无法清晰地向用户表现。
此时,就需要利用MapX在企业应用中增加对信息的空间表现能力。
例如,利用MapX可以非常直观地将企业自身在空间位置上的分布特性及客户的住址、邮政编码等信息,以地图化的方式展示出来。
由于采用的是控件技术,因此编程人员在开发过程中并不需要掌握其它专业编程语言,便可轻松地将地图应用功能嵌入到企业应用中。
并且应用可以脱离Mapinfo的软件平台运行。
相反在构建上述的企业应用系统,如果选用Mapinfo Professional 作为地图化应用的平台,则需要很多技巧来实现企业应用中的公用信息管理系统与地图管理信息系统之间的信息交换与通讯。
三(MapX与MapBasic开发方式的区别在哪里?
MapBasic是一种类Basic的地图应用开发语言,它具有自己的语法规则,同时它编译生成的执行程序要依赖于Mapinfo Professional平台。
对于想要快速建立以地图空间分析为主要功能的企业应用用户来说,选用MapBasic来开发是一种最
快也最简单的开发方式。
因为MapBasic是一种集成化程度很高的开发语言,很多复杂的地图分析功能在MapBasic中只需要一条或是几条语句便可以实现。
对于有丰富编程经验的程序员来说,MapX是他们建立地图应用的最理想工具,因为在利用MapX进行开发时,他们可以选用自己最熟悉开发语言,充分发挥他们的创造灵感。
四(如何利用MapX在应用中打开地图
安装MapX后,安装程序便向用户提供了一套SDK开发包,并将MapX 的OCX控件注册到用户计算机中。
SDK中包含了一系列用户在开发过程非常有用的工具和资料,包括MapX开发指南、MapX参考手册、MapX 联机帮助文档,例子程序,样例数据和地图,Geoset工具等。
注册到用户机器中的OCX控件实际上是向用户提供了一个Map 对象,它具有若干可供用户对进行空间地理分析的方法和属性。
见图1。
开发时,只要将MapX控件拖放到用户界面上,并通过设定相应的属性值,便可将Mapinfo地图在用户程序中打开。
见图2。
五(如何利用MapX对应用中的地图进行编辑、查询和空间分析
MapX 采用的是基于Mapinfo Professional的相同的地图化技术。
因而,利用MapX能够在用户构建的应用中实现Mapinfo Professional具有的绝大部分地图编辑和空间分析功能。
而且通过MapX来实现这些功能是非常容易的。
图1 MapX 控件向用户开发环境提供的若干属性和方法
1( 地图编辑功能
程序设计人员可以通过MapX的一个称为Feature的对象来访问图层中的空间对象。
MapX提供了四种类型的Feature对象:区域、点、线、文本。
编程人员通过Feature可以在地图窗口中创建、修改或删除区域、点、线和文本。
例如在Visual Basic中,利用下列语句便可以创建一个点,并将它添加到当前图层中。
Dim Obj as MapXlib.Feature
Dim NewObj as New MapXLib.Feature
NewObj.Type=miFeatureTypeSymbol
NewObj.Point.Set –104.3452, 34.91234
Set Obj=yers(1).AddFeature(NewObj)
图2 只要将MapX控件拖放到用户界面上,并设定相应的属性值,便可将Mapinfo
地图在用户程序中打开
2( 地图信息查询
编程人员可以象使用其它控件一样,使用MapX的OCX控件。
要在应用中实现对地图的缩放、浏览、选择等功能,只需要引用MapX提供的相关的方法或属性便可完成。
例如在Visual Basic中实现地图的缩放、浏览、选择等功能的语句分别如下。
miPanTool=1001 ‘确定地图的视野范围
Map1.CurrentTool = miZoomInTool ‘地图放大
Map1.CurrentTool = miZoomOutTool ‘地图缩小
Map1.CurrentTool = m iZoomSelectTool ‘选择
Map.ZoomTo 1000, 102.32 89.67 ‘将地图窗口缩放到某一特定位置
Map.Rotation = 45 ’将当前地图窗口旋转45度
3( 空间分析
MapX支持空间对象的缓冲区分析,及多种专题图分析。
六(如何在MapX中引用外部数据
1(地图数据
如果用户已经购买了或是利用Mapinfo Professional创建了Mapinfo 地图,则MapX可以直接将它们在应用中打开。
2( 远程空间数据库
利用MapX可以访问保存在Oracle8I及Mapinfo SpatialWare中的地图数据。
其中,对
Oracle8I的支持是MapX4.0的新特性。
通过Oracle Call Interface(OCI) MapX可以将存储在
Oralce8I数据库服务器中的Mapinfo空间数据和属性数据同时下载到本地。
3(其它远程数据。