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

ArcGIS Pro を使用している場合、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 のセッションを閉じると、データの一時的コピーは削除されます。

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

    オンデマンド

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

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

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

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

    [HTTP メソッドの設定] プロパティを設定することにより、ArcGIS Pro が GET リクエストまたは POST リクエストを使用してサービスにリクエストを送信するかどうかを選択できます。

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

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

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

    [選択した範囲] - マップに追加されるデータの制限に使用するカスタム範囲を設定します。 座標を手動で入力することも、現在表示されている範囲、すべてのレイヤーのデータの範囲、特定のレイヤーの範囲から範囲の値を借りることもできます。 WFS レイヤーをマップに追加する際にこの値を設定した場合は、このダイアログ ボックスで範囲の値を変更して、新しい範囲を使用するようにレイヤーを更新できます。

  5. 高度な設定 - 追加の WFS プロパティを設定するには、このセクションを展開します。
    • X/Y 座標の入れ替え - レイヤーの表示の x,y 座標を入れ替えます。
      • オン - x,y の順序を入れ替えます。
      • オフ - x,y の順序を入れ替えません。 これがデフォルトです。
    • [X/Y フィルター リクエストの入れ替え] - サーバーに送信される空間フィルター リクエストの XY 座標を入れ替えます。 正しく表示するためにレイヤーの XY 座標を入れ替える必要がある場合、空間クエリーの結果が正しくなるようにするには、フィルター リクエストの XY 座標の入れ替えが必要になる可能性が高くなります。
      • オン - フィルター リクエストの x,y の順序を入れ替えます。
      • オフ - フィルター リクエストの x,y の順序を入れ替えません。 これがデフォルトです。
    • HTTP メソッドの設定 - オンデマンド モードでサーバーにリクエストを送信するときに使用する HTTP メソッドを指定します。 デフォルトでは、ArcGIS Pro は、オンデマンド モードでサーバーに POST リクエストを送信します。 これにより、さらに高度なフィルターをサーバーに送信できます。 ただし、一部の WFS の実装では、POST リクエストはサポートされていません。 この場合、HTTP メソッドを GET に設定して、オンデマンド モードで WFS レイヤーの基本機能にアクセスできます。
      • GET - HTTP GET メソッドを使用してサーバーにリクエストを送信します。
      • POST - HTTP POST メソッドを使用してサーバーにリクエストを送信します。 これがデフォルトです。
    • ジオメトリー タイプ - レイヤーのジオメトリー タイプを指定します。 デフォルトでは、ジオメトリー タイプが [自動] に設定されます。 そのため、サービス レイヤーにある最初のフィーチャのジオメトリー フィールドを照会することで、ArcGIS Pro でジオメトリー タイプが検出されます。 サービス レイヤーに混合ジオメトリーが含まれていることがわかっている場合 (たとえば、テーブルにラインとポリゴンの両方がある行が含まれている場合)、ドロップダウン メニューからジオメトリー タイプを選択して、選択したジオメトリー タイプに準拠するデータ内のフィーチャをレイヤーに強制的に表示することができます。 ArcGIS Pro WFS レイヤーは、レイヤーごとに 1 つのジオメトリー タイプに制限されています。 同じサービス レイヤーから複数のジオメトリー タイプを表示するには、サービス レイヤーを複数回追加し、レイヤーごとにジオメトリー タイプを指定します。 [ジオメトリー タイプ] パラメーターはスナップショット モードでのみ適用されます。

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

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

  1. [カタログ] ウィンドウで WFS サーバー コネクションを選択します。
  2. 該当するコネクションを右クリックして [プロパティ] を選択します。

    [WFS サーバー コネクション プロパティ] ダイアログ ボックスが開きます。

  3. WFS サービスの URL を更新するには、新しい URL を [サーバー URL] テキスト ボックスに入力します。
  4. サービスの接続先となる WFS バージョンを更新するには、[バージョン] ドロップダウン リストから別のバージョンを選択します。
  5. カスタム リクエスト パラメーターを更新するには、パラメーターの名前または値を変更します。 必要に応じて、行を追加または削除します。
  6. [WFS プロパティ] セクションを展開し、既存のプロパティを変更します。
  7. 使用している認証を更新するには、新しいユーザー名とパスワードを入力し、認証情報の保存方法を選択します。
  8. プロパティの更新が完了したら、[OK] をクリックします。

    サーバー コネクションが更新され、変更した内容が反映されます。

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

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

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

トラブルシューティング

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

問題解決策

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

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

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

以下を実行します。

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

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

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

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

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

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

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

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

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

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

その他に、HTTP メソッドを GET に設定することにより、オンデマンド モードで GET リクエストを使用する HTTP メソッドに切り替えることもできます。

制限事項

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

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

関連トピック