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