MapObjects
MapObjects是ESRI公司提供的一组供应用开发人员使用的制图与GIS功能组件,它由一个OLE控件和一系列可编程OLE对象组成。利用MapObjects,开发人员可以在应用程序中添加制图和GIS功能。他不是为最终用户而是专门为开发人员提供的。
MapObjects是一个OLE控件,它可以用于大量开发框架中,包括流行的像VB、VC等之类的程序设计环境,因此开发人员可以在自己熟悉的开发环境中利用MapObjects开发GIS应用。
MapObjects是建立在微软的对象链接和嵌入(OLE)2.0基础上的。MapObjects是一个提供制图与GIS功能的OLE控件,它包含了超过45个可编程OLE对象。MapObjects地图控件可以直接插入到许多标准开发环境的工具集中,可以通过属性也操纵地图。这些属性也是在诸如VC之类的开发环境中建立的,或者通过其他程序化相关对象来控制地图。这些对象为应用开发人员提供了有力的制图与GIS功能支持。
MapObjects允许定制利用制图和GIS组件的应用程序,它的特点包括:
(1)广泛的数据格式支持
(2)支持ODBV和ADO访问数据库表格数据源
(3)支持扩展的图形数据及操作
(4)支持投影
(5)增强的GPS功能
(6)空间分析功能
(7)支持数据库版本管理
MO的功能
(1)能符号化显示一幅全要素地图,支持自定义符号
MapObjects自带了一些符号,同时为满足具体用户的需求,提供了自定义符号的开发接口,这极大的拓展了开发人员的开发空间,也提升了MapObjects的应用尺度。
(2)支持对图层的管理和操作
MapObjects为用户提供了较为齐全的图层管理功能。这些图层管理方法包括图层的添加、删除以及图层压盖关系的调整等。尤其是他提供的图例控件(MO20legend.legend)为用户提供了极为方便的图层管理方法,同时可以实现设置符号的功能。
(3)支持各种图形操作
通过MapObjects,开发人员可以实现一些基本的图形操作,如放大、缩小和漫游等。由于MapObjects对数据建立了索引机制,其地图显示速度非常快,并且提供了无级缩放功能。
(4)可以添加注记
MapObjects为开发人员提供了各种添加地图注记的方法,通过这些方法可以实现注记的标注,同时可以设置注记的颜色、大小、字体和位置。
(5)提供各种查询功能
MapObjects为开发人员提供了多种进行空间查询的方法,通过他们可以实现几何参数查询、空间定位查询、空间关系查询和SQL查询等多种形式查询。
(6)提供一定的空间分析功能
MapObjects提供了一定程度上的空间分析功能,通过他提供的空间分析方法可以实现一些简单的空间分析功能,例如缓冲区分析。
(7)提供空间数据库访问功能
MapObjects可以向通过ArcSDE访问存放在Oracle 8i/9i、SQL2000等数据库中的空间数据,并且可以把库中的数据作为一个图层在客户端进行显示。
(8)提供地图打印机输出功能
在进行地图输出之前,通过MapObjects用户首先可以实现地图整饰,对要输出的地图图面进行调整;同时可以对地图进行打印输出,并能把当前视口中的地图按照bmp、jpg等图像格式导出。
(9)实现GPS导航功能
MapObjects向用户提供了用于显示动态数据的动态数据操作对象,这组对象包括CMoTrackingLayer和CMoGeoEvent两个对象。通过他们,再配合几何图形操作对象,用户可以实时显示动态数据,能够实现GPS导航、车辆监控、物流分析等多种应用。