WFS (Web フィーチャ サービス) は、Web 経由でジオグラフィックス フィーチャを提供するためのオープン規格です。 WMS (Web マップ サービス) とは違って、WFS サービスはジオメトリと属性を備えた実際のフィーチャを返します。 ArcGIS AllSource で Open Geospatial Consortium (OGC) WFS サービスに接続するには、WFS サービス接続を作成するか、アクティブなポータルから WFS アイテムを追加します。
WFS サーバー接続の追加
WFS サーバー接続を追加するには、次の手順に従います。
- [挿入] タブの [プロジェクト] グループで、[接続] ボタンをクリックして、[サーバー]、[新しい WFS サーバー] の順にクリックします。
[WFS サーバー接続の追加] ダイアログ ボックスが表示されます。
- 接続先の WFS サーバー サイトの URL を [サーバーの URL] テキスト ボックスに入力します。
URL はサイトの構成によって異なります。
たとえば、http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer
- 接続先となる WFS バージョンを選択します。
デフォルト バージョンでは、サーバーでサポートされている最新のバージョン番号に接続されます。
- 接続先の WFS サービスに追加機能があるか、WFS サーバー接続の ArcGIS AllSource クライアント固有のプロパティを設定する場合は、[カスタム リクエスト パラメーター] セクションにカスタム リクエスト パラメーターの名前と値を追加します。
よく使用される ArcGIS AllSource クライアント固有の予約済みキーワードには、クライアント側ページングを有効化する PAGESIZE キーワード、フィーチャを特定の地理領域に制限する BBOX キーワード、マップに表示されるフィーチャの数に対する制限を設定する MAXFEATURES キーワード、レイヤーの軸の順序を入れ替える SWAPXY などがあります。 これらのキーワードは、WFS サーバー接続にリストされているすべてのレイヤーに適用されます。 個々のレイヤーのプロパティを変更するには、レイヤー プロパティの WFS タブでそれらを表示または変更します。 ArcGIS AllSource では、サーバー固有のパラメーターの整合チェックができない点に注意してください。
カスタム パラメーターを追加するには、次の手順に従います。
- 最初のセル内をクリックします。
- [パラメーター] 列のセルでパラメーター名を指定します。
- [値] 列のセルでパラメーター値を指定します。
- さらにパラメーターを追加するには、[行の追加] ボタンをクリックして手順 a ~ c を繰り返します。
カスタム パラメーターを削除するには、次の手順に従います。
- 削除するパラメーターを含む行を選択します。
- [行の削除] をクリックして、行を削除します。
- 削除するすべてのパラメーターに対してステップ a と b を繰り返します。
- 該当する場合は、ユーザー名とパスワードを入力します。
接続するごとに入力しなくても済むようにユーザー名とパスワードを保存しておくには、[ユーザー名とパスワードを保存] チェックボックスをオンにします。
- [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 ポータル アイテムをマップに追加するには、次の手順を実行します。
- [カタログ] ウィンドウで、[ポータル] タブをクリックします。
- [マイ コンテンツ]、[グループ]、または [すべてのポータル] コレクションで、使用する WFS アイテムを参照して選択するか、検索します。
ポータル アイテムにポインターを合わせて、そのアイテムのタイプを確認します。
- アイテムを右クリックし、[新しいマップに追加] または [現在のマップに追加] をクリックして、WFS レイヤーをマップに追加します。
マップまたは [コンテンツ] ウィンドウに WFS サービスをドラッグして、マップに追加することもできます。 サービスに複数のレイヤーが含まれている場合、マップに追加するレイヤーを選択するよう求められます。
WFS アイテムがマップに追加されます。 必要に応じて、進行状況ダイアログ ボックスで [キャンセル] をクリックして、マップへのレイヤーの追加をキャンセルすることができます。 データをマップに追加したときに、データが期待どおりに表示されない場合は、WFS レイヤー プロパティを変更できます。
WFS サービスでは、1 つ以上のレイヤーを追加することができます。 Shift キーを押しながら、追加したいグループ内の最初と最後のサブレイヤーをクリックすることで、レイヤーのグループを選択できます。また、Ctrl キーを押しながら各レイヤーを個別にクリックして、連続していないレイヤーを選択することもできます。 レイヤーを選択した後、選択したレイヤーを右クリックして、現在のマップに追加するか、新規のマップに追加するかを選択します。 一度に複数のレイヤーを追加する処理は、1 つのレイヤーを追加する処理よりも時間がかかります。
カスタム リクエスト パラメーターの使用
カスタム リクエスト パラメーター形式を使用すると、WFS サービスでサポートされている追加機能を入力できます。 入力キー値ペアを WFS サーバー実装に固有のカスタム パラメーターにするか、ArcGIS AllSource クライアントで実装されている予約済みのキーワードのいずれかを使用することができます。
キー値ペアの使用
一部の WFS サービスには、そのサービスに対してカスタム クエリを実行するための特定のキー値ペアが含まれている場合があります。 キー値ペアは、WFS URL の疑問符の後に付加されます。 たとえば、WFS URL が http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer? とします。 myCustomKey というカスタム パラメーターがある場合は、myCustomKey 値を [パラメーター] セルに入力した後、この値を [値] セルに入力することができます。 ArcGIS AllSource から、WFS サービスに接続するよう求められた場合は、キー値ペアを WFS URL に付加します (例: http://sampleserver6.arcgisonline.com/arcgis/services/SampleWorldCities/MapServer/WFSServer?request=GetCapabilities&service=WFS&myCustomKey=myValue)。
予約済みキーワードの使用
ArcGIS AllSource WFS クライアントには、WFS サーバー接続の接続プロパティを指定できる予約済みキーワードがあります。 このパラメーターに設定した値は WFS サービス内のすべてのレイヤーに適用されます。 予約済みキーワードをサービス接続ごとに適用するのではなく、WFS サービス内の個別のレイヤーに適用する場合は、複数の接続を別々のパラメーター値で作成するか、マップ内の WFS レイヤー プロパティを更新する必要があります。 WFS サーバー接続ファイルのプロパティの設定に使用できるカスタム パラメーターの名前と値を次の表に示します。
キーワード | 説明 |
---|---|
BBOX | BBOX 範囲を指定して、返されるフィーチャの範囲を制限します (例: -122.5,37.7,-122.3,37.8)。 このパラメーターは、すべての WFS レイヤーで返されるフィーチャの数を特定の地理領域に制限する場合に役立ちます。 このパラメーターは、スナップショット モードでのみ使用できます。 |
MAXFEATURES | WFS サーバー接続内のレイヤーに対して返されるフィーチャの最大数を設定します。 この値を設定すると、サービスに多数のフィーチャが存在する場合のパフォーマンスの問題を回避できます。 デフォルト値は 3000 です。 |
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 があります。