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. Before starting to add the WMS layer, deactivate "on the fly" projection (Project ‣ Properties... ‣ CRS tab, check No projection (or unknown/non-Earth projection). This may cause the layers to no longer overlap properly, but don't worry: we'll fix that later.

  3. To add WMS layers, click on the dataSourceManager button to open the Data Source Manager dialog and enable the addWmsLayer WMS/WMTS tab.

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

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

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

    WMSアドレスを続ける必要があります。インターネット上で利用可能ないくつかの無料のWMSサーバがあります。これらの一つは terrestris 、です、 OpenStreetMap データセットを使用しています。

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

    ../../../_images/new_wms_connection.png
    • The value of the Name field should be terrestris.

    • The value of the URL field should be 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

    Since we're not using WGS 84 for our map, let's see all the CRSs we have to choose from.

    1. Click the Change... button. You will see a standard Coordinate Reference System Selector dialog.

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

      1. Enter the value pseudo in the Filter field:

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

        ../../../_images/pseudo_mercator_selected.png
      3. Click OK. The Coordinate Reference System associated with the entry has changed.

  9. Click Add and the new layer will appear in your map as OpenStreetMap WMS - by terrestris.

  10. Close the Data Source Manager dialog if not done automatically

  11. In the Layers panel, click and drag it to the bottom of the list.

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

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

    1. Open the Project ‣ Properties... ‣ CRS tab

    2. Uncheck No projection (or unknown/non-Earth projection)

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

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

  14. Now right-click on one of your own layers in the Layers panel and click Zoom to layer extent. You should see the Swellendam area:

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

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

10.1.1.1. WMSの性質と限界

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

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

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

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

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

10.1.2. basic Try Yourself

  1. Hide the OSM-WSM layer in the Layers panel.

  2. Add the "ZAF CGS 1M Bedrock Lithostratigraphy" WMS server at this URL: http://196.33.85.22/cgi-bin/ZAF_CGS_Bedrock_Geology/wms

  3. Load the BEDROCKGEOLOGY layer into the map (you can also use the Layer ‣ Add Layer ‣ addWmsLayer Add WMS/WMTS Layer... button to open the Data Source Manager dialog). Remember to check that it's in the same WGS 84 / World Mercator projection as the rest of your map!

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

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

結果の確認

10.1.3. moderate Try Yourself

  1. Hide all other WMS layers to prevent them from rendering unnecessarily in the background.

  2. Add the "OGC" WMS server at this URL: http://ogc.gbif.org:80/wms

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

結果の確認

10.1.4. hard Try Yourself

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

  • Find a new WMS at directory.spatineo.com (or elsewhere online). It must not have associated fees or restrictions, and must have coverage over the Swellendam study area.

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

結果の確認

10.1.5. In Conclusion

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

10.1.7. What's Next?

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