10.1. Lesson: Web Mapping Services

Web Mapping Service (WMS) は、リモートサーバ上でホストされたサービスです。ウェブサイトと同じ様に、サーバーへ接続することでアクセスができます。QGIS を使用すると、既存の地図に直接 WMS をロードできます。

プラグインのレッスンから、例えばGoogleから新しいラスタ画像をロードできることを記憶しているでしょう。しかし、これは一度きりの処理です:画像はダウンロードしたら変更されません。WMSは、地図上でパンや拡大すると自動的に表示が更新されるライブサービスであるところが異なります。

このレッスンの目標: WMSを使用して制限を知ること。

10.1.1. basic Follow Along: WMSレイヤを読み込む

この演習では、コースの開始時に作られた基本地図を使用するか、または単に新しい地図を開始し、その中にいくつかの既存のレイヤを読み込むことができます。この例では、新しい地図を使用して、元の placeslanduse および protected_areas レイヤをロードし、シンボルを調整しました:

../../../_images/new_map.png
  1. 新しい地図にこれらのレイヤを読み込みます。またはこれらのレイヤを表示のみ行いオリジナルの地図を使用します。

  2. WMSレイヤの追加を開始する前に、"オンザフライ" 投影を無効にします(プロジェクト ► プロパティ... ► 座標参照系(CRS) タブで、 CRSなし(または未知/非地球) をチェックします。これにより、レイヤが正しく重ならなくなることがありますが、後で修正しますので安心してください。

  3. WMSレイヤを追加するには、dataSourceManager ボタンをクリックして データソースマネージャ ダイアログを開き、addWmsLayer WMS/WMTS タブを有効にしてください。

    ../../../_images/datasourcemanager_wms.png

    コースの冒頭でSpatiaLiteまたはGeoPackageデータベースに接続した方法を思い出してください。 landusebuildings 、および roads レイヤは、1つのデータベース内に格納されています。これらのレイヤを使用するには、まずそのデータベースに接続する必要がありました。WMSを使用するレイヤは、リモートサーバー上にあることを除いて、同様です。

  4. WMSへの新しい接続を作成するには、 新規 ボタンをクリックしてください。

    続けるにはWMSアドレスが必要です。インターネットには利用できる無料のWMSサーバがいくつかあります。そのうちのひとつは terrestris 、で OpenStreetMap データセットを使用しています。

  5. このWMSを利用するには、このように、今表示しているダイアログで設定します。

    ../../../_images/new_wms_connection.png
    • Name フィールドの値は terrestris にします。

    • URL フィールドの値は https://ows.terrestris.de/osm/service にします。

  6. OK をクリックします。リストされている新しいWMSサーバが表示されます。

    ../../../_images/new_connection_listed.png
  7. 接続 をクリックしてください。すると下のリストに、これらの新しいエントリがロードされるはずです:

    ../../../_images/new_wms_entries.png

    これらはこのWMSサーバーにホストされているすべてのレイヤです。

  8. OSM-WMS レイヤを一回クリックしてください。これによってその 座標参照系 が表示されます:

    ../../../_images/osm_wms_selected.png

    私たちの地図では WGS 84 を使っていないので、選択可能なすべての CRS を見てみましょう。

    1. Change...`ボタンをクリックします。標準的な :guilabel:`Coordinate Reference System Selector ダイアログが表示されます。

    2. 投影 CRSを希望するので、 WGS 84 /疑似メルカトル を選択してみましょう。

      1. pseudoフィルタ フィールドに入力してください:

      2. リストから WGS 84 / Pseudo Mercator (epsg:3857とあるもの)を選びます。

        ../../../_images/pseudo_mercator_selected.png
      3. OK をクリックします。入力したものに関係した座標参照系が変わりました。

  9. Add をクリックすると、新しいレイヤが :guilabel:`OpenStreetMap WMS - by terrestris`としてマップに表示されます。

  10. 自動的に閉じないときは データソースマネージャ ダイアログを閉じてください

  11. レイヤ パネルで、それをリストの最下部にクリック&ドラッグします。

  12. レイヤを全体的に表示するには、ズームアウトします。レイヤが正しく配置されていないことがわかります(アフリカの西に近い)。これは、「オンザフライ」投影が無効になっているためです。

    ../../../_images/reprojection_off.png
  13. その投影を再度有効にしましょう。ただし OpenStreetMap WMS レイヤーと同じ投影を使用すること。それは WGS 84/擬似メルカトル です。

    1. プロジェクト ► プロパティ... ► CRS タブを開きます

    2. Uncheck CRSなし(または未知/非地球) のチェックを外します

    3. リストから WGS 84 / 疑似メルカトル を選択します。

      ../../../_images/enable_projection.png
    4. OK をクリックします。

  14. 次に、 レイヤ パネルで自分のレイヤの一つを右クリックして、 :guilabel:`レイヤの領域にズーム`をクリックします。すると、Swellendam 領域が表示されるはずです:

    ../../../_images/wms_result.png

WMSレイヤの街路と私たちの街路がどれほど重なっているかに注目してください。それは良い兆候です!

WMSの性質と限界

今までに、このWMSレイヤはその中に実際に多くの地物を持っていることに気づいたかもしれません。それは道路、河川、自然保護区、などなどがあります。しかも、それはベクターで構成されているように見えるにもかかわらず、ラスターのようですが、そのシンボルを変更できません。何故でしょうか?

これがWMSが動作する方法です:この地図は、紙面の通常の地図のように、画像として受け取っています。普段使うのは、QGISが地図としてレンダリングする、ベクタレイヤです。しかしWMSを使うと、それらのベクタレイヤはWMSサーバー上にあり、地図としてレンダリングされ、画像としてその地図が送信されます。QGISではこの画像を表示できますが、すべてのことはサーバー上で処理されるため、そのシンボルは変更できません。

これはいくつかの利点を有しています。なぜならシンボルを心配する必要はありません。すでにできあがっていますし、的確に設計されたWMS上で見栄え良くなるはずです。

他方、気に入らなかったとしてもシンボルは変更できません。そして何かがWMSサーバー上で変更されると、それらは地図上でも同様に変更されます。ときどきWeb地物サービス(WFS)を代わりに使用したくなるのはこのためです。これは別にベクタレイヤを与え、そしてそれはWMSスタイルの地図の一部としてではありません。

しかしこれは、次のレッスンで説明します。まずは、 terrestris WMSサーバーから別のWMSレイヤを追加してみましょう。

10.1.2. basic Try Yourself

  1. レイヤ パネルにある OSM-WSM レイヤを非表示にします。

  2. "ZAF CGS 1M Bedrock Lithostratigraphy" WMSサーバーをこのURLで追加してください: http://196.33.85.22/cgi-bin/ZAF_CGS_Bedrock_Geology/wms

  3. BEDROCKGEOLOGY レイヤをマップにロードします( レイヤ ► レイヤを追加 ► addWmsLayer WMS/WMTSを追加... ボタンを使ってデータソースマネージャダイアログを表示することもできます)。このとき、マップの他の部分と同じ WGS 84 / World Mercator 投影法であることを確認することを忘れないでください!

  4. より速くロードされるよう、その EncodingJPEG に、その タイルサイズ オプションを 200 掛ける 200 に設定することをお勧めします

    ../../../_images/bedrock_geology_layer.png

10.1.3. moderate Try Yourself

  1. 他のWMSレイヤをすべて非表示にして、バックグラウンドで不必要にレンダリングされないようにします。

  2. 次のURLで "OGC" WMSサーバーを追加します: http://ogc.gbif.org:80/wms

  3. bluemarble レイヤを追加します。

10.1.4. hard Try Yourself

WMSを使用する難しさの一部は、良い(無料)サーバーを見つけることです。

  • 新しいWMSを directory.spatineo.com (またはオンラインの他の場所)で見つけてください。それは、関連する料金や制限がなく、Swellendam の研究領域をカバーしている必要があります。

    WMSを使用するために必要なことだけでそのURL(と説明の好ましいいくつかの並べ替え)であることを忘れないでください。

10.1.5. In Conclusion

WMSを使用して、既存の地図データのための背景として、非アクティブ地図を追加できます。

10.1.6. Further Reading

10.1.7. What's Next?

背景として動かない地図を追加しましたが、地物(例えば以前に追加した他のベクタレイヤなど)を追加することも可能だということがわかるとうれしいでしょう。リモートサーバから地物を追加することは、ウェブ地物サービス(WFS)を使用することにより可能です。それが次のレッスンのトピックです。