Outdated version of the documentation. Find the latest one here.

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

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

  • In the dialog that appears, enter the Name as nsidc.org and the URL as http://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レイヤーとの差

Web Feature Serviceはレンダリングされた地図ではなくレイヤー自体を返します。データへの直接アクセスができるので、シンボル体系を変更しデータの分析を行うことができます。しかし、非常に多くのデータの送信にはコストがかかります。レイヤーが複雑な形を持つ場合や沢山の属性、多くの地物を持つ場合に特に顕著になります。多くのレイヤーをロードしている場合でも同様です。このため、WFSレイヤーは一般的には読み込みに非常に長い時間がかかります。

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?

次は、QGISサーバーを使用してOGCサービスを提供する方法を説明します。