SQL Server に格納されたジオデータベースのフィーチャ データセット
フィーチャ データセットは、関連するフィーチャクラスをグループ化して固有の機能に追加できるようにするためのオブジェクトです。フィーチャ データセットを使用して、次のような特性を持つフィーチャクラスをグループ化します。
- 同じ座標系で格納されているフィーチャクラス。
- トポロジに属しているフィーチャクラス。
- リレーションシップ クラスに属しているフィーチャクラス。
- ジオメトリック ネットワーク、ネットワーク データセット、スケマティック データセット、パーセル ファブリック、またはテレイン データセットを構成しているフィーチャクラス。
- 関連するフィーチャリンク アノテーションが設定されているフィーチャクラス。
SQL Server のフィーチャ データセットのさまざまな構成要素の詳細については、次のリンク先をご参照ください。
次のセクションでは、ArcGIS for Desktop のカタログ ツリー、データベース管理システム(DBMS)、および XML ドキュメントにおいてフィーチャ データセットがどのように定義されるのかについて説明します。
ArcGIS for Desktop のフィーチャ データセット
カタログ ツリーではフィーチャ データセットは次のアイコンで示されます。
カタログ ツリーでフィーチャ データセットを展開すると、フィーチャ データセットに含まれているフィーチャクラスとその他のデータ オブジェクトがすべて表示されます。
Microsoft SQL Server に格納されているジオデータベースのフィーチャ データセット名には、データベース名、データセットの所有者の名前、およびフィーチャ データセット自体の名前が含まれます。上の図で確認できます。
Microsoft SQL Server データベースでのフィーチャ データセット
データベースではフィーチャ データセットはフィーチャクラスの論理的なコレクションです。フィーチャクラスは共通の ID によってグループ化されます。この ID は GDB_ITEMS システム テーブルで管理されます。
Water フィーチャ データセットの例では、フィーチャクラス Tanks は、Water テーブルを通して GDB_ITEMRELATIONSHIPS フィーチャ データセットの一部として識別されます。フィーチャ データセットの UUID は ORIGINID であり、フィーチャクラスの UUID は DESTID です。
次の図は、Tanks フィーチャクラス ビジネス テーブルと、Water で SQL Server フィーチャ データセットを追跡するシステム テーブルを示しています。
フィーチャ データセットはオブジェクトの論理的なコレクションであるため、フィーチャ データセット内のフィーチャクラスは、フィーチャクラスに関連付けられたテーブル(SDE_layers、SDE_table_registry、SDE_geometry_columns、SDE_column_registry など)にレコードがあるという点において、スタンドアロンのフィーチャクラスと同様です。フィーチャ データセットに関連付けられたフィーチャクラスはデータベース オブジェクトそのものなので、データベースの同じスキーマ内の別のテーブルやスタンドアロン フィーチャクラスと同じ名前を付けることはできません。
ジオデータベースのフィーチャクラス リレーションシップの図については、「SQL Server に格納されたジオデータベースのフィーチャクラス」をご参照ください。
フィーチャ データセットの一部として使用できるその他のデータベース オブジェクトには、トポロジ、ジオメトリック ネットワーク、ネットワーク データセット、パーセル ファブリック、スケマティック データセット、およびテレイン データセットがあります。これらのオブジェクトは別のシステム テーブルを使用します。これについては、別のトピックで説明します。
XML ドキュメントでのフィーチャ データセット
フィーチャ データセットは、XML ドキュメントの DatasetDefinitions タグの下にまとめられ、esri:DEFeatureDataset タイプの 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>
...その他すべての子データ エレメント...
</Children>
<DatasetType>esriDTFeatureDataset</DatasetType>
<DSID>-1</DSID>
<Versioned>false</Versioned>
<CanVersion>true</CanVersion>
<ConfigurationKeyword></Configuration Keyword>
<Extent xsi:type="esri:EnvelopeN">
<XMin>2210083.8332546502</XMin>
<YMin>386326.52300001681</YMin>
<XMax>2223761.6047394276</XMax>
<YMax>399843.09970059991</YMax>
<SpatialReference xsi:type"esri:ProjectedCoordinateSystem">
<WKT>PROJCS["NAD_1927_StatePlane_Colorado_North_FIPS_0501",
GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",
SPHERIOD["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],
PARAMETER["False_Easting",2000000.0],PARAMETER["False_Northing",0.0],
PARAMETER["Centeral_Meridian",-105.5],PARAMETER["Stnadard_parallel_1",39.71666666666667],
PARAMETER["Standard_Parallel_2",40.78333333333333],
PARAMETER["Latitude_Of_Origin",39.333333333334],
UNIT["Foot_US",0.3048006096012192],AUTHORITY["EPSG",26753]]</WKT>
<XOrigin>-119259500</XOrigin>
<YOrigin>-96173400</YOrigin>
<XYScale>37140179.758043662</XYScale>
<ZOrigin>-100000</ZOrigin>
<ZScale>10000</ZScale>
<MOrigin>-100000</MOrigin>
<MScale>10000</MScale>
<XYTolerance>0.0032808333333333335</XYTolerance>
<ZTolerance>0.001</ZTolerance>
<MTolerance>0.001</MTolerance>
<HighPrecision>true</HighPrecision>
<WKID>26753</WKID>
</SpatialReference>
</Extent>
</DataElement>
</DatasetDefinitions>
フィーチャ データセットでは <Versioned> タグが False に設定されますが、この設定はフィーチャ データセットに含まれるフィーチャクラスのバージョン対応の状態を反映していません。この情報を確認するには、フィーチャ データセットの各フィーチャクラスに対して個別にクエリを実行します。