SQL Server に格納されたジオデータベースのフィーチャ データセット
フィーチャ データセットは、関連するフィーチャクラスをグループ化して固有の機能に追加できるようにするためのオブジェクトです。フィーチャ データセットを使用して、次のような特性を持つフィーチャクラスをグループ化します。
- 同じ座標系で格納されているフィーチャクラス。
- トポロジに属しているフィーチャクラス。
- リレーションシップ クラスを構成しているフィーチャクラス。
- ジオメトリック ネットワーク、ネットワーク データセット、スケマティック データセット、Cadastral Fabric、またはテレイン データセットを構成しているフィーチャクラス。
SQL Server のフィーチャ データセットのさまざまな構成要素の詳細については、次のリンク先をご参照ください。
ここでは、カタログ ウィンドウ、データベース管理システム(DBMS)、および XML ドキュメントにおいてフィーチャ データセットがどのように定義されるのかについて説明します。
ArcGIS Desktop のフィーチャ データセット
カタログ ツリーではフィーチャ データセットは次のアイコンで示されます。
カタログ ツリーでフィーチャ データセットを展開すると、フィーチャ データセットに含まれているフィーチャクラスとその他のデータ オブジェクトがすべて表示されます。
Microsoft SQL Server に格納されているジオデータベースのフィーチャ データセット名には、データベース名、データセットの所有者の名前、およびフィーチャ データセット自体の名前が含まれます。上のグラフィックのような記載になります。
Microsoft SQL Server データベースでのフィーチャ データセット
データベースではフィーチャ データセットはフィーチャクラスの論理的なコレクションです。フィーチャクラスは共通の ID によってグループ化されます。この ID は GDB_ITEMS システム テーブルで管理されます。
Water フィーチャ データセットの例では、フィーチャクラス Tanks は、GDB_ITEMRELATIONSHIPS テーブルを通して Water フィーチャ データセットの一部として識別されます。フィーチャ データセットの UUID は ORIGINID であり、フィーチャクラスの UUID は DESTID です。
次の図は、Tanks フィーチャクラス ビジネス テーブルと、SQL Server で Water フィーチャ データセットを追跡するシステム テーブルを示しています。
フィーチャ データセットはオブジェクトの論理的なコレクションであるため、フィーチャ データセット内のフィーチャクラスは、フィーチャクラスに関連付けられたテーブル(SDE_layers、SDE_table_registry、sde_geometry_columns、SDE_column_registry など)にレコードがあるという点において、スタンドアロンのフィーチャクラスと同様です。フィーチャ データセットに関連付けられたフィーチャクラスはデータベース オブジェクトそのものなので、データベースの同じスキーマ内の別のテーブルやスタンドアロン フィーチャクラスと同じ名前を付けることはできません。
ジオデータベースのフィーチャクラス リレーションシップの図については、「」、「」、「」、「」、「SQL Server に格納されたジオデータベースのフィーチャクラス」をご参照ください。
フィーチャ データセットの一部として使用できるその他のデータベース オブジェクトには、トポロジ、ジオメトリック ネットワーク、ネットワーク データセット、パーセル ファブリック、スケマティック データセット、およびテレイン データセットがあります。これらのオブジェクトは別のシステム テーブルを使用します。これについては、別のトピックで説明します。
XML ドキュメントのフィーチャ データセット
フィーチャ データセットは、XML ドキュメントの DatasetDefinitions タグの下にまとめられ、FeatureDataset タイプの DataElement タグによって分割されます。Water データセットの XML ドキュメントのエントリは次のようになります。
<DatasetDefinitions xsi: type="esri:ArrayOfDataElement"> <DataElement xsi:type="esri:DEFeatureDataset"> <CatalogPath>/V=dbo.DEFAULT/FD=mydgdb.MAP.Water</CatalogPath> <Name>mydgdb.MAP.Water</Name> <Children xsi:type="esri:ArrayOfDataElement"> <DataElement xsi:type="esri:DEFeatureClass"> <CatalogPath>/V=mydgdb.MAP.Water/RC=mydgdb.MAP.Anno_19_72</CatalogPath> <Name>mydgdb.MAP.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.