マップに追加するレイヤーとテーブルは、公開時のフィーチャ サービスに含まれます。フィーチャ サービスの要件を満たすようにデータを構成しておく必要があります。
データの定義要件の一部は、データ ソースがジオデータベースであるかデータベースであるかにかかわらず共通しています。共通の要件については次のセクションで説明します。これ以外の場合、データの定義方法は、そのデータがジオデータベース内にあるかデータベース内にあるかによって変わります。下記の「エンタープライズまたはワークグループ ジオデータベースに固有の要件」および「データベースに固有の要件」セクションで、これらの違いを説明しています。
フィーチャ サービスをオフラインで使用する場合には、別のデータ準備作業が必要となります。これらの要件の詳細については、「オフラインで使用するデータの準備」をご参照ください。
メモ:
ルート イベント、X,Y イベント、パーセル ファブリックなどの仮想レイヤーは、フィーチャ サービスでは読み取り専用です。
ジオデータベースおよびデータベースに共通の要件
以下の要件は、ソース データがデータベース、ワークグループ ジオデータベース、またはエンタープライズ ジオデータベースに格納されている場合に満たされます。
- フィーチャ サービスに公開するデータは、単一のソース ジオデータベースまたはデータベースから取得する必要があります。1 つのマップ内の複数のデータベースからデータを公開することはできますせん。
- データには、有効な空間参照が定義されている必要があります。定義されていない場合は、データを公開する前に ArcMap または ArcGIS Pro で指定します。空間参照が定義されていない場合、データを公開することはできません。
- ビューに基づくレイヤーは、フィーチャ サービスでサポートされていません。ArcGIS クライアントを使用してビューを編集することはできません。フィーチャ サービスは編集を有効化できるので、ビューを含んでいるフィーチャ サービスの公開はサポートされていません。ビューのデータをマップまたはアプリで参照のため使用するには、ビューをマップ サービスで公開します。
- GIS Server サイトに登録したデータベース接続ファイルに格納されているデータベース アカウントには、データへのアクセス権限が必要です。フィーチャ サービスが読み取り専用のままである場合、アカウントがデータのすべてのアクセス権限を持っている必要はありません。編集にフィーチャ サービスを使用する予定がある場合、データに対する編集権限を付与する必要があります。サイトに登録したデータベース接続でオペレーティング システム認証を使用する場合は、ArcGIS Server アカウントにこれらの権限を与える必要があります。
- Esri では、編集可能なフィーチャ サービスとして公開するマップには、編集するデータのみを含めることをお勧めしています。ベースマップ レイヤーなどの編集する必要のないデータは、他のサービスで公開します。操作サービスとベースマップ サービスのプランニングの詳細は、「マップ サービスの計画」をご参照ください。他に ArcGIS Online のベースマップを使用する方法があります。オンライン マップおよびサービスをオーバーレイするためのマップの設計に関する詳細は、「ArcGIS Online、Google マップ、または Bing Maps をオーバーレイするためのマップの設計」をご参照ください。
- ユーザーがフィーチャ サービスを ArcMap または ArcGIS Pro に追加してそれを編集する予定がある場合、フィーチャ サービスとして公開するマップ内の同じフィーチャクラスに対して複数のレイヤーを定義しないでください。たとえば、異なるシンボルまたはフィルター設定が適用された同一のフィーチャクラスを提供する場合は、別々のフィーチャ サービスを作成します。同じフィーチャクラスで設定が異なるリプレゼンテーションを、同じフィーチャ サービスに含めないでください。
- データに z 値が含まれ、エディターがフィーチャ ジオメトリを編集する際、z 値の追加をサポートしていないクライアントでフィーチャ サービスを編集する必要がある場合 (Map Viewer の ArcGIS Online や ArcGIS Enterprise ポータルなど) は、フィーチャ サービスにデフォルトの z 値を挿入するように設定します。
- データに m 値が含まれ、エディターがフィーチャ ジオメトリを編集する際、m 値の追加をサポートしていないクライアントでフィーチャ サービスを編集する必要がある場合 (Map Viewer の ArcGIS Online や ArcGIS Enterprise ポータルなど) は、フィーチャ サービスの m 値に NaN を挿入するように設定します。
ヒント:
ArcMap で編集するフィーチャ サービス データのローカル コピーを作成する場合でも、ArcGIS Desktop クライアントは m および z 値が存在するフィーチャに対するすべての編集操作 (ジオメトリの更新を含む、挿入、削除、更新) をサポートします。編集者がこれらのクライアントでフィーチャ サービスのみを編集する場合、デフォルトの Z 値および NaN M 値を構成する必要はありません。
エンタープライズまたはワークグループ ジオデータベースに固有の要件
エンタープライズまたはワークグループ ジオデータベースに格納されているデータに固有のフィーチャ サービス要件を次に示します。データは、このセクションで説明した要件以外に、前のセクションで説明した要件も満たす必要があります。
- ジオデータベースに登録されていないテーブルまたはフィーチャクラスを公開できますが、ビューの公開はサポートされていません。
- フィーチャ サービスの編集を許可し、フィーチャ サービスに、ジオメトリック ネットワークに参加しているフィーチャクラスが含まれている場合、フィーチャクラス データは、クライアント アプリケーションの編集に使用されているのと同じ投影法および座標系を使用している必要があります。たとえば、Map Viewer にフィーチャ サービスを追加して編集する予定の場合、データは、WGS 1984 Web メルカトル (球体補正) で保存されている必要があります。公開する前に ArcMap または ArcGIS Pro マップで投影法を変更するだけでは不十分です。データが編集クライアントと同じ投影法および座標参照系を使用している必要があります。
- フィーチャ サービスでは、バージョン対応 (従来型およびブランチ) および非バージョン対応のジオデータベースのデータをサポートしています。Esri では、非バージョン対応のデータのほうが編集に適しているため、フィーチャ サービスには非バージョン対応のデータを使用することをお勧めしています。複雑なデータ タイプ (ネットワーク エッジなど) がありますが、これらをフィーチャ サービスを通じて編集するには、バージョン対応である必要があります。
- ブランチ バージョンのデータを編集するには、ArcGIS Pro で登録済みのデータを参照するフィーチャ レイヤーを公開する必要があります。詳細は、ArcGIS Pro ヘルプの「ブランチ バージョンのデータの共有」をご参照ください。
- ArcMap ドキュメントからフィーチャ アクセスを有効にしたマップ サービスを公開したり、マップに次のレイヤーが存在する場合、ArcGIS Pro の登録済みデータを参照するフィーチャ レイヤーを公開したりすることはできません。
- ディメンション
- グループ レイヤー
- ビューに基づくレイヤーとテーブル
- 仮想列 (句、または結合) を含むクエリ レイヤー
- ラスター
- テレイン
- ArcGIS Pro で登録済みのデータを参照するフィーチャ レイヤーを公開する際に、アノテーション レイヤーを含めることができます。ArcMap マップ ドキュメントからフィーチャ アクセスが有効になっているマップ サービスを公開する際に、アノテーション レイヤーを含めることはできません。
- フィーチャ サービスを通じてアクセスする場合、パーセル ファブリックは常に読み取り専用になります。
- ジオメトリック ネットワーク、ネットワーク データセットといった複雑なタイプの一部であるレイヤーは公開できますが、タイプ自体はフィーチャ サービスによって返されません。たとえば、ネットワーク データセットの一部であるレイヤーを検索することはできますが、そのネットワークの検索はできません。
- 10.8.1 以降、ブランチ バージョン対応フィーチャクラスを含むトポロジをフィーチャ サービスに含めることができます。フィーチャ サービスを通じて編集できるのは、ブランチ バージョン対応データのみであるため、フィーチャ サービスにトポロジを含めることで、編集後のトポロジを整合チェックし、編集で発生したトポロジ エラーを修正できます。詳細は、ArcGIS Pro ヘルプの「トポロジの共有」をご参照ください。
- ジオデータベース リレーションシップ クラスを介してリレーションシップが定義されている場合に限り、フィーチャ サービスを通して、関連付けられたデータにクエリを実行できます。公開されたマップ ドキュメントに、ジオデータベース リレーションシップ クラスを介して関連付けられたレイヤーとテーブルがある場合、フィーチャ サービスによってレイヤーに対してクエリを行うことが可能で、実行すると関連付けられたテーブルからオブジェクトが返されます。関連付けられたオブジェクトを返すクエリを実行できるようにするには、リレーションシップ クラスに関連するテーブルとレイヤーを公開済みのマップ ドキュメントに含める必要があります。関連元/関連先のレイヤーまたはテーブルのいずれかがマップ ドキュメントに含まれていない場合、フィーチャ サービスはそのリレーションシップを無視します。
メモ:
元になるリレーションシップ クラスでは、マップ ドキュメントにリレーションシップ クラス テーブルを含めてください。
- ユーティリティ ネットワークを維持するには、ArcGIS Pro でフィーチャ レイヤーとして公開する必要があります。詳細については、ArcGIS Pro ヘルプの「ユーティリティ ネットワークを使用したサービスの公開と使用」をご参照ください。
オフラインで使用するためのジオデータベース データの準備
オフラインでマップを操作するために、マップ内で使用するフィーチャ サービスの同期機能を有効化します。詳細については、「オフラインで使用するデータの準備」をご参照ください。
メモ:
ArcGIS クライアントと開発者向け SDK では、ArcGIS 10.2.1 で導入された同期機能のサポートをフィーチャ サービスに段階的に追加します。オフラインでのマップの操作と変更を同期する同期機能を最初にサポートするクライアントは、ArcGIS Collector と ArcGIS Runtime SDK です。ArcGIS 10.2.1 より前のバージョンで公開されたフィーチャ サービスでは、同期機能を有効にすることはできません。
その他のクライアントは、ArcGIS REST API を介して同期機能にアクセスすることができます。
データベースに固有の要件
以下では、データベースに格納されているデータに固有のフィーチャ サービス データの要件について説明しています。ジオデータベースとデータベースに共通する要件に加えて、以下の要件を満たす必要があります。
- データベース データを ArcMap または ArcGIS Pro のマップに追加すると、クエリ レイヤーが作成されます。クエリ レイヤー定義を変更する場合、クエリにテーブルが 1 つしか含まれていないこと、重複した列が含まれていないこと、結合、where 句、仮想列またはマージされた列が含まれていないことを確認してください。
- テーブルで定義されたクエリ レイヤーは、公開するデータを決定します。たとえば、ArcGIS がサポートしていないデータ タイプを含んでいるテーブルは公開できますが、サポートしていないデータ タイプは、ArcGIS またはフィーチャ サービスを使用してアクセスできません。データベース テーブルをマップに追加するときにクエリ レイヤーを最初に定義する方法の詳細については、「ArcGIS でのデータベース データの表示」をご参照ください。
- テーブルには、データベースによって管理された一意の整数列が含まれている必要があります。ArcGIS を使用してテーブルを作成し、データをデータベースに読み込む場合、データベースによって管理される一意の整数である Object ID が自動的に追加されます。ArcGIS 以外でデータを作成する場合、データベースによって管理される NULL でない一意の整数列がテーブルに含まれるようにしてください。データベースによって管理される一意の整数列が存在しない場合、フィーチャ サービスを公開することはできません。[増加 ID フィールドの追加 (Add Incrementing ID Field)] ジオプロセシング ツールを使用して、ツールの使用法セクションに表示されているデータベース内のテーブルに、データベースで管理される整数列を追加できます。その他のすべてのデータベースについては、データベース管理システム ツールまたは SQL を使用して ID 列を作成します。
- フィーチャ サービスの公開元となるサポート対象データベース プラットフォームは、Dameng、Db2 (Linux、UNIX、または Windows 上)、IBM Informix、Oracle、PostgreSQL、SAP HANA、SQL Server、Teradata Data Warehouse Appliance、およびサポート対象のクラウドベースのデータベース サービスです。