18.1. OGCデータクライアントとしてのQGIS

Open Geospatial Consortium (OGC)は世界中の300以上の企業、政府、非営利団体、研究組織が集まった国際的組織です。ここのメンバーは地理空間コンテンツとサービス、GISデータの解析と交換のための標準の開発と実装を行っています。

Describing a basic data model for geographic features, an increasing number of specifications are developed by OGC to serve specific needs for interoperable location and geospatial technology, including GIS. Further information can be found at https://www.opengeospatial.org/.

QGISでサポートされている重要なOGC仕様は以下のとおりです。

OGCサービスは、異なるGISの実装とデータストアとの間の地理空間データを交換するためにますます使用されています。QGISは **SFS**(PostgreSQL/PostGISのデータプロバイダーのサポートにより、 PostGIS レイヤー のセクションを参照)され、クライアントとして上記の仕様に対処できます。

18.1.1. WMS/WMTS クライアント

18.1.1.1. WMS サポート概要

QGISは現在、WMS 1.1、1.1.1と1.3のサーバーを理解しWMSクライアントとして動作することができます。特に、そのようなDEMISとして公にアクセス可能なサーバに対してテストされています。

WMSサーバーは、与えられた範囲でラスター地図、レイヤーのセット、シンボル化スタイル、および透明度のために、クライアント(例えば、QGIS)によって要求に作用します。WMSサーバーは、そのローカルデータソースを参照地図をラスター化し、ラスター形式でクライアントに送り返します。QGISのために、このフォーマットは、一般的にJPEGまたはPNGになります。

WMSは、一般的には本格的なWebサービスではなく、REST(Representational State転送)サービスです。そのように、実際にQGISによって生成されたURLを取ることができ、QGISが内部で使用するのと同じ画像を取得するために、Webブラウザでそれらを使用しています。そこに市場でのWMSサーバーのいくつかのブランドがあり、それらすべてが、WMSの標準の独自の解釈を持っているので、これは、トラブルシューティングに役立ちます。

WMSレイヤーは簡単に追加できます。WMSサーバーにアクセスするURLを知っていれば追加できます。サーバーに対してアクセスできる接続ができてサーバーがデータ転送方式としてHTTPを理解できれば大丈夫です。

Additionally, QGIS will cache your WMS responses (i.e. images) for 24h as long as the GetCapabilities request is not triggered. The GetCapabilities request is triggered everytime the Connect button in the Add Layer(s) from WMS(T) Server dialog is used to retrieve the WMS server capabilities. This is an automatic feature meant to optimize project loading time. If a project is saved with a WMS layer, the corresponding WMS tiles will be loaded from the cache the next time the project is opened as long as they are no older than 24H.

18.1.1.2. WMTS サポートの概要

QGISもWMTSクライアントとして動作することができます。WMTSは、地理空間データのタイルセットを配布するためのOGC標準です。WMTSで、タイルセットは、事前に生成され、クライアントはタイルのみの伝送ではなく、それらの生産を要求したので、これはWMSよりデータを配信するより速く、より効率的な方法です。WMS要求は、典型的には、生成及びデータの伝送の両方を含みます。タイル張りの地理空間データを閲覧するための非OGC標準のよく知られた例は、Googleマップです。

ユーザーが望むかもしれないものに近い様々な縮尺でデータを表示するため、WMTSのタイルセットは、いくつかの異なる縮尺レベルで生産され、それらを要求するGISクライアントのために利用できるようになります。

この図はタイルセットの概念を示しています:

../../../_images/concept_wmts.png

図 18.1 WMTS タイルセットコンセプト

