11.2. Lesson: Web Feature Services

Web Feature Service (WFS)はQGISで直接読み込める形式のGISデータをユーザに提供します。編集できない地図のみを提供するWMSとは異なり、WFSでは地物それ自体へアクセスすることができます。

このレッスンの目標: WFSを使用してWMSとの違いを理解します。

11.2.1. basic Follow Along: WFSレイヤの読み込み

  • 新しい地図を開始します。これはデモを目的としており保存されません。

  • “オンザフライ”再投影がオフになっていることを確認して下さい。

  • WFSレイヤの追加 ボタンをクリックします:

    wfs

  • 新規 ボタンをクリックします。

  • 表示されるダイアログで 名称nsidc.org , URLhttp://nsidc.org/cgi-bin/atlas_south?version=1.1.0 と入力します。

    ../../../_images/new_wfs_connection.png
  • OK をクリックすると新しい接続が サーバーコネクション に表示されます。

  • 接続 をクリックします。利用可能なレイヤのリストが表示されます:

    ../../../_images/wfs_connection_layers.png
  • south_poles_wfs レイヤを見つけます。

  • レイヤをクリックして選択します:

    ../../../_images/south_poles_wfs.png
  • 追加 をクリックします。

レイヤの読み込みにしばらく時間がかかることがあります。読み込みが完了したら地図に表示されます。南極大陸の輪郭の上に表示するとこうなります(同じサーバで antarctica_country_border の名前で利用可能です):

../../../_images/antarctica_border.png

WMSレイヤとはどのように違うのですか? それはレイヤの属性を見ると明らかになります。

  • south_poles_wfs レイヤの属性テーブルを開きます。このように見えるはずです:

../../../_images/poles_attribute_table.png

ポイントは属性を持つのでシンボロジを変更し、ラベルを付けることができます。例を示します:

../../../_images/labelling_example.png
  • このレイヤの属性データを活用するためにレイヤにラベルを追加します。

11.2.1.1. WMSレイヤからの違い

A Web Feature Service returns the layer itself, not just a map rendered from it. This gives you direct access to the data, meaning that you can change ts symbology and run analysis functions on it. However, this is at the cost of much more data being transmitted. This will be especially obvious if the layers you’re loading have complicated shapes, a lot of attributes, or many features; or even if you’re just loading a lot of layers. WFS layers typically take a very long time to load because of this.

11.2.2. moderate Follow Along: WFSレイヤのクエリ

WFSレイヤをロードした後に問い合わせをすることは可能ですが、ロードする前に問い合わせをする方が多くの場合に効率的です。そのようにして必要な地物だけを要求すればはるかに少ない帯域幅の使用で済むことになります。

たとえば、現在使用しているWFSサーバに countries (excluding Antarctica) というレイヤがあります。既に読み込まれている south_poles_wfs レイヤに対する南アフリカ共和国の位置を知りたいとしましょう(そしておそらく antarctica_country_border レイヤに対する位置も)。

これを行うには2つの方法があります。 countries ... レイヤの全体をロードしてから、いつものようにクエリを作成することができますが、世界中の国のデータを送信してから南アフリカのデータだけを使用するのは少し帯域幅の無駄と思われます。あなたの接続によっては、このデータセットの読み込みに数分かかることがあります。

サーバからレイヤを読み込む前にフィルターとしてクエリを作成することもできます。

  • WFSレイヤの追加 ダイアログで前に使用したサーバに接続して、利用可能なレイヤリストを表示させます。

  • Filter フィールドの countries ... レイヤの隣をダブルクリックするか クエリ作成 をクリックします:

    ../../../_images/select_country_filter.png
  • 表示されるダイアログでクエリ "Countryeng" = 'South Africa' を作成します:

    ../../../_images/country_sa_builder.png
  • Filter の値として表示されます:

    ../../../_images/country_filter_enabled.png
  • 上のように countries レイヤを選択した状態で 追加 をクリックします。 Countryeng の値が South Africa の国だけがレイヤから読み込まれます:

    ../../../_images/antarctica_sa.png

実際にやる必要はありませんが、もし両方の方法を試してみたらフィルタする前にすべての国をロードする方法に比べてはるかに早いことがわかります!

11.2.2.1. WFSの有用性に関するノート

あなたのニーズが非常に具体的であれば、あなたが必要とするWFSサーバを見つけることは稀です。WFSサービスが比較的まれである理由は地物全体を表現するには大量のデータを送信する必要があるからです。それゆえに画像だけを送信するWMSではなくWFSをホストすることは費用対効果があまりよくありません。

したがって、あなたが出合うであろうWFSの最も一般的なタイプはおそらくインターネット上ではなく、ローカルネットワーク上か自分のコンピュータ上にあるでしょう。

11.2.3. In Conclusion

あなたがレイヤの属性とジオメトリに直接アクセスする必要がある場合にはWFSレイヤはWMSレイヤより好ましいですが、ダウンロードされるデータの量を考慮すると(速度の問題そして容易に利用可能な公開WFSサーバの不足へとつながります)、必ずしもWMSの代わりにWFSが使用できるとは限りません。

11.2.4. What’s Next?

次は有名なGRASS GISのためのフロントエンドとしてQGISを使用する方法を説明します。