Informix 中地理数据库 (geodatabase) 内的要素类
要素类是具有相同几何类型(点、线、面、多点、注记、尺寸或多面体)的地理要素集合。例如,可将表示某条铁路沿线所有车站的点存储于一个要素类中。而在另一个要素类中,可存储表示所有铁轨的线。
本主题介绍要素类在目录窗口、数据库管理系统 (DBMS) 和 XML 文档中的显示方式。
ArcGIS for Desktop 中的要素类
在 ArcGIS for Desktop 中可创建七种要素类:点、多点、线、面、注记、尺寸和多面体。
根据图标可在目录树中看出要素类的类型。下表显示了每种要素类的图标。
要素类图标 |
要素类类型 |
---|---|
点或多点 | |
线 | |
面 | |
注记 | |
尺寸 | |
多面体 |
在 IBM Informix 中,目录树中显示的要素类名称依次为要素类所在数据库的名称、冒号 (:)、拥有该要素类的用户名称以及要素类本身的名称。
例如,名为 geodata 的地理数据库中为用户 RJP 所有的要素类 parcels ,在目录树中以 geodata:RJP.parcels 的形式列出。
有关不同类型要素类的说明,请参见要素类基础知识。
IBM Informix 数据库中的要素类
存储在 Informix 数据库内的地理数据库中的要素类包含用于存储几何数据的 ST_Geometry 列。这意味着 ST_Geometry 列将添加到要素类的业务表中。
ST_Geometry 为非实例化抽象超类,其子类可实例化。有关详细信息,请参见什么是 ST_Geometry 存储类型?。
使用 ST_Geometry 存储通过 ArcGIS 创建要素类时,将在所有者的方案中创建带 ST_Geometry 列的业务表。此外,记录还将添加到 sde 用户方案中的 layers、table_registry、sde_geometry_columns、column_registry、sde_spatial_references(如果定义了空间参考)和 gdb_items 表中以追踪要素类信息。sde 用户方案中的 gdb_itemtypes 表定义数据类型,此例中为要素类。
所有要素类都有一个存储属性信息、对象 ID 和 Shape 字段的基表(又称业务表)。对象 ID 和 Shape 字段可以有不同的名称,但它们必须位于要素类的基表中。
加载了数据后,数据库中将出现多个 i 表和存储过程。这些存储过程和 i 表用于为要素类生成要素 ID。i 表的名称中包含一个数字。该数字对应 table_registry 表中要素类的 registration_id。强烈建议不要对这些表和存储过程进行编辑,而且也不支持这种编辑操作。
View a diagram of a feature class in Informix.
需要使用 Adobe Acrobat Reader 才能打开此文件。
虚线表示各列之间的隐含关系;实线表示各列之间明确定义的关系。
XML 文档中存储的要素类
要素类在 DataElement 元素中进行定义。要素类的 DataElement 标签设置为 esri:DEFeatureClass 类型。要素类 DataElement 中还有定义要素类的其他元素,例如 Field、Domain、ConfigurationKeyword 和 SpatialReference 元素。
以下是 Parcels 要素类的 XML 文档的一小部分内容:
<DataElement xsi:type="esri:DEFeatureClass">
<CatalogPath>/V=sde.DEFAULT/FC=geodata:rjp.parcels</CatalogPath>
<Name>geodata:rjp.parcels</Name>
<DatasetType>esriDTFeatureClass</DatasetType>
<DSID>11</DSID>
<Versioned>false</Versioned>
<CanVersion>true</CanVersion>
<HasOID>true</HasOID>
<OIDFieldName>objectid</OIDFieldName>
<Fields xsi:type="esri:Fields">
<FieldArray xsi:type="esri:ArrayOfField">
<Field xsi:type="esri:Field">
<Name>sde92:world.lakes.objectid</Name>
<Type>esriFieldTypeOID</Type>
<IsNullable>false</IsNullable>
<Length>4</Length>
<Precision>10</Precision>
<Scale>0</Scale>
<Required>true</Required>
<Editable>false</Editable>
<AliasName>OBJECTID</AliasName>
<ModelName>OBJECTID</ModelName>
</Field>
用于定义要素类的所有其他元素
</DataElement>