サポートをQGIS WMTSの2種類のインタフェースは、キーと値のペア(KVP)とRESTfulを経由しています。これら2つのインターフェイスは異なっており、それらは別々にQGISに指定する必要があります。

  1. WMTS KVP サービスにアクセスするためには、QGISユーザーは WMS/WMTS インターフェイスを開き、WMTSタイルサービスのURLに次の文字列を追加する必要があります:

    "?SERVICE=WMTS&REQUEST=GetCapabilities"
    

    このタイプのアドレスの例は次のとおりです

    https://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?\
      service=WMTS&request=GetCapabilities
    

    このWMTSでtopo2レイヤーをテストするためにうまく動作します。この文字列を追加すると、WMTS Webサービスは、WMSサービスの代わりに使用されることを示します。

  2. RESTful WMTS サービスは異なる形式です、わかりやすいURLです。この形式は OGC に推奨されています:

    {WMTSBaseURL}/1.0.0/WMTSCapabilities.xml
    

    This format helps you to recognize that it is a RESTful address. A RESTful WMTS is accessed in QGIS by simply adding its address in the WMS setup in the URL field of the form. An example of this type of address for the case of an Austrian basemap is https://maps.wien.gv.at/basemap/1.0.0/WMTSCapabilities.xml.

注釈

You can still find some old services called WMS-C. These services are quite similar to WMTS (i.e., same purpose but working a little bit differently). You can manage them the same as you do WMTS services. Just add ?tiled=true at the end of the url. See https://wiki.osgeo.org/wiki/Tile_Map_Service_Specification for more information about this specification.

WMTSを読んだときに, WMS-C についても考えるでしょう.

18.1.1.3. WMS/WMTS サーバーを選択する

QGISでWMS地物を初めて使用するときは、定義されたサーバーはありません。

Begin by clicking the addWmsLayer Add WMS layer button on the toolbar, or selecting Layer ▶ Add WMS Layer....

The dialog Add Layer(s) from a Server for adding layers from the WMS server appears. You can add some servers to play with by clicking the Add Default Servers button. This will add two WMS demo servers for you to use: the WMS servers of the DM Solutions Group and Lizardtech. To define a new WMS server in the Layers tab, select the New button. Then enter the parameters to connect to your desired WMS server, as listed in table_OGC_wms:

名前

接続の名前. この名前はサーバーコネクションドロップダウンボックスで使われます,ですから他のWMSサービスと区別できる名前にして下さい.

URL

データを提供するサーバーのURL。これは解決可能なホスト名でなければなりません - telnet接続を開くかまたはホストにpingを実行する場合に使用するものと同じ形式。

ユーザー名

セキュリティで保護されたWMSサーバーにアクセスするためのユーザー名。このパラメーターはオプションです。

パスワード

基本的な認証されたWMSサーバーのパスワード。このパラメーターはオプションです。

GetMap URI の無視

checkbox capabilitiesで報告されるGetMapリクエストURIを無視する 。上記のURLフィールドで与えられるURIを使用してください。

GetFeatureInfo URI の無視

checkbox capabilitiesで報告されるGetFeatureInfo URIを無視する 。上記のURLフィールドから与えられたURIを使用します。

表 OGC 1: WMS 接続パラメーター

インターネットからWMSサービスを受信できるようにプロキシサーバーを設定する必要がある場合は、オプションでプロキシサーバーを追加できます。 設定 ▶ オプション をクリックして ネットワーク&プロキシ タブを選択してください。そこでは、 checkbox ウェブアクセスにプロキシを使用 設定することで、プロキシ設定を追加しそれらを有効にできます。 プロキシタイプ selectString ドロップダウンメニューから正しいプロキシタイプを選択していることを確認してください。

新しいWMSサーバー接続が作成されたら、それは将来のQGISセッションのために保存されます。

ちなみに

WMS サーバー URL

WMSサーバーのURLを入力するときにのみ、ベースURLを持っていることを、確認してください。たとえば、このような 要求=GetCapabilities またはURLで バージョン=1.0.0 としての断片を持つべきではありません。

警告

Entering username and password in the Authentication tab will keep unprotected credentials in the connection configuration. Those credentials will be visible if, for instance, you shared the project file with someone. Therefore, it's advisable to save your credentials in a Authentication configuration instead (configurations tab). See 認証システム for more details.

18.1.1.4. WMS/WMTS レイヤーを読み込む

Once you have successfully filled in your parameters, you can use the Connect button to retrieve the capabilities of the selected server. This includes the image encoding, layers, layer styles and projections. Since this is a network operation, the speed of the response depends on the quality of your network connection to the WMS server. While downloading data from the WMS server, the download progress is visualized in the lower left of the WMS dialog.

画面は figure_OGC_add_wms のようになります。これは、欧州土壌ポータルのWMSサーバーが提供する応答を表示します。

../../../_images/connection_wms.png

図 18.2 その可能なレイヤーを示すWMSサーバーを追加するためのダイアログ、

画像エンコーディング

画像符号化 セクションは、クライアントとサーバーの両方でサポートされているフォーマットを示しています。画像の精度要件に応じていずれかを選択します。

ちなみに

画像エンコーディング

典型的な WMS サーバーは画像のエンコーディングにJPEGかPNGを提案してくるでしょう。JPEG は損失のある圧縮形式ですが、PNG は生のラスターデータを忠実に再現します。

WMSデータが自然の中での撮影であることを期待する場合、および/または画質の若干の損失を気にしない場合、JPEGを使用してください。このトレードオフは、一般的にPNGに比べて5倍のデータ転送要求によって減少します。

元のデータの正確な表現をしたい、そしてデータ転送の要件の増加を気にしない場合、PNGを使用してください。

オプション

WMSレイヤーのレイヤー名 ダイアログのオプション]領域は、追加できるテキストフィールドを提供します。この名前は、レイヤーをロードした後、凡例に表示されます。

レイヤー名の下に、ユーザーが タイルサイズ を定義できます、使用すると、タイルのサイズを設定したい場合(例えば、256×256)は、複数の要求にWMSリクエストを分割します。

GetFeatureInfoの地物制限 は、サーバーからどの地物をクエリするか定義します。

If you select a WMS from the list, a field with the default projection provided by the mapserver appears. If the Change... button is active, you can click on it and change the default projection of the WMS to another CRS provided by the WMS server.

最後に、アクティブできます checkbox 使用文脈WMS-Legend WMSサーバーがこの機能をサポートしている場合。次に、現在の地図ビューの範囲にのみ関連凡例が表示されますので、現在の地図で見ることができないものの凡例項目は含まれていません。

レイヤー順序

レイヤー順序 タブには、現在接続されているWMSサーバーから利用できる選択されたレイヤーが一覧表示されます。いくつかのレイヤーが拡張されていることに気づくことがあり、これは、レイヤーは画像スタイルの選択で表示できることを意味しています。

一度に複数のレイヤーを選択できますが、レイヤーごとに画像スタイルは1つのだけです。いくつかのレイヤーが選択されている場合、それらは、WMSサーバーで結合され、一度にQGISに送信されます。

ちなみに

WMSレイヤーの順序

サーバーによってレンダリングWMSレイヤーが上からリストの最後に、レイヤーセクションに記載されている順に重ねています。オーバーレイの順序を変更したい場合は、 レイヤー順序 タブを使用できます。

透過性

QGISのこのバージョンでは、 レイヤーのプロパティ から グローバル透明度 設定が、利用できるときは、常にオンにハードコードされます。

ちなみに

WMSレイヤーの透過性

The availability of WMS image transparency depends on the image encoding used: PNG and GIF support transparency, whilst JPEG leaves it unsupported.

空間参照系

座標参照系(CRS)はQGIS投影のためOGC用語です。

各WMSレイヤーはWMSサーバーの能力に応じて、複数のCRSに提示することができます。

To choose a CRS, select Change... and a dialog similar to the one shown in 図 10.3 will appear. The main difference with the WMS version of the dialog is that only those CRSs supported by the WMS server will be shown.

18.1.1.6. タイルセット

WMTSを使用して(キャッシュWMS)サービスのような

https://opencache.statkart.no/gatekeeper/gk/gk.open_wmts?\
  service=WMTS&request=GetCapabilities

サーバーによって与えられた タイルセット タブを閲覧できます。タイルのサイズ、フォーマットおよびサポートされているCRSなどの追加情報は、この表に記載されています。この機能と組み合わせて、 表示 ▶ パネル (または kde 設定 ▶ パネル ) それから タイル縮尺パネル を選択することで、タイル縮尺スライダーを使用できます。これは、ドッキングされた素敵なスライダーでタイルサーバーから利用可能な縮尺を提供します。

18.1.1.7. 地物特定ツールの利用

一度WMSサーバーを追加してしまい、WMSサーバーからのすべてのレイヤーが照会可能であるならば、 identify 識別 ツールを使用して地図キャンバス上でピクセルを選択できます。クエリが行われた各選択のためのWMSサーバーに行われます。クエリの結果はテキスト形式で返されます。このテキストの書式は、使用される特定のWMSサーバーに依存しています。

フォーマット選択

複数の出力フォーマットがサーバーによってサポートされている場合、サポートされる形式とコンボボックスが自動的に識別結果ダイアログに追加され、選択されたフォーマットは、レイヤーのためのプロジェクトに格納されてもよいです。

GMLフォーマットサポート

identify :sup:`識別`ツールは、GML形式でWMSサーバーの応答(GetFeatureInfo)を(それはこの文脈ではQGIS GUIでの地物と呼ばれる)をサポートしています。「地物」フォーマットがサーバーによってサポートされており、選択された場合は、識別ツールの結果は、通常のベクターレイヤーからのように、ベクター地物です。単一の地物をツリーで選択された場合、それは地図で強調表示され、それがクリップボードにコピーされ、別のベクターレイヤーに貼り付けできます。GML形式でGetFeatureInfoをサポートするために、以下のUMN Mapserverの設定例を参照してください。

# in layer METADATA add which fields should be included and define geometry (example):

"gml_include_items"   "all"
"ows_geometries"      "mygeom"
"ows_mygeom_type"     "polygon"

# Then there are two possibilities/formats available, see a) and b):

# a) basic (output is generated by Mapserver and does not contain XSD)
# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "application/vnd.ogc.gml,text/html"

# b) using OGR (output is generated by OGR, it is send as multipart and contains XSD)
# in MAP define OUTPUTFORMAT (example):
OUTPUTFORMAT
    NAME "OGRGML"
    MIMETYPE "ogr/gml"
    DRIVER "OGR/GML"
    FORMATOPTION "FORM=multipart"
END

# in WEB METADATA define formats (example):
"wms_getfeatureinfo_formatlist" "OGRGML,text/html"

表示プロパティ

WMSサーバーを追加したら、凡例でそれを右クリックして プロパティ を選択することで、プロパティを表示できます。

メタデータタブ

タブ メタデータ は、一般的に、そのサーバーから返された機能の声明から収集され、WMSサーバーに関する豊富な情報を表示します。多くの定義がWMSの規格を読むことによって収集できますが( 文献とWeb参照 でオープン地理空間コンソーシアムを参照)、ここで便利ないくつかの定義は:

  • サーバープロパティ

    • WMS バージョン --- サーバーによってサポートされたWMSのバージョン.

    • 画像フォーマット --- サーバーが地図を描画するときに応答できるMIME-タイプのリスト。QGISは、典型的には少なくとも 画像/png画像/jpeg である、で構築された基礎となるQtライブラリをフォーマットするものは何でもサポートしています。

    • アイデンティティ形式 ---サーバーが識別ツールを使用する場合に対応できるMIME-タイプのリスト。現在、QGISは ``テキストplain``タイプをサポートしています。

  • レイヤープロパティ

    • 選択 ---そのサーバーは、このプロジェクトに追加したときに、このレイヤーを選択したかどうか。

    • 可視 ---このレイヤーは(まだQGISのこのバージョンでは使用されない)、凡例に見えるように選択されているか否か。

    • 特定可能 ---このレイヤーは特定ツールが使用されたときに結果を返すかどうか。

    • 透明可能 ---このレイヤーが透明でレンダリングすることが可能かどうか。QGISのこのバージョンでは、これが Yes であり画像符号化が透明度をサポートしている場合、常に透明度を使用します。

    • ズームイン可能 ---このレイヤーは、サーバーによってズームインすることが可能かどうか。QGISのこのバージョンでは、すべてのWMSレイヤーがこれを Yes に設定されることを前提としています。欠陥レイヤーは奇妙にレンダリングされることがあります。

    • カスケードカウント --- WMSサーバーは、レイヤーのためのラスターデータを取得するために、他のWMSサーバーへのプロキシとして動作することができます。このエントリは、このレイヤーのための要求は結果のためにWMSサーバーをピアに転送された回数を示しています。

    • 固定幅、固定高さ ---このレイヤーは、固定されたソースピクセル寸法を有しているか否か。QGISのこのバージョンは、すべてのWMSレイヤーは、何もこのセットを前提としています。欠陥レイヤーは奇妙にレンダリングされることがあります。

    • ** WGS 84バウンディングボックス** --- WGS 84座標での、レイヤーのバウンディングボックス。一部のWMSサーバーは、(例えば、UTM座標が代わりに使用されている)これを正しく設定しないでください。この場合、このレイヤーの初期ビューはQGISによって非常に「ズームアウト」外観でレンダリングされてもよいです。WMSのウェブマスターは、彼らがWMSのXML要素 LatLonBoundingBoxEX_GeographicBoundingBox またはCRS:84 BoundingBox として知っている可能性がある、このエラーが通知されなければなりません。

    • CRSで利用可能 ---このレイヤーは、WMSサーバーによってレンダリングすることができることを予測。これらは、WMS-ネイティブフォーマットで記載されています。

    • スタイルで利用可能 ---このレイヤーがWMSサーバーによって描画されることができる画像のスタイル。

18.1.1.8. Show WMS legend graphic in table of contents and layout

The QGIS WMS data provider is able to display a legend graphic in the table of contents' layer list and in the print layout. The WMS legend will be shown only if the WMS server has GetLegendGraphic capability and the layer has getCapability url specified, so you additionally have to select a styling for the layer.

legendGraphicが利用可能な場合、それはレイヤーの下に表示されます。それは少しであり、(QgsLegendInterfaceアーキテクチャ上の制限のために)実際の次元でそれを開くために、それをクリックする必要があります。レイヤーの凡例をクリックすると、フル解像度での凡例を持つフレームを開きます。

In the print layout, the legend will be integrated at it's original (downloaded) dimension. Resolution of the legend graphic can be set in the item properties under Legend ▶ WMS LegendGraphic to match your printing requirements.

凡例は、現在の縮尺に基づいてコンテキスト情報を表示します。WMSの凡例は、WMSサーバーがGetLegendGraphic機能とレイヤーが指定getCapabilityのURLを持っている場合にのみ表示されますので、スタイリングを選択する必要があります。

18.1.1.9. WMSクライアントの制限

すべての可能なWMSクライアント機能がQGISのこのバージョンに含まれてはいません。より注目すべき例外のいくつかを以下に示します。

WMSレイヤー設定の編集

Once you've completed the addWmsLayer Add WMS layer procedure, there is no way to change the settings. A work-around is to delete the layer completely and start again.

認証が必要なWMS サーバー

現在、一般にアクセス可能と確保WMSサービスがサポートされています。セキュリティで保護されたWMSサーバーは、パブリック認証でアクセスできます。WMSサーバーを追加するときには(オプション)資格情報を追加できます。詳細は WMS/WMTS サーバーを選択する セクションを参照。

ちなみに

セキュアな OGC-レイヤーへのアクセス

If you need to access secured layers with secured methods other than basic authentication, you can use InteProxy as a transparent proxy, which does support several authentication methods. More information can be found in the InteProxy manual at https://inteproxy.wald.intevation.org.

ちなみに

QGIS WMS Mapserver

バージョン1.7.0以来、QGISはWMS 1.3.0 Mapserverの独自の実装を持っています。これに関する詳細は OGCデータサーバーとしてのQGIS 章を参照ください。

18.1.2. WCS クライアント

wcs ウェブカバレッジサービス(WCS)は、科学的モデルへの入力として、および他のクライアントのために、クライアント側のレンダリングに役立つ形でラスターデータへのアクセスを提供します。WCSはWFSとWMSと比較できます。WMSとWFSサービスインスタンスとして、WCSは、クライアントが、空間的な制約や他のクエリー基準に基づいて、サーバーの情報保有の部分を選択できます。

QGISではネイティブWCSプロバイダーを持っており、バージョン1.0および1.1の両方(大幅に異なっている)をサポートしていますが、1.1には多くの問題がある(すなわち、各サーバーは、様々な特殊性と異なる方法でそれを実装する)ため、現在は1.0を好みます。

ネイティブWCSプロバイダーは、すべてのネットワーク要求を処理し、すべての標準QGISのネットワーク設定(特にプロキシ)を使用しています。キャッシュ・モードを選択することも可能である(「常にキャッシュ」、「キャッシュを好む」、「ネットワークを好む」、「常にネットワーク」)、および時間的なドメインは、サーバーによって提供されている場合、プロバイダーはまた、時間位置の選択をサポートしています。

警告

Entering username and password in the Authentication tab will keep unprotected credentials in the connection configuration. Those credentials will be visible if, for instance, you shared the project file with someone. Therefore, it's advisable to save your credentials in a Authentication configuration instead (configurations tab). See 認証システム for more details.

18.1.3. WFS および WFS-T クライアント

QGISでは、WFSレイヤーにはかなり上の任意の他のベクターレイヤーのように振る舞います。地物を特定および選択でき、属性テーブルを表示できます。QGIS 1.6以降では、WFS-Tの編集もサポートされています。

一般的には、WFSのレイヤーを追加することは、WMSで使用される手順と非常に類似しています。違いは、定義されたデフォルトのサーバーが存在しないということですので、自身で追加する必要があります。

WFS レイヤーをロードする

As an example, we use the Gateway Geomatics WFS server and display a layer. https://demo.gatewaygeomatics.com/cgi-bin/wfs_gateway?REQUEST=GetCapabilities&VERSION=1.0.0&SERVICE=WFS

To be able to load a WFS Layer we create a connection to the WFS server first.

  1. Open the Data Source Manager dialog by pressing the dataSourceManager Open Data Source Manager button

  2. Enable the addWfsLayer WFS tab

  3. Click on New... to open the Create a New WFS Connection dialog

  4. Enter Gateway Geomatics as name

  5. Enter the URL (see above)

    ../../../_images/add_connection_wfs.png

    図 18.4 Creating a connection to a WFS server

  6. In the WFS settings dialog, you can:

    • Indicate the WFS version of the server. If unknown, press the Detect button to automatically retrieve it.

    • Define the maximum number of features retrieved in a single GetFetFeature request. If empty, no limit is set.

    • Invert axis orientation.

    • And depending on the WFS version:

      • Force to Ignore axis orientation (WFS 1.1/WFS 2.0)

      • Enable feature paging and specify the maximum number of features to retrieve with Page size. If no limit is defined, then the server default is applied.

    警告

    Entering username and password in the Authentication tab will keep unprotected credentials in the connection configuration. Those credentials will be visible if, for instance, you shared the project file with someone. Therefore, it's advisable to save your credentials in an Authentication configuration instead (Configurations tab). See 認証システム for more details.

  7. Press OK to create the connection.

好みで設定した可能性のあるすべてのプロキシ設定も認識されていることに注意してください。

Now we are ready to load WFS layers from the above connection.

  1. Choose 'Gateway Geomatics' from the Server Connections selectString drop-down list.

  2. Click Connect

  3. Select the Parks layer in the list

  4. You can also choose whether to:

    • unchecked Use title for layer name, showing the layer's title as defined on the server in the Layers panel instead of its Name

    • checkbox Only request features overlapping the view extent

    • unchecked Change the layer's CRS

    • or Build query to specify particular features to retrieve, by either using the corresponding button or double-clicking the target layer.

  5. Click Add to add the layer to the map.

../../../_images/connection_wfs.png

図 18.5 WFSレイヤーを追加

You'll notice the download progress is visualized in the lower left of the QGIS main window. Once the layer is loaded, you can identify and select a couple of features and view the attribute table.

注釈

QGIS supports different versions of the WFS protocol, with background download and progressive rendering, on-disk caching of downloaded features and version autodetection.

ちなみに

WFS サービスの検索

Googleやお好みの検索エンジンを使用して追加のWFSサーバーを見つけることができます。たくさんのパブリックURLのリストがあり、そのうちのあるものは維持管理され、あるものはされません。