WFS (Web フィーチャ サービス) は、Web 経由でジオグラフィックス フィーチャを提供するためのオープン規格です。 WMS (Web マップ サービス) とは違って、WFS サービスは、ジオメトリと属性を備えた実際のフィーチャを返します。 ArcGIS Pro で、Open Geospatial Consortium (OGC) WFS サービスに接続するには、WFS サービス コネクションを作成するか、アクティブなポータルから、WFS アイテムを追加します。
WFS サーバー コネクションの追加
WFS サーバー コネクションを追加するには、次の手順を実行します。
- [挿入] タブの [プロジェクト] グループで、[接続] ボタンをクリックして、[サーバー]、[新しい WFS サーバー] の順にクリックします。
[WFS サーバー コネクションの追加] ダイアログ ボックスが表示されます。
- 接続先の WFS サーバー サイトの URL を [サーバーの URL] テキスト ボックスに入力します。
URL は、サイトの構成によって異なります。
たとえば、次のような URL になります。https://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer
- [バージョン] ドロップダウン メニューから、接続先となる WFS バージョンを選択します。
デフォルト バージョンでは、サーバーでサポートされている最新のバージョン番号に接続されます。
- 接続先の WFS サービスに追加機能があるか、WFS サーバー コネクションの ArcGIS Pro クライアント固有のプロパティを設定する場合は、[カスタム リクエスト パラメーター] セクションに、カスタム リクエスト パラメーターの名前と値を追加します。
よく使用される ArcGIS Pro クライアント固有の予約済みキーワードには、クライアント側ページングを有効化する PAGESIZE、フィーチャを特定の地理領域に制限する BBOX、マップに表示されるフィーチャの数に対する制限を設定する MAXFEATURES (デフォルトでは上限 3000 を使用)、レイヤーの軸の順序を入れ替える SWAPXY などがあります。 これらのキーワードは、WFS サーバー接続にリストされているすべてのレイヤーに適用されます。 個々のレイヤーのプロパティを変更するには、レイヤー プロパティの [WFS] タブで、それらを表示または変更します。 ArcGIS Pro では、サーバー固有のパラメーターの検証ができない点に注意してください。
カスタム パラメーターを追加するには、次の手順に従います。
- 最初のセル内をクリックします。
- [パラメーター] 列のセルで、パラメーター名を指定します。
- [値] 列のセルで、パラメーター値を指定します。
- さらにパラメーターを追加するには、[行の追加] ボタンをクリックして、手順 a ~ c を繰り返します。
カスタム パラメーターを削除するには、次の手順に従います。
- 削除するパラメーターを含む行を選択します。
- [行の削除] をクリックして、行を削除します。
- 削除するすべてのパラメーターに対して、ステップ a と b を繰り返します。
- 該当する場合は、次のいずれかの手順を実行して、サービスを認証します。
- サービスが基本認証で保護されている場合、[認証] ドロップダウン メニューで [サーバー認証] をクリックし、ユーザー名とパスワードを入力します。 ユーザー名とパスワードを Windows 資格情報マネージャーまたはコネクション ファイルに保存するには、[ログインの保存] 見出しの下のオプションをオンにします。
- サービスが OAuth 2.0 ベースの認証で保護されている場合、[認証] ドロップダウン メニューのドロップダウン リストから適切な接続をクリックします。 認証プロバイダーが存在しない場合に、認証プロバイダーに接続を追加する方法については「ArcGIS Pro から認証プロバイダーに接続」をご参照ください。 必要に応じて [サイン イン] をクリックし、プロバイダーとの接続を認証します。
- [OK] をクリックします。
WFS コネクション ファイル (.wfs) が作成されて、プロジェクトのホーム フォルダーに保存されます。 この接続ファイルを参照しているアイテムがプロジェクトに追加され、該当するコネクションが [カタログ] ウィンドウの [プロジェクト] タブにある [サーバー] フォルダーに表示されます。
- WFS コネクションを展開して、WFS サービス内のレイヤーを表示し、レイヤーを右クリックして、[新しく追加] ドロップダウン メニューのオプションをクリックするか、[現在のマップに追加] をクリックして、WFS レイヤーをマップに追加します。
マップまたは [コンテンツ] ウィンドウに、WFS サービスをドラッグして、マップに追加することもできます。
WFS アイテムが、マップに追加されます。 進行状況ダイアログ ボックスで、[キャンセル] をクリックして、マップへのレイヤーの追加をキャンセルすることができます。 サービスがページングをサポートしている場合は、レイヤーをマップに追加するときに、デフォルトのページ サイズの 200 が使用されます。 データをマップに追加したときに、データが期待どおりに表示されない場合は、WFS レイヤー プロパティを変更できます。
WFS サービスでは、1 つ以上のレイヤーを追加することができます。 レイヤーのグループを選択するには、Shift キーを押しながら、追加したいグループ内の最初と最後のサブレイヤーをクリックします。また、Ctrl キーを押しながら、各レイヤーを個別にクリックして、連続していないレイヤーを選択することもできます。 レイヤーを選択した後、選択したレイヤーを右クリックして、現在のマップに追加するか、新しいマップに追加するかを選択します。 一度に複数のレイヤーを追加する処理は、1 つのレイヤーを追加する処理よりも時間がかかります。
アクティブなポータル接続からの WFS サービスの追加
WFS サービスをポータルに追加することもできます。 ポータル内の WFS アイテムには、次の 3 つのソースがあります。
- ポータルとフェデレートした ArcGIS Server サイトに公開され、自動的にアイテムとしてポータルに追加された WFS サービス。
- ポータル内のアイテムとして追加されたサードパーティの WFS サービス。
- ホスト WFS サービスは、ホスト フィーチャ レイヤーから WFS サービスを公開することによって作成されます。
これらのタイプの各 WFS ポータル アイテムをマップに追加するには、次の手順を実行します。
- [カタログ] ウィンドウで、[ポータル] タブをクリックします。
- [マイ コンテンツ]、[マイ グループ]、または [ArcGIS Online] コレクションで、使用する WFS アイテムを参照するか、検索します。
ポータル アイテムにポインターを合わせて、そのアイテムのタイプを確認します。
- アイテムを右クリックして、[新しく追加] ドロップダウン メニューのオプションをクリックするか、[現在のマップに追加] をクリックして、WFS レイヤーをマップに追加します。
マップまたは [コンテンツ] ウィンドウに、WFS サービスをドラッグして、マップに追加することもできます。 サービスに複数のレイヤーが含まれている場合、マップに追加するレイヤーを選択するよう求められます。
WFS アイテムが、マップに追加されます。 進行状況ダイアログ ボックスで、[キャンセル] をクリックして、マップへのレイヤーの追加をキャンセルすることができます。 データをマップに追加したときに、データが期待どおりに表示されない場合は、WFS レイヤー プロパティを変更できます。
WFS サービスでは、1 つ以上のレイヤーを追加することができます。 レイヤーのグループを選択するには、Shift キーを押しながら、追加したいグループ内の最初と最後のサブレイヤーをクリックします。また、Ctrl キーを押しながら、各レイヤーを個別にクリックして、連続していないレイヤーを選択することもできます。 レイヤーを選択した後、選択したレイヤーを右クリックして、現在のマップに追加するか、新しいマップに追加するかを選択します。 一度に複数のレイヤーを追加する処理は、1 つのレイヤーを追加する処理よりも時間がかかります。
カスタム リクエスト パラメーターの使用
カスタム リクエスト パラメーター形式を使用すると、WFS サービスでサポートされている追加機能を入力できます。 入力キー値ペアを WFS サーバー実装に固有のカスタム パラメーターにするか、ArcGIS Pro クライアントで実装されている予約済みのキーワードのいずれかを使用することができます。
キー値ペアの使用
一部の WFS サービスには、そのサービスに対してカスタム クエリを実行するための特定のキー値ペアが含まれている場合があります。 キー値ペアは、WFS URL の疑問符の後に付加されます。 たとえば、WFS URL が https://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer? とします。 myCustomKey というカスタム パラメーターがある場合は、myCustomKey 値を [パラメーター] セルに入力した後、この値を [値] セルに入力することができます。 ArcGIS Pro から、WFS サービスに接続するよう求められた場合は、キー値ペアを WFS URL に付加します (例: https://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?request=GetCapabilities&service=WFS&myCustomKey=myValue)。
予約済みキーワードの使用
ArcGIS Pro WFS クライアントには、WFS サーバー コネクションの接続プロパティを指定できる予約済みキーワードがあります。 このパラメーターに設定した値は、WFS サービス内のすべてのレイヤーに適用されます。 予約済みキーワードをサービス接続ごとに適用するのではなく、WFS サービス内の個別のレイヤーに適用する場合は、複数の接続を別々のパラメーター値で作成するか、マップ内の WFS レイヤー プロパティを更新する必要があります。 WFS サーバー コネクション ファイルのプロパティの設定に使用できるカスタム パラメーターの名前と値を次の表に示します。
キーワード | 説明 |
---|---|
BBOX | 境界四角形の範囲を指定して、返されるフィーチャの範囲を制限します (例: -122.5,37.7,-122.3,37.8)。 このパラメーターは、すべての WFS レイヤーで返されるフィーチャの数を特定の地理領域に制限する場合に役立ちます。 このパラメーターは、スナップショット モードでのみ使用できます。 |
MAXFEATURES | WFS サーバー接続内のレイヤーに対して返されるフィーチャの最大数を設定します。 この値を設定すると、サービスに多数のフィーチャが存在する場合のパフォーマンスの問題を回避できます。 デフォルト値は 3000 です。 データが大きい場合、これを大きな数に設定すると、表示されるフィーチャの数が増えます。 サービスでページングがサポートされている場合、さらに効率的にデータを読み込むために PAGESIZE パラメーターを調整できます。 |
OUTPUTFORMAT | フィーチャをリクエストする際の形式を指定します。 WFS サービスは、複数の出力形式タイプをサポートできますが、デフォルトの形式は GML です。 このオプションは、指定された出力形式をサービスがサポートしている場合にのみ使用してください。 GetCapabilities レスポンスで、サービスがサポートする出力形式を確認できます。
SWAPXY および SWAPXYFILTER プロパティは、出力形式が GeoJSON の場合は適用されません。 |
PAGESIZE | GetFeature リクエストを実行して、データをマップに読み込む際に使用するページ サイズを指定します。 デフォルトでは、サービスがページングをサポートしている場合、ページ サイズ値の 200 が使用されます。 ページングをサポートしていないサービスの場合、1 回のリクエストで多数のフィーチャをリクエストする際に、パフォーマンスが低下する可能性があります。 このキーワードを使用して、ページごとに返される特定の数のフィーチャをリクエストします。 たとえば、PAGESIZE を 100 にします。 このキーワードは、startIndex および count パラメーターをサポートする WFS 2.0 サービスにのみ適用されます。 オンデマンド接続モードを使用しているときは、キーワードは適用されません。 |
STRINGLENGTH | WFS レイヤー内のテキスト フィールドの長さを指定します。 マップ内でレイヤーが開いている場合は、すべてのテキスト フィールドの長さがデフォルトで、255 文字に切詰められます。 |
SWAPXY | レイヤーの表示の XY 座標を入れ替えます。
|
SWAPXYFILTER | サーバーに送信される空間フィルター リクエストの XY 座標を入れ替えます。
|
注意:
BBOX、STRINGLENGTH、OUTPUTFORMAT、PAGESIZE キーワードを除く、すべてのキーワードには、WFS レイヤー プロパティ内に対応するレイヤー設定があります。 WFS レイヤー プロパティにアクセスするには、[コンテンツ] ウィンドウで該当するレイヤーを右クリックして、[プロパティ] を選択します。
WFS サーバー コネクション プロパティの指定に使用できるリスト内のキーワードだけでなく、WFS サービスまたは ArcGIS に対して、特別な意味を持っているために、使用できない他の予約済みキーワードもあります。 これらのキーワードは、NAMESPACE、TYPENAME、VERSION、SERVICE、CRSNAME、REQUEST、USER、URL、PASSWORD、MODE、ANONYMOUS、HTTPTIMEOUT、CAPABILITIES_PARAMETERS、CONNECTIONPATH などです。
WFS → フィーチャクラス ツールの使用
[WFS → フィーチャクラス (WFS To Feature Class)] ジオプロセシング ツールを使用して、WFS サービスからジオデータベースにデータをダウンロードできます。 このツールでは WFS データをダウンロードするスクリプトを作成でき、Complex WFS サービスがサポートされます。
このツールを使用して Complex WFS サービスからデータをダウンロードするには、次の手順に従います。
- [WFS → フィーチャクラス (WFS To Feature Class)] ジオプロセシング ツールを開きます。
このツールを開くには、[ジオプロセシング] ウィンドウで変換ツールボックス内の [WFS から変換] ツールセットに移動するか、検索バーでツール名で検索します。
[WFS → フィーチャクラス (WFS To Feature Class)] ツールのダイアログ ボックスが表示されます。
- WFS サービスが Complex サービスである場合、[Complex WFS サービス] チェックボックスをオンにします。
- WFS サービスの URL を [WFS サーバー] パラメーターに貼り付けるか入力し、パラメーター テキスト ボックスの外側をクリックします。
http://gisserver.example.com/geoserver/ows?
これにより、[抽出するフィーチャ タイプの選択] パラメーター ドロップダウン メニューに、ダウンロード可能なレイヤーのリストが取り込まれます。
- ドロップダウン メニューからレイヤーを選択します。
- [出力場所] パラメーターを使用して、ダウンロード先の場所を指定します。
[Complex WFS サービス] チェックボックスがオンになっている場合、出力先はファイル ジオデータベースになるため、出力場所としてフォルダーを指定する必要があります。
[Complex WFS サービス] チェックボックスがオフになっている場合、出力先はフィーチャクラスになるため、出力場所としてジオデータベースまたはジオデータベース内のフィーチャ データセットを指定する必要があります。
- [名前] パラメーターで、出力フィーチャクラスまたはジオデータベースの名前を指定します。
- 必要に応じて、[最大フィーチャ数] パラメーターに値を入力して、返されるフィーチャの数を制限します。
- [Complex WFS サービス] がオンになっている場合、必要に応じて、[メタデータの公開] パラメーターをオンにすることでサービス メタデータを公開します。これにより、メタデータ テーブルが作成されて出力ジオデータベースに取り込まれます。
このプロセスを Python スクリプトで自動化するには、ツール ドキュメントにサンプル コードが掲載されています。