WFS サービス レイヤーの使用

ArcGIS AllSource を使用している場合、Web でアクセスできる OGC (Open Geospatial Consortium) の WFS (Web Feature Service) サービスを使用することができます。 ArcGIS での WFS クライアント サポートにより、インターネットで WFS サービスにアクセスして、マップに WFS レイヤーを追加できます。

OGC Web フィーチャ サービスは、Web 経由でジオグラフィック フィーチャを提供するためのオープン規格であり、ジオメトリと属性を備えた実際のフィーチャを返します。 OGC WFS 仕様の詳細については、OGC の Web サイト (www.opengeospatial.org/standards) をご参照ください。

注意:

このバージョンの WFS クライアントでは、GML (Geography Markup Language) シンプル フィーチャ プロファイルのみがサポートされます。

コンテンツ ウィンドウでの WFS レイヤーの表示

WFS サーバーコネクションを作成すると、[カタログ] ウィンドウの [サーバー] フォルダーに WFS サービスのコネクションが表示されます。 WFS コネクションに含まれるすべてのレイヤーを選択して、WFS サービス全体をマップに追加することも、WFS レイヤーを個別に追加することもできます。 WFS レイヤーをマップに追加すると、そのレイヤーが [コンテンツ] ウィンドウに追加されます。

アイテムをマップにドラッグして、アクティブなポータルで WFS アイテムを表示することもできます。

WFS レイヤー プロパティ

WFS レイヤーをマップに追加すると、その WFS レイヤーにはデフォルト レイヤー プロパティが含まれます。 それらのデフォルト設定は、使用している WFS レイヤーにとって正しくない場合があるため、変更できます。 それらのプロパティを表示または変更するには、[コンテンツ] ウィンドウで WFS レイヤーを右クリックし、[プロパティ] をクリックします。

WFS レイヤーの読み取り専用プロパティ

次の WFS レイヤー プロパティは、WFS サーバー コネクション プロパティに関する詳細情報を提供します。 それらのプロパティは、[レイヤー プロパティ] ダイアログ ボックスの [ソース] タブにあります。

URL、WFS バージョン、WFS モードなどの WFS レイヤー データ ソースのプロパティ
  1. [データ タイプ] - WFS レイヤーに接続している場合、このプロパティはデータ タイプが WFS サービスのフィーチャクラスであることを示します。
  2. [URL] - これは WFS サービスの URL です。
  3. [フィーチャクラス] - WFS 用語では、これは WFS タイプ名です。 この例では、タイプ名は「Continent」です。
  4. [WFS バージョン] - 接続先の WFS のバージョンです。 この例では、バージョンは「2.0.0」です。
  5. [WFS モード] - これは、使用するコネクション モードです。 この例では、コネクション モードはスナップショットです。

WFS レイヤー プロパティの変更

必要に応じて変更できる、以下の WFS レイヤー プロパティがあります。

コネクション モード、軸の順序、返されるフィーチャの最大数などの WFS レイヤー プロパティ
  1. [コネクション モード] - このプロパティを使用して、レイヤーに対して使用するコネクション モードを選択できます。 デフォルトでは、コネクション モードはスナップショットです。

    コネクション モード説明

    スナップショット

    このモードは、ほとんどの WFS サービスと互換性があります。 このモードを使用している場合、WFS データの一時的コピーがダウンロードされ、フィーチャのキャッシュのように使用されます。 複雑なフィルター リクエストを WFS サービスに送信してサーバーからの応答を待つ代わりに、データのコピーをローカルに操作します。 ArcGIS Pro 3.5 のセッションを閉じると、データの一時的コピーは削除されます。

    この方法の欠点は、ArcGIS Pro 3.5 のセッション中に WFS サービスに追加された新しい編集内容が表示されないことです。 WFS サービスに対する更新を表示するには、ArcGIS Pro 3.5 を閉じてから再び開く必要があります。 このモードを使用して、マップ内でレイヤーを最初に開いたときに、開くのが遅いことに気付く場合があります。 これは、データがサーバーからコピーされているためです。

    オンデマンド

    このモードは、ほとんどの WFS サービスとの互換性が低くなっています。 このモードを使用している場合、データをローカルにコピーするのではなく、代わりにリアルタイムで WFS サービスに接続します。 このモードでは、マップ上で画面移動やズームを行ったり、データに対するクエリを作成したときに、リクエストが WFS サービスに送信されます。 データがダウンロードされないため、レイヤーを高速に開くことができ、WFS サービスに対して編集が行われたときに、それらの編集内容が表示されます。

    このモードの欠点は、複雑なフィルター リクエストを処理できない WFS サービスと互換性がないことです。 このレイヤーを ArcGIS AllSource で操作してクエリを実行し、データを解析するには、サーバーが高度なフィルター リクエストをサポートする必要があります。

    また、時間はサーバーの設定から継承されるため、このモードでは時間プロパティを変更できないという欠点もあります。

    このモードはフィーチャ サービスのフィーチャ キャッシュ機能を使用し、フィーチャ キャッシュが有効になっている場合に表示キャッシュを使用してパフォーマンスを向上します。

    HTTPMETHOD 予約済みキーワード カスタム リクエスト パラメーターを設定することにより、ArcGIS AllSource が GET または POST を使用してサービスにリクエストを送信するかどうかを選択できます。

  2. [軸の順序] - このプロパティを使用して、レイヤーの XY 軸の順序を切り替えるか、またはサーバーに送信されるリクエストの XY 軸の順序を切り替えることができます。

    軸の順序説明

    X/Y 座標の入れ替え

    このプロパティを使用して、レイヤーの表示の XY 座標を入れ替えることができます。

    • オン - レイヤーの XY 座標を入れ替えます。
    • オフ - レイヤーの XY 座標を入れ替えません。 これがデフォルトです。

    X/Y フィルター リクエストの入れ替え

    このプロパティを使用して、サーバーに送信される空間フィルター リクエストの XY 座標を入れ替えることができます。 正しく表示するためにレイヤーの XY 座標を入れ替える必要がある場合、空間クエリの結果が正しくなるようにするには、フィルター リクエストの XY 座標の入れ替えが必要になる可能性が高くなります。

    • オン - フィルター リクエストの XY 座標を入れ替えます。
    • オフ - フィルター リクエストの XY 座標を入れ替えません。 これがデフォルトです。

    注意:

    以前のバージョンの ArcGIS AllSource では、軸の順序のプロパティのデフォルトは、フィルター リクエストの XY 座標を入れ替える設定でした。 ArcGIS AllSource 2.1 では、新しい WFS サーバー コネクションが作成されたとき、デフォルトでフィルター リクエストの XY 座標は入れ替えられません。 これにより、既存の WFS レイヤーも接続も影響を受けません。

  3. [返される最大フィーチャの設定] - このプロパティを使用して、マップに追加されるフィーチャの数を制限することができます。 WFS レイヤー内に数百万個のレコードが存在する場合、このレイヤーの操作が遅くなる可能性があります。 パフォーマンスの問題を防ぐために、デフォルト値は 3000 フィーチャに設定されています。
    注意:

    この値が適用されるには、WFS サービスがバージョン 2.0.0 の COUNT またはそれよりも前のバージョンの MAXFEATURES をサポートする必要があります。

  4. [ページ サイズの設定] - ページングをサポートしている WFS 2.0 サービスでは、サーバーからのロード要求ごとに返されるフィーチャの数を設定できます。 WFS レイヤーをマップに追加する際にこの値を設定した場合は、このダイアログ ボックスで値を変更できます。 この値を変更すると、レイヤーが更新されます。
  5. [空間範囲] - 対象地域 (空間範囲) を指定することによりフィーチャを制限します。 WFS レイヤーをマップに追加する際にこの値を設定した場合は、このダイアログ ボックスで値を変更できます。 値を変更すると、レイヤーが更新されます。
    • オン - 範囲を指定することでマップに追加されるフィーチャを制限します。 この機能を使用するには、WFS サービスが BBOX パラメーターをサポートしている必要があります。 [選択した範囲] パラメーターに使用する範囲を指定します。
    • オフ - マップに追加されるフィーチャを空間的に制限しません。 これがデフォルトです。
  6. [選択した範囲] - マップに追加されるデータの制限に使用するカスタム範囲を設定します。 座標を手動で入力することも、現在表示されている範囲、すべてのレイヤーのデータの範囲、特定のレイヤーの範囲から範囲の値を借りることもできます。 WFS レイヤーをマップに追加する際にこの値を設定した場合は、このダイアログ ボックスで範囲の値を変更して、新しい範囲を使用するようにレイヤーを更新できます。

WFS サーバー コネクション プロパティの変更

必要に応じて、いくつかの WFS サーバー コネクション プロパティを変更できます。 サーバー コネクション プロパティを変更すると、レイヤーごとではなく、サーバー コネクション レベル (サービス内のすべてのレイヤーに影響を与える) で WFS プロパティを設定することができます。 WFS サーバー コネクション プロパティを追加、削除、または変更する手順を次に示します。

  1. [カタログ] ウィンドウで WFS サーバー コネクションを選択します。
  2. 該当するコネクションを右クリックして [プロパティ] を選択します。 [WFS サーバー コネクション プロパティ] ダイアログ ボックスが開きます。
  3. WFS サービスの URL を更新するには、新しい URL を [サーバー URL] テキスト ボックスに入力します。
  4. サービスの接続先となる WFS バージョンを更新するには、[バージョン] ドロップダウン リストから別のバージョンを選択します。
  5. カスタム リクエスト パラメーターを更新するには、パラメーターの名前または値を変更します。 必要に応じて、新規の行を追加したり、既存の行を削除したりすることもできます。 デフォルトでは、SWAPXY プロパティと SWAPXYFILTER プロパティがグリッド内に表示されます。

    カスタム リクエスト パラメーターの詳細

  6. 使用している認証を更新するには、新しいユーザー名とパスワードを入力し、認証情報の保存方法を選択します。
  7. プロパティの更新が終了したら、[OK] をクリックします。これで、サーバー コネクションが更新され、変更した内容が反映されます。

    サーバー コネクションからマップにすでに追加されているレイヤーには、これらの変更が反映されません。 変更内容を確認するには、レイヤーをマップにもう一度追加する必要があります。

Web からの WFS レイヤーの操作

WFS レイヤーは、ArcGIS AllSource に追加されると、データベースからの読み取り専用フィーチャ レイヤーとして動作します。 このレイヤーに対してフィーチャを検索したり、シンボルを変更したり、解析を実行することができます。

トラブルシューティング

すべての WFS サービスが、正確に同じ方法で実装されているわけではありません。 このセクションでは、WFS レイヤーを ArcGIS AllSource に追加することに伴う一般的な問題の一部に対処します。

問題解決策

フィーチャがマップ上に表示されないか、期待する場所に表示されません。

レイヤーの軸の順序プロパティを変更する必要があるかもしれません。 クライアントは、すべてのサービスの軸の順序がデフォルトで X、Y であると想定します。 サービスの軸の順序がこの順序でない場合は、[X/Y 座標の入れ替え] の設定を変更してみてください。

WFS レイヤーをマップに追加するのに長い時間がかかります。

以下を実行します。

  • 複数のレイヤーを一度に追加している場合は、一度に 1 つのレイヤーを追加してみてください。
  • 返されるフィーチャの最大数を、より低い値に設定してください。
  • BBOX カスタム リクエスト パラメーターまたは [空間範囲の使用] オプションを使用して、小規模な地理領域を指定します。
  • WFS 2.0 を使用している場合は、GetFeature リクエストごとに要求されるフィーチャの数の設定に使用される PAGESIZE 値を変更します。 つまり、要求されるフィーチャの数を増やします。

WFS レイヤーをマップに追加するときに、エラーが表示されます。

クライアントが WFS サービスでのフィーチャのタイプをサポートしていない場合、またはクライアントが送信しているリクエストをサーバーがサポートしていない場合、サービスをマップに追加するときに、エラー メッセージが表示される場合があります。 エラー メッセージが、問題を特定するのに役立つことがあります。 以下の例をご参照ください。

  • ケーパビリティの取得リクエストが XML パーサー エラーを返す。 これは、サーバーからの応答に伴う問題です。
  • ジオメトリ タイプがサポートされていないことを示すエラー。 WFS ArcGIS AllSource クライアントは、コンプレックス データ タイプをサポートしていません。
  • リクエストがタイムアウトしたことを示すエラー。 サーバーの応答が遅すぎる場合、リクエストがタイムアウトすることがあります。 WFS 2.0 を使用している場合は、GetFeature リクエストごとに要求されるフィーチャの数の設定に使用される PAGESIZE 値を変更します。 つまり、要求されるフィーチャの数を減らします。

WFS サーバー コネクションを追加できません。

WFS サービスのデータにアクセスするのに必要な認証情報を含めていることを確認してください。 ユーザー名とパスワード、またはカスタム リクエスト パラメーター値を含める場合があります。

ブラウザーで [ケーパビリティの取得] の応答をチェックして、サービスが停止していないことを確認してください。

オンデマンド モードを使用しているときに、奇妙な挙動が発生したり、クエリが期待する結果を返さなかったりします。

代わりにスナップショット モードを使用してみてください。 引き続きオンデマンド モードを使用したい場合は、他の WFS プロパティをいくつか変更してみてください。 さまざまなレイヤー プロパティを変更しても問題が解決せず、サービスがスナップショット モードで動作している場合は、Esri Support にお問い合わせください。

オンデマンド モードでは、デフォルトで、POST リクエストが WFS サービスに送信され、ほとんどの場合に複雑なフィルターが使用されます。 Web デバッガ ツールを使用して、クライアント経由でサーバーに送信されている POST リクエストを取得し、サービスが送信中のフィルターに対応しているかどうかを確認することができます。

その他に、HTTPMETHOD 予約済みキーワード カスタム リクエスト パラメーターを GET 設定することにより、オンデマンド モードで GET リクエストを使用する HTTP メソッドに切り替えることもできます。

制限事項

ArcGIS AllSource では、WFS クライアントに関する次のようないくつかの既知の制限があります。

  • トランザクションを伴う WFS はまだサポートされていません。 レイヤーの振舞いは読み取り専用のデータ ソースと同じです。
  • ArcGIS AllSource で Web マップとして WFS レイヤーを共有することはまだサポートされていません。
  • オンデマンド コネクション モードでは時間プロパティを変更できません。 時間はサーバーの設定から継承されます。
  • ArcGIS Data Interoperability エクステンション を使用して作成された WFS レイヤーを含む、インポートされた .mxd ファイルはサポートされていません。
  • バージョン 1.0.0 用に作成された WFS サーバー コネクションでは、スナップショット コネクション モードしか使用できません。
  • バージョン 10.5 以前での ArcGIS Desktop ベースの WFS サービスでは、スナップショット モードを使用する必要があります。