MapObjects组件可以操作的地理数据有:ArcView的ShapeFiles; ArcSDE的地图数据库;ArcInfo的Coverage; VPF地图矢量数据库; AutoDesk公司 的CAD软件数据 。绑定在上述矢量地理数据上的属性数据可以直接操作。其它关系型数据库不能直接操作,必须由编程语言实现访问,如Visual Basic 6. 0可以利用Jet Engine操作关系型数据库。
除上述矢量地理数据外,MapObjects还可读取栅格结构的影像数据。
MapObjects对上述数据的操作能力如下:
1 ArcView的ShapeFiles
ArcView是ESRI的一个地理信息系统软件,记录的地理数据文件称为ShapeFiles。MapObjects实现了对ShapeFiles的三种操作:
(1)创建新的ShapeFiles, 编辑现有的ShapeFiles。
(2)读写ShapeFiles的记录单元,包括属性和地图图元。
(3)添加、删除记录,包括属性和地图图元,但不能为属性表添加新字段,也不能删除属性表的已有字段。
2 ArcSDE的地图数据库
(1)可以读写独立的数据记录单元,包括属性和地图图元,
(2)可添加记录、删除记录,但不能创建新的地图图层,不能添加、删除属性字段,不能修改属性字段的定义。
3 ArcInfo的Coverage
地图要素几何属性均为只读。
4 CAD格式及VFP数据库
CAD实体与VFP数据库均为只读。
5影像
影像数据为只读,通常用来作为其它矢量图层的背景显示。
2.1.2 组件库
MapObjects2.1组件库共含有46个对象,分为五组:地图显示;数据访问;几何图元;地址匹配;地图投影。库中对象及其调用关系用一张图表示,保存在附带的光盘中,文件名是“mo21组件对象模型.pdf“,图中描述了每个对象的接口及对象之间的逻辑关系。图 2.1.1 及图2.1.2是用Acrobat Reader浏览这个图时剪切下来的二个窗口。图2.1.2是这个图的图例:空心箭头表示对象的事件响应函数;实心箭头表示对象的接口函数;圆点表示对象的属性,为空心时通过引用访问,为实心时通过传值访问。
图 2.1.1 是MapLayer (图层) 对象的编程接口,从图中可看出,这个对象是可实例化的,有22个属性,有6个接口函数。
也可用Visual Basic的对象浏览器(Objects Browser) 查阅MapObjects组件对象的编程接口。
图 2.1.1 MapObjects组件对象模型图(局部) |
图 2.1.2 MapObjects组件对象模型图图例 |
习题
1 Mapobjects可以操作那些软件的数据?其中对那种软件的数据具有读写和编辑功能?
2 浏览 MapObjects 组件对象模型图,结合 VB 使用 VB 的对象浏览器,熟悉 MapLayer 对象的属性、方法及事件。