PostgreSQL 中地理数据库 (geodatabase) 内的要素数据集
要素数据集是用于将相关要素类分组在一起以使其能够参与特定功能的对象。您将使用要素数据集对具有以下特征的要素类进行分组:
- 要素类使用相同的坐标系进行存储。
- 要素类参与拓扑。
- 要素类是关系类的组成部分。
- 要素类是几何网络、网络数据集、逻辑示意图数据集、地籍结构或 Terrain 数据集的组成部分。
可通过以下链接来了解 PostgreSQL 中要素数据集的不同组件:
下面将分别介绍要素数据集在目录窗口、数据库管理系统 (DBMS) 以及 XML 文档中的显示方式。
ArcGIS Desktop 中的要素数据集
在目录树中,要素数据集使用以下图标来表示:
在目录树中展开要素数据集后,可以看到其中的所有要素类和其他数据对象。
PostgreSQL 中地理数据库内的要素数据集的名称包含数据库名称、数据集所有者的名称以及要素数据集本身的名称。这可在上面的图形中看到。
PostgreSQL 数据库中的要素数据集
在数据库中,要素数据集是要素类的虚拟集合。它们按照在 gdb_items 系统表中保存的公共 ID 分组在一起。
对于 water 要素数据集示例,通过 gdb_itemrelationships 表将要素类 tanks 标识为 water 要素数据集的一部分。要素数据集的 uuid 是 originid,而要素类的 uuid 是 destid。
下图显示的是 tanks 要素类业务表以及用于追踪 PostgreSQL 中的 water 要素数据集的系统表:
虚线表示各列之间的隐含关系;实线表示各列之间明确定义的关系。
因为要素数据集是对象的虚拟集合,所以要素数据集中的要素类就像独立的要素类,它们在与要素类相关联的 sde_layers、sde_table_registry、sde_geometry_columns 和 sde_column_registry 等表中均有自己的记录。由于与要素数据集关联的要素类本身就是数据库对象,所以要素类的名称不能与同一数据库方案中的其他表或独立要素类相同。
有关地理数据库中要素类关系的示意图,请参阅 PostgreSQL 地理数据库 (geodatabase) 中的要素类。
拓扑、几何网络、网络数据集、宗地结构、逻辑示意图数据集和 terrain 数据集是可构成要素数据集的附加数据库对象。这些对象使用附加系统表,这些表将在单独的主题中进行介绍。
XML 工作空间文档中的要素数据集
在 XML 文档中,要素数据集按 DatasetDefinitions 标记进行分组,并以 FeatureDataset 类型的 DataElement 标记来分隔。water 数据集的 XML 文档条目将如下所示:
<DatasetDefinitions xsi: type="esri:ArrayOfDataElement"> <DataElement xsi:type="esri:DEFeatureDataset"> <CatalogPath>/V=sde.DEFAULT/FD=spdata.gis.water</CatalogPath> <Name>spdata.gis.water</Name> <Children xsi:type="esri:ArrayOfDataElement"> <DataElement xsi:type="esri:DEFeatureClass"> <CatalogPath>/V=spdata.gis.water/RC=spdata.gis.Anno_19_72</CatalogPath> <Name>spdata.gis.Anno_19_72</Name> <DatasetType>esriDTFeatureClass</DatasetType> <DSID>1</DSID> <Versioned>false</Versioned> <CanVersion>true</CanVersion> <HasOID>false</HasOID> <OIDFieldName/> <Fields xsi:type="esri:Fields"> <FieldArray xsi:type="esri:ArrayOfField"> </Fields>
所有其他数据元素
</DatasetDefinitions>
Though the <Versioned> tag is set to false for the feature dataset, this does not reflect the versioned state of the feature classes in the feature dataset. To find this information, query each individual feature class.