5  OGC標準の利用方法

QGISではWMS とWFSをデータソースとしてサポートします。WMSはネイティブ機能としてサポートしています; WFS と WFS-Tはプラグインとして実装されています。

 5.1  OGCデータとは何?
 5.2  WMSクライアント
  5.2.1  WMSサポート概要
  5.2.2  WMSサーバーの選択
  5.2.3  WMSレイヤのロード
  5.2.4  サーバー検索
  5.2.5  タイルセット
  5.2.6  情報取得ツールの利用方法
  5.2.7  WMSクライアントの制限
 5.3  WMSサーバー
 5.4  WFS と WFS-T クライアント

5.1  OGCデータとは何?

The Open Geospatial Consortium (OGC),は、300以上の企業、政府機関、非営利団体、研究機関からなる国際組織です。その会員は地理空間コンテンツとサービス、GISデータの処理と交換に関する標準の開発と実装を行っています。

地理的な地物のための基礎的なデータモデルを記述するために、開発される規格の数は増加しています。 それらの規格は、GISを含む、位置と地理空間技術の相互運用のための、特定のニーズに応えるために開発されています。さらに詳しい情報は、 http://www.opengeospatial.org/で得られます。 .

主要なOGCの規格は次の通りです。:

OGCのサービスは、異なるGISやデータ格納方式間で地理空間データの交換を行うために使用される例が増加しています。QGISは上記の規格中のSFS(PostgreSQL/PostGISデータプロバイダサポートを通じて;セクション 3.2を参照)、またはWFSそしてWMSのクライアントとしてOGCを取り扱うことができます。

5.2  WMS クライアント

5.2.1  WMSサポート概要

QGISは、現在、WMSクライアントとして動作します。対応するバージョンは 1.1, 1.1.1, 1.3 です。 特にDEMISやJPL OnEarthのような一般にアクセスできるサーバに対してテストを行いました。

WMSサーバは、クライアント(QGISなど)が出す、範囲、レイヤ、描画スタイル、透過度を持たせたラスタ地図のリクエストに基づいて動作します。 WMSサーバは、リクエストを受けると、ローカルデータソースを調べ、地図のラスタ化を行い、 クライアントにラスタ形式で返却します。QGISでは通常はJPEGまたはPNGになります。

WMSは、一般的には、完全なWebサービスというより、REST(Representational State Transfer)サービスです。実際に、QGISが生成したURLを取得して、このURLをウェブブラウザで使うと、QGISが内部で使用している画像と同じものを検索することができます。 これは、トラブルシューティングに便利です。 なぜなら、出回っているWMSサーバには複数のブランドがあって、 それぞれ別個のWMS標準の解釈をするためです。 WMSレイヤの追加は、WMSサーバにアクセスするURLを知っていて、そのサーバへのサービス可能な接続を持ち、かつ、サーバがトランスポート機構としてHTTPを理解しているなら、大変簡単です。

WMSレイヤの追加は、WMSサーバにアクセスするURLを知っていて、そのサーバへのサービス可能な接続を持ち、かつ、サーバがトランスポート機構としてHTTPを理解しているなら、大変簡単です。

5.2.2  WMSサーバーの選択

WMS機能を初めて使用する時は、サーバ定義が存在しません。ツールバーの PICAdd WMS layer をクリックするか、またはメニューの Layer PIC Add WMS Layer... をクリックするとサーバー選択を開始できます。

WMSサーバのレイヤを追加するための Add Layer(s) from a Server ダイアログが表示されます。 幸運なことに Add default servers ボタンをクリックすることで、 いくつかのサーバを追加することができます。 追加されるサーバは少なくとも三つあり、この中にNASA(JPL)WMSサーバもあります。 Layers であたらしいWMSサーバーを定義する場合は, New を選択してください。 それから、求めるWMSサーバに接続するためのパラメータを入力します。パラメータの一覧を5.1に示します。:




名称

この接続に付ける名前。この名前は、サーバ接続ドロップダウンで使われ、他のWMSサーバと区別するためのものです。



URL

データを提供するサーバのURL。これは、名前解決可能なホスト名でなければなりません。ホスト名とは、telnet接続やpingで使う書式と同じです。



Username

保護されたWMSサーバにアクセスするためのユーザ名。これは無くてもかまいません。



Password

WMSサーバのbasic認証のパスワード。これは無くてもかまいません。




表 5.1.: WMS接続パラメータ

インターネットからWMSサービスを受信できるようにするためにプロキシサーバを用意する必要があるのでしたら、オプションでプロキシサーバを追加することができます。 設定 PIC オプション を選択して ネットワーク & プロキシ タブをクリックして下さい. そこで、プロキシ設定を追加し、正しいプロキシタイプを Proxy type   ドロップダウンメニューから選択することができます。.

ひとたびWMSサーバ接続を生成したら、これ以後のQGISセッションではこの接続が保存されます。


QGIS Tip 25: WMS URL
WMSサーバのURLを入力するとき、ベースURLを入力して下さい。 たとえば、URLの中にあるrequest=GetCapabilities version=1.0.0 といったものをURLに入れないで下さい。

5.2.3  WMSレイヤのロード

パラメータの入力に1回成功すると 接続 ボタンを選択することで選択したサーバから利用可能な情報を取得できます。ここにはイメージエンコーディング、レイヤ、レイヤスタイルと投影方法の情報があります。この操作はネットワークを利用しているので反応速度はWMSサーバに接続するネットワークの品質に依存します。 WMSサーバからデータをダウンロードしている間にダウンロード過程はWMSプラグインダイアログの左下に表示されます。

スクリーンは図 5.1のように表示されます, ここでは NASA JPL OnEarth WMS サーバーからの反応が表示されています。


PIC

図 5.1.: WMS サーバ追加ダイアログで利用可能なレイヤを表示 PIC


イメージエンコーディング

イメージエンコーディング セクションではクライアントとサーバでサポートされている形式がリストされます。正確に必要なイメージを選択して下さい。


QGIS Tip 26:
典型的な WMSサーバでは またはPNG の画像エンコーディングを選択できるでしょう。JPEGは非可逆の圧縮形式です それに対してPNGは 元のラスタデータを正確に再現します。

WMSデータで自然な写真の表示を望み画像の品質のある程度劣化を気にしない場合はJPEGを利用するべきです。 これはPNGと比較してデータ転送量を5分の1にすることと品質劣化とのトレードオフです。

オリジナルデータの正確な表示が必要な場合でデータ転送量が増加することを気にしない場合はPNGを利用すべきです。


オプション

オプション セクションではWMSレイヤの名前を追加できるテキストフィールドが提供されます。名前はレイヤがロードされた後に凡例に表示されます。

もしGetCapabilities-document で取得されるOnlineRessource-URLが接続パラメータで指定されたURLと異なる場合 QGISではどちらのURLを使用すべきか尋ねてきます。 回答の内容にしたがってr QGISはチェックボックスをチェックします これは後から Ignore GetMap URL チェックボックスと Ignore GetFeatureInfo URL チェックボックスで別々に調整できます。

レイヤ

レイヤ タブでは選択されたWMSサーバで利用可能なレイヤリストが表示されます。いくつかのレイヤは展開できることに注意して下さい、そのレイヤの イメージスタイルを表示して選択できることを示します。

ここでは複数のレイヤを一度に選択することが可能です。しかし各レイヤ単位では1個のイメージスタイルのみが選択可能です。 複数のレイヤが選択されている場合WMSサーバでは一体化されてQGISに送信されます。


QGIS Tip 27: WMS
このバージョンのQGISでは, WMSレイヤはレイヤセクションにリストされた先頭から最後までの順序順序でサーバーで描画されます。もし重なり合いの順序を変更したい場合は Layer Order タブで変更できます。

透過性

このバージョンのQGISでは透過性の設定はハードコーディングされており、利用可能な場合はいつでもオンになっています。


QGIS Tip 28: WMS
WMSイメージの透過性機能は利用しているイメージエンコーディングに依存します: PNG と GIF は透過性を サポートしているのに対してJPEGはサポートしていません。

座標参照システム

座標参照システム (CRS) とはQGIS での投影法のことでOGC の専門用語です。

それぞれのWMS レイヤはWMSサーバーの機能に依存して複数のCRSで表示可能です。 座標参照システム (x available) ヘッダのx が Layers セクションのレイヤの選択と非選択によっって変わることに注意する必要があります。

CRSを選択するために Change... を選択すると 図 6.2 セクション 6.3 のような画面が表示されます。WMSバージョンによる主要なスクリーンの違いはWMSサーバによってサポートされるCRSが表示されることです。


QGIS Tip 29: WMS
WMSレイヤを最初にプロジェクトに追加することが最良の結果をもたらします。 プロジェクトの投影法が最初に描画したWMSレイヤの CRSを継承するからです。オンザフライプロジェクション On-the-fly projection (セクション 6.2参照)を使うと任意の ベクタレイヤをプロジェクト投影法にあわせることができます。 このバージョンのQGISではWMSレイヤを後から追加して カレントプロジェクトの投影法が異なる場合は予測できない結果が起こるでしょう。

5.2.4  サーバー検索

QGIS では、WMSサーバを検索することができます。 図 5.2Add Layer(s) from a Server -ダイアログに新たに作られた search タブを示します。


PIC

図 5.2.: キーワードを入力した状態のWMSサーバ検索ダイアログPIC


図が示すように、テキストフィールドに検索文字列を記入して Search ボタンをクリックできます。

少し待つと、検索結果がテキストフィールドの下にあるタブに入ってきます。

検索結果一覧を見回して、テーブル内の検索結果を調べて下さい。 結果を表示するには、テーブルのエントリを選択して、 Add selected row to WMS-list ボタンをクリックして server タブに戻ります。

QGISは自動的にサーバリストを更新して、検索結果から選択したサーバを保存されているWMSサーバ一覧に入れます。

あとは Connect ボタンをクリックして表示したいレイヤを選択するだけです。

このオプションは、特定のキーワードで地図を検索したい時に大変手軽に使えるものです。

このオプションは基本的に http://geopole.orgのAPIのフロントエンドとなっています。

5.2.5  Tilesets

http://labs.metacarta.com/wms-c/Basic.pyのようなWMS-C (Cached WMS)サービスを利用する場合サーバーから与えられる tiles -タブを利用できます。タイルサイズ、形式とサポートされる座標参照系はここのテーブルに一覧表示されます。

この機能と連動して View タブでタイルスケールスライダーを利用することが可能です tile scale slider   , これはタイルサーバーから与えられる利用可能なスケールを操作できるスライダーです。

5.2.6  情報取得ツールの利用方法

MSサーバを追加し、 WMSサーバから来るレイヤがクエリ可能である場合は、 マップキャンバスのピクセルを選択して情報を取得する PICIdentify ツールを使うことができます。 ピクセルが選択されるごとに、WMSサーバへのクエリが生成されます。

プロパティの閲覧

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

メタデータタブ

メタデータ タブでは、WMSサーバに関する豊富な情報を表示します。 この情報はサーバから返ってきたCapabilitiesから多くを収集しています。

多くの定義はWMS標準 [?], [?], から拾えますが、いくつかの便利な定義があります。:

5.2.7  WMS クライアントの制限

このバージョンのQGISではWMSクライアントの機能が全て使えるようにはなっていません。 以下に特に注意すべき例外を示します。:

WMSレイヤ設定の編集

一度 PICAdd WMS layer の手続きを完了させてしまうと、設定の変更ができません。

対応策は、レイヤを完全に削除してやり直すことです。

認証を求めるWMSサーバ

現在公開されていてセキュアなWMSサービスがサポートされています。セキュアなWMSサービスは認証によってアクセスできます。WMSサーバを追加するときに(オプションとして)資格情報を追加することができます。 詳細については 5.2.2 をご覧下さい。


QGIS Tip 30: OGC-
BASIC認証以外の方法で保護されたレイヤにアクセスする必要がある場合、 透過プロキシとしてInteProxyが使えるかも知れません。 これは、いくつかの認証方法をサポートします。 詳しい情報はhttp://inteproxy.wald.intevation.org にあるInteProxyマニュアルをご覧下さい。

5.3  WMS サーバー

QGIS mapserverはオープンソースでWMS 1.3を実装したものです、そにでは主題地図を描画するための先進的な地図描画機能が実装されています。QGIS mapserver はC++言語で書かれた FastCGI/CGI (Common Gateway Interface)アプリケーションでウェッブサーバー (例 Apache, Lighttpd)と一緒に動きます。.

これはQGISをGIS機能と地図描画のバックエンドに利用しています。その上Qtライブラリがグラフィックに利用され、プラットフォームに依存しないC++プログラムが可能になっています。他のWMSソフトウェアと異なって QGIS mapserver はSLD/SEによる地図描画ルールを構成言語として使います、サーバーの構成とユーザー定義の地図描画ルールの両方をこの言語が担当します。

さらにQGIS mapserverプロジェクトは “Publish to Web” プラグインを提供しています, このプラグインは QGIS デスクトップのカレントレイヤとシンボロジーを QGIS mapserverのWEBプロジェクトとして出力します (SLDで記述された地図表示ルールを含みます).

As QGISデスクトップとQGIS mapserverは同じビジュアライゼーションライブラリを利用しているのでWEBに発行された地図はデスクトップGISと同じ外見になります。現在WEB用発行プラグインは基本的なシンボライゼーションをサポートしています。複雑な地図表記ルールは手動で取り入れます。SLD標準で構成が設定されるので1つの言語のみを学習すればよく、そのことはWebに地図を発行する複雑な仕事を簡単にしています。

さらなる情報は以下の場所にあります:
http://karlinapp.ethz.ch/qgis_wms/
http://www.qgis.org/wiki/QGIS_mapserver_tutorial
http://linfiniti.com/2010/08/qgis-mapserver-a-wms-server-for-the-masses/

5.4  WFS と WFS-T クライアント

QGISではWFSレイヤは他のベクタレイヤと同じように利用できます。地物の情報表示や選択が行え、属性テーブルを表示できます。 サーバーがサポートしている場合、QGIS 1.6 から編集機能(WFS-T)もサポートされました。WFSプラグインをスタートするには Plugins PIC プラグインマネージャ... ,    WFS plugin を有効にします。チェックボックスをチェックして OK をクリックして下さい.

A new PICAdd WFS Layer アイコンがWMSの下にあります。これをクリックしてダイアログを表示します。WFSレイヤの追加方法はWMSの処理と似ています。異なる点はデフォルトサーバが定義されていないことです。ですから独自のサーバを追加します。

WFSレイヤのロード

例としてDM Solutions のWFSサーバーを利用してレイヤを表示してみます。URLは次の通りです:

http://www2.dmsolutions.ca/cgi-bin/mswfs_gmap

1.
WFSプラグインがロードされているかどうか確認します;ロードされていない場合はプラグインマネージャを開いてロードして下さい
2.
プラグインツールバーにある PICAdd WFS Layer をクリックして下さい。
3.
New    をクリックしてください
4.
Name  DM Solutions を名前として入力して下さい
5.
URL (前のページ参照)を入力して下さい
6.
Click OK   をクリックして下さい。
7.
サーバー接続で  ドロップダウンボックスから DM Solutions を選択して下さい
8.
接続    をクリックして下さい
9.
レイヤのリストが表示されるまで待って下さい
10.
Parks レイヤをクリックして下さい
11.
レイヤを地図に追加するため Ok をクリックして下さい
12.
地物が表示されるまで辛抱強く待って下さい

注 WFS-pluginは設定したプロキシー情報を利用します。


PIC

Figure 5.3.: WFSレイヤの追加 PIC


現在表示されているビューの領域にオーバーラップする地物のみサーバーに要求する チェックボックスのチェックが無い場合QGISはWFS-Serverからすべての地物を取得します。 領域中で小さな場所のみを利用したい場合は作業したいエリアにズームして上で言及したチェックボックスをチェックしてWFSレイヤを再度読み込んでください。基本的にはこの機能は現在の表示領域の四角形座標をWFSクエリに加えています。 この機能は巨大なWFSデータセットからいくつかの 地物を利用する場合大変便利です。

QGIS メインウィンドウの左下にダウンロード経過が表示されることに注意して下さい。 レイヤが読み込まれると地域の情報表示や選択ができ、属性テーブルの表示が可能になります。

このプラグインはMapServer WFS サーバーと組み合わせて動かすのが良い組み合わせです。しかしこのプラグインはランダムな動きとクラッシュがまだ存在します。このプラグインの将来のバージョンでこのあたりの進歩をみることができるでしょう。

これは WFS 1.0.0 のみが現在サポートされていることを意味します。現在他のWFS-serversで利用されているいろいろなバージョンのWFSについてはテストされていません。もしあなたが別の WFS-serverで問題に直面した場合は遠慮なく開発チームに連絡して下さい。 将来の情報についてのメーリングリストについては 13章を参照して下さい。


QGIS Tip 31: WFS
Googleやその他の検索エンジンを利用して他のWFSサーバーを検索できます。 そこでは多くの公開URLがありますが、メンテナンスされているものとそうでないものがあります。


QGIS Tip 32: WFS
このダイアログの Create a new WFS-connection でQGISでは認証付きのWFS-接続をまだサポートしていません。(訳者注 もしかするとv1.6ではサポートされているのではないか). 次のリリースで 認証付きWFS接続がサポートされることを期待しています。 それまでの間 InteProxy (http://inteproxy.wald.intevation.org) for を使うと認証付きの WFSサーバーを利用できます。