ArcGIS のすべてのレイヤー (クエリ レイヤー、ジオデータベースのレイヤー、データベースのレイヤーも含む) には、一意識別子が必要です。
ArcGIS AllSource でフィールドを一意識別子として使用するには、そのフィールドに NULL が含まれず、値が一意であり、かつ以下のデータ タイプのいずれかである必要があります。
- Integer (32 および 64 ビットの正の値のみ)
- String
- GUID
- Date
- Date Only
- Time Only
フィールドの値は常に一意である必要があります。NULL は使用できません。 必要に応じてユーザーがこのフィールドの値を管理します。
注意:
ArcGIS が NULL 値を検出すると、エラーが表示されます。ただし、クエリ レイヤーまたはデータベース テーブルで使用される一意識別子フィールドで一意の値を使用することは、ArcGIS では強制されません。 ArcGIS に一意でない値が出現しているのにエラーが返されない場合でも、選択セットまたは ArcGIS 内のその他のクエリに不整合な結果が存在していることがあります。
単一のエンタープライズ ジオデータベース テーブルまたはフィーチャクラスでクエリ レイヤーを定義する場合、一意識別子フィールドとして Object ID フィールドを使用します。
リレーショナル データベースおよびクラウド データ ウェアハウスでは、テーブルに一意識別子フィールドを含めるのは、標準的な使用方法です。そのため、使用しているリレーショナル データベースまたはクラウド データ ウェアハウスには、一意識別子として使用できるフィールドがすでに含まれている可能性があります。 フィーチャクラスまたはテーブルに NULL でない一意の 32 ビット整数が含まれている場合、ArcGIS AllSource が適切なフィールドを検出し、それを一意識別子として設定します。 多くの場合、この値を一意識別子フィールドとして十分使用できますが、代わりに 1 つ以上の別の適切なフィールドを [一意識別子フィールド] リストから選択することもできます。 一意識別子を選択するには、クエリ レイヤーを変更します。
ドキュメント データベース内のテーブルにアクセスするクエリ レイヤーを追加するときに、ArcGIS AllSource はシステムが管理する文字列フィールド (_id) を Object ID として自動的に使用します。
登録済みデータ ストア、クラウド データ ウェアハウス、またはエンタープライズ ジオデータベースを参照するフィーチャ レイヤー (フィーチャ サービス) 内のクエリ レイヤーを公開するには、ID は単一の NULL でない一意の自動的に増加する整数フィールドである必要があります。 サポートされているデータベースのサブセットでは、[増加 ID フィールドの追加 (Add Incrementing ID Field)] ジオプロセシング ツールを実行して、サポートされている ID フィールドを追加することができます。
現在のところ、ドキュメント データベースからクエリ レイヤーを公開することはできません。