基于对象的数据模型
基于对象的数据模型在两个重要方面不同于地理关系数据模型:
n基于对象的数据模型把空间数据和属性数据存储在一个系统中;
n基于对象的数据模型允许一个空间要素(对象)与一系列属性和方法相联系。
图3.10
基于对象数据模型中,每条记录存储一个土地利用多边形,Shape字段存储土地利用多边形的空间数据,其它字段存储属性数据,如土地利用_ID和类型。
类和类之间的关系
n类是一系列具有相似属性的对象。
n类之间的关系包含:联合(Association)、聚合(aggregation)、合成(composition)、类继承(Type inheritance)和实例化(Instantiation)。
接 口
接口代表类或者对象的一系列外部可视化操作。允许用户使用对象的属性和方法。
图3.11
一个Feature对象可以执行IFeature接口。IFeature可调用属性Extent和Shape以及方法Delete。面向对象技术用不同符号来表示接口、属性和方法。该例子中两种属性的符号不同,因为Extent是只读属性而Shape为可读写属性。
图3.12
显示了如何用两个接口来获得一个要素图层的区域范围,它是一种Geodataset类型。首先通过IGeodataset这一 Geodataset对象所支持的接口来访问 Extent属性。属性 Extent返回对象 Envelope, 用于执行 IEnvelope接口。然后,可以用接口的属性XMin、XMax、YMin和YMax来获得区域范围。
Geodatabase
Geodatabase是ArcObjects的一部分,包含许多对象、属性和方法,为ArcGIS Desktop提供基础。
Geodatabase数据结构
Geodatabase将矢量数据集组织成要素类和要素数据集
n要素类存储具有相同几何类型的空间要素;
n要素数据集则存储具有相同坐标系和区域范围的要素类。
图3.13
在Geodatabase中,要素类可以独立存在,也可以是一个要素数据集的组成部分。
拓扑规则
nGeodatabase将拓扑定义为关系规则,让用户选择规则,并在要素数据集中执行。
nGeodatabase提供了31种拓扑规则。
表3.1 Geodatabase中的拓扑规则
要素类 | 规 则 |
多边形 | 不重叠, 没有间隙, 不与其它图层重叠, 必须被另一要素类覆盖, 必须相互覆盖, 必须被覆盖, 边界必须被覆盖, 区域边界必须被另一边界覆盖, 包含点,包含一个点。 |
线 | 不重叠, 不相交, 不交叉,没有悬挂弧段, 没有伪结点, 不相交或内部接触,不与其它图层相交或内部接触,不与其它图层重叠, 必须被另一要素类覆盖, 必须被另一图层的边界覆盖,必须在内部,终节点必须被覆盖, 不能自重叠, 不能自相交, 必须是单一部分。 |
点 | 必须与其它图层一致,不分离,必须被另一图层的边界覆盖,必须位于多边形内部, 必须被另一图层的终节点覆盖, 必须被线覆盖。 |
Geodatabase数据模型的优点
nGeodatabase的等级结构对于数据组织和管理十分有利。
nGeodatabase是 ArcObjects的一部分,它具有面向对象技术的优势。
nGeodatabase提供即时拓扑,适用于要素类内的要素或者两个或更多的参与要素类。
n在ArcObjects中有许多的对象、属性和方法可供GIS 用户定制应用。
nArcObjects提供了一个可以按照各行各业的需求定制对象的模型。