OGC (Open Geospatial Consortium) の WFS (Web Feature Server) 仕様に準拠するサービスを公開することができます。 これは、Web 経由でジオグラフィック フィーチャを提供するためのオープン規格です。
いつ WFS サービスを使用するか
WFS サービスを通じてデータを提供すると、Web サービスを操作できるアプリケーションは、マップまたはエンタープライズ ジオデータベース内のジオグラフィック フィーチャにアクセスすることができます。 マップのイメージを返す OGC WMS (Web Map Service) とは異なり、WFS サービスはジオメトリや属性を持つフィーチャを返すため、クライアントは地理空間解析でこのサービスを使用できます。 また、WFS サービスは、ユーザーがデータの空間解析や属性検索を実行するためのフィルターもサポートします。
注意:
- 作成した WFS サービスは、WFS 1.1.0 および 2.0.0 仕様に準拠します。 読み取り専用ベースで WFS 1.0.0 仕様もサポートします。
- WFS サービスは GML (Geography Markup Language) を使ってフィーチャ データをエンコードします。 GML は、XML を使用して地理情報を表現できます。 ArcGIS Server WFS サービスで使用される GML は、シンプル フィーチャ プロファイルを使用します。
WFS サービスの作成
WFS サービスは、ArcGIS Pro のマップから作成できます。
注意:
マップまたはエンタープライズ ジオデータベース内のフィーチャクラスが EPSG (European Petroleum Survey Group) コードで表せない空間参照を使用する場合は、そのフィーチャクラスの空間参照として WGS 84 が使用されます。 不明な空間参照系を使用するマップまたはエンタープライズ ジオデータベース内のフィーチャクラスは、WFS サービスによって無視されます。
マップからの WFS サービスの作成
Web フィーチャ レイヤーを ArcGIS Server で公開することで、WFS サービスを作成できます。 マップ ドキュメントをサービスとして公開する際には、[WFS] ケーパビリティをオンにします。 これにより、WFS クライアントがサービスにアクセスするために使用できる URL が作成されます。
マップは、WFS サービスで提供されるレイヤーの仕様にすぎません。 サービスの目的はデータ内のフィーチャを提供することなので、シンボル表示やフィールド エイリアスなど情報は、WFS サービスに渡されません。 OGC 仕様を通じてマップのビジュアル プロパティを提供するには、WMS サービスを使用します。
マップから WFS サービスを公開する際には、次の点に注意してください。
WFS サービスで編集用のトランザクション (WFS-T) をサポートするには、マップ内のすべてのレイヤーのソース データが同じエンタープライズ ジオデータベースに格納されていて、サーバーにそのデータが登録されている必要があります。 マップには、複数のソースのレイヤーを追加することはできません。
レイヤーの名前は、WFS サービスから返されるタイプ名になります。
エンタープライズ ジオデータベースから参照によってデータを公開するには、データがジオデータベースに登録されている必要があります。
WFS はフィーチャとテーブルを操作するだけなので、マップ内のラスター レイヤーはサービスから除外されます。
WFS サービスでは、シンプル フィーチャだけがサポートされ、リレーションシップ クラス、結合、ネットワーク、ルールなどのジオデータベース機能はサポートされません。
ArcGIS Pro からの WFS サービスの作成
このワークフローでは、WFS 機能が有効になっている Web フィーチャ レイヤーを共有する方法について説明します。
- Web レイヤーとしてマップ内で使用できるすべてのレイヤーを共有するには、[共有] タブの [共有] グループで、[Web レイヤー] ドロップダウン矢印をクリックした後、[Web レイヤーの公開] をクリックします。
[Web レイヤーとして共有] ウィンドウが表示されます。
- Web レイヤーの名前を入力します。
- [概要] フィールドと [タグ] フィールドに値を入力します。
- アクティブなポータルが ArcGIS Enterprise ポータルであり、エンタープライズ データベースのデータセットを参照する場合は、[登録済みデータを参照] で [マップ イメージ] が選択されていることを確認します。 [すべてのデータをコピー] を選択した場合は、すべてのレイヤーがホスティング サーバーの管理されたデータベースにコピーされます。
- [追加レイヤー] の [WFS] チェックボックスをオンにして WFS サービスを作成します。
- 使用可能な WFS プロパティを変更または設定するには、[Web レイヤー プロパティの構成] ボタン をクリックします。
- WFS サービスは一般ユーザーと共有する必要があるので、[共有範囲] で、[すべての人 (パブリック)] チェックボックスをオンにして共有します。
- [コンテンツ] タブをクリックして、新しい Web レイヤー、またはレイヤーとすべての関連コンポーネントを表示します。
- [共有の完了] で [分析] をクリックして問題がないか確認します。
- エラーを解決し、必要に応じて警告を修正したら、[公開] をクリックして Web レイヤーを共有します。
WFS サービスのプロパティの構成
WFS サービスのプロパティは、そのケーパビリティ ファイルに反映されます。 システムによって生成されたケーパビリティ ファイルで WFS サービスを公開する際には (デフォルト)、WFS サービスのプロパティを設定することをお勧めします。 設定可能な WFS サービスの各プロパティの詳細については、「利用可能な WFS サービス プロパティ」をご参照ください。
外部ケーパビリティ ファイルの使用による WFS プロパティの設定
WFS サービスのメタデータを定義するもう 1 つの方法は、外部のケーパビリティ ファイルを使用することです。 この方法では、デフォルト以外のフィーチャ タイプの投影法を追加できます。 デフォルトでは、レイヤーまたはフィーチャクラスの座標系と WGS84 (EPSG 4326) が含まれます。 詳細については、「WFS サービスでの外部ケーパビリティ ファイルの使用」をご参照ください。
WFS サービスのセキュリティ
WFS サービスは、ArcGIS Server マップサービスを WFS ユーザーに公開します。 WFS サービスのセキュリティは、その親のマップ サービスのセキュリティを制御することにより管理されます。 Planners などの特定のロールに対してマップへのアクセスが拒否された場合、Planners は、SOAP、REST、WFS のどのインターフェイスを介しても、マップにアクセスできなくなります。
ArcGIS Server は複数の認証方式をサポートしています。 OGC インターフェイス経由でのアクセスが想定されるサービスについては、統合 Windows 認証、HTTP 基本認証、または HTTP ダイジェスト認証のいずれかを使って保護する必要があります。 ほとんどの OGC クライアント (Esri およびサードパーティ クライアント) は、広く使用されているこれらの標準認証方式を理解し、それらに対応します。
WFS サービス (WFS-T) を使用した Web の編集
トランザクション対応の WFS サービス (WFS-T とも呼ばれます) では、WFS エディターから WFS サービスを通じてソース データベース内のデータに変更を適用することができます。 WFS-T を有効にするには、データが、データの編集権限を持つユーザーとして接続されたエンタープライズ ジオデータベースから取得され、参照によって公開される必要があります。 これらの条件が満たされている場合は、ArcGIS Pro から WFS サービスを作成する際に、[トランザクションの有効化] チェックボックスをオンにします。 トランザクションは、バージョン対応登録されたデータまたはバージョン非対応のデータが含まれるサービスで有効にすることができます。 バージョン対応登録されたデータの使用を選択する場合、デフォルト以外のバージョンからサービスを公開することも推奨されます。
フィーチャを挿入、更新、削除する POST リクエストの例は、「Web ブラウザーでの WFS サービスとの通信」をご参照ください。
その他の注意事項
WFS-T サービスを操作する場合は、以下の点にも注意してください。
- フィーチャクラスに関する編集情報の記録を有効にするときは、UTC で編集を記録するように設定されていることを確認してください。 WFS-T サービスは、編集情報の記録のタイム ゾーンとして、データベース時間に対応していません。
- WFS-T を使用するためには、ArcGIS Server がエンタープライズ ジオデータベースに接続するために使用する DBMS ユーザーに DBMS でテーブルを作成するための権限が与えられている必要があります。
- ArcGIS にはトランザクション対応の WFS 編集のメカニズムがないため、WFS を使ってフィーチャを編集するためには、サードパーティ クライアントを使用しなければなりません。
- Z 対応のフィーチャクラスについては、WFS-T を使って編集することはできません。