1.4 面向对象的数据模型中的要素
ArcInfo 8 与以前版本的区别就是它在地理数据建模中使用了面向对象(object-oriented)的方法。开发者可以通过面向对象软件类的框架,即Geodatabase
数据访问对象(geodatabase data access objects),与数据对象进行互操作。 面向对象的三个关键特征为:多态性、封装性和继承性。
- 多态性表明一个对象类的行为(或方法)可以与对象的变更相适应。不管要素存储于Geodatabase、Coverage 还是Shapefile
中,要素的核心操作,如绘制、增加或删除等,都是一样的。
- . 封装性意味着对象只能通过预先定义好的一系列软件方法访问, 同时这些方法被组织到软件接口中。Geodatabase 数据访问对象隐藏了数据对象的内部细节并提供了标准的编程接口。
- . 继承性表明一个对象类可以被定义成包含其它对象类的行为,但对象类也可以具有其它行为。你可以在ArcInfo 中创建定制的要素类型并继承标准要素的行为。比如,一个变压器对象可以从一个标准的ArcInfo
要素类型(比如一个简单的节点要素)中被扩展或分成子类。
1.4.1 数据模型标准化 Geodatabase
数据访问对象包含提供对多个数据源的地理数据的统一访问的软件技术,数据源可以是Geodatabase,Coverage 和Shapefile。
ArcInfo 的开发者通过一系列的数据项, 如数据集、表、要素集、列、对象和要素与地理数据进行互操作。
因为数据模型的标准化,ArcInfo 用户可以用相同的方法对Geodatabase,Coverage
和Shapefile 进行操作。数据模型标准化通过增加数据的共性来使用户对数据的操作简单化。 1.4.2
可扩展要素 Geodatabase 的一个重要特性便是你可以有选择地创建定制的要素,这样的要素可以描述为变压器和道路,而不单单是点和线。
这一点对于ArcInfo 的用户尤为重要,这意味着: 你不仅仅是对变压器或道路这样的要素进行普通的地理信息显示、查询或者编辑了,
你可以对它们赋予行为!比如,可以规定变压器在被绘制的时候,必须连接到电杆上的规则。再比如, 编辑道路要素的时候,规定所有道路必须都是相互连通的。
数据建模者可以在标准的要素类型基础上配置一个更加富有表现力的数据模型。开发者可以使用面向对象技术扩展标准的要素类型和创建定制要素,以满足高级的专业应用定制。
开发者在此基础上创建的定制要素与ArcInfo 中提供的原有标准要素类具有同样的特性和功能。这意味着:可以通过程序定制来开发无限复杂要素行为。
1.4.3 要素和面向对象 Geodatabase
中的要素被配置成为一系列的相关表。这些相关表的一部分是用于描述要素的收集,另一部分描述要素之间的关系,验证规则和属性域。 ArcInfo
管理这些表的结构和完整性,并通过地理数据访问模型提出一个面向对象的地理数据模型。 用户或者开发可以不用知道或者不用关心Geodatabase
的内部结构。使用ArcInfo 中的ArcCatalog 应用程序,用户边可以创建、修改和精炼Geodatabase 数据的结构。
如果你想知道Geodatabase 的物理数据结构,可以通过查看数据的对象图获取,这让用户便可以创建更好的地理数据模型。
|