QGISではWMS とWFSをデータソースとしてサポートします。WMSはネイティブ機能としてサポートしています; WFS と WFS-Tはプラグインとして実装されています。
The Open Geospatial Consortium (OGC),は、300以上の企業、政府機関、非営利団体、研究機関からなる国際組織です。その会員は地理空間コンテンツとサービス、GISデータの処理と交換に関する標準の開発と実装を行っています。
地理的な地物のための基礎的なデータモデルを記述するために、開発される規格の数は増加しています。 それらの規格は、GISを含む、位置と地理空間技術の相互運用のための、特定のニーズに応えるために開発されています。さらに詳しい情報は、 http://www.opengeospatial.org/で得られます。 .
主要なOGCの規格は次の通りです。:
OGCのサービスは、異なるGISやデータ格納方式間で地理空間データの交換を行うために使用される例が増加しています。QGISは上記の規格中のSFS(PostgreSQL/PostGISデータプロバイダサポートを通じて;セクション 3.2を参照)、またはWFSそしてWMSのクライアントとしてOGCを取り扱うことができます。
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を理解しているなら、大変簡単です。
WMS機能を初めて使用する時は、サーバ定義が存在しません。ツールバーの [WMSレイヤの追加]ボタンをクリックするか、またはメニューバーの[レイヤ]から [WMSレイヤの追加]をクリックするとサーバー選択を開始できます。
WMSサーバのレイヤを追加するための サーバからレイヤを追加 画面が表示されます。幸運なことに、[規定のサーバを追加]ボタンをクリックすることで、いくつかのサーバを追加することができます。追加されるサーバは少なくとも三つあり、この中にNASA(JPL)WMSサーバもあります。あたらしいWMSサーバーを定義する場合は、[新規]ボタンを選択してください。それから、求めるWMSサーバに接続するためのパラメータを入力します。パラメータの一覧を表 5.1 に示します。
インターネットからWMSサービスを受信できるようにするためにプロキシサーバを用意する必要があるのでしたら、オプションでプロキシサーバを追加することができます。 設定 オプション を選択して ネットワーク & プロキシ タブをクリックして下さい. そこで、プロキシ設定を追加し、正しいプロキシタイプを Proxy type ▸ ドロップダウンメニューから選択することができます。.
ひとたびWMSサーバ接続を生成したら、これ以後のQGISセッションではこの接続が保存されます。
パラメータの入力に1回成功すると 接続 ボタンを選択することで選択したサーバから利用可能な情報を取得できます。ここにはイメージエンコーディング、レイヤ、レイヤスタイルと投影方法の情報があります。この操作はネットワークを利用しているので反応速度はWMSサーバに接続するネットワークの品質に依存します。 WMSサーバからデータをダウンロードしている間にダウンロード過程はWMSプラグインダイアログの左下に表示されます。
スクリーンは図 5.1のように表示されます, ここでは NASA JPL OnEarth WMS サーバーからの反応が表示されています。
イメージエンコーディング セクションではクライアントとサーバでサポートされている形式がリストされます。正確に必要なイメージを選択して下さい。
WMSデータで自然な写真の表示を望み画像の品質のある程度劣化を気にしない場合はJPEGを利用するべきです。 これはPNGと比較してデータ転送量を5分の1にすることと品質劣化とのトレードオフです。
オプション セクションではWMSレイヤの名前を追加できるテキストフィールドが提供されます。名前はレイヤがロードされた後に凡例に表示されます。
もしGetCapabilities-document で取得されるOnlineRessource-URLが接続パラメータで指定されたURLと異なる場合 QGISではどちらのURLを使用すべきか尋ねてきます。 回答の内容にしたがってr QGISはチェックボックスをチェックします これは後から Ignore GetMap URL チェックボックスと Ignore GetFeatureInfo URL チェックボックスで別々に調整できます。
レイヤ タブでは選択されたWMSサーバで利用可能なレイヤリストが表示されます。いくつかのレイヤは展開できることに注意して下さい、そのレイヤの イメージスタイルを表示して選択できることを示します。
ここでは複数のレイヤを一度に選択することが可能です。しかし各レイヤ単位では1個のイメージスタイルのみが選択可能です。 複数のレイヤが選択されている場合WMSサーバでは一体化されてQGISに送信されます。
このバージョンのQGISでは透過性の設定はハードコーディングされており、利用可能な場合はいつでもオンになっています。
座標参照システム (CRS) とはQGIS での投影法のことでOGC の専門用語です。
それぞれのWMS レイヤはWMSサーバーの機能に依存して複数のCRSで表示可能です。 座標参照システム (x available) ヘッダのx が Layers セクションのレイヤの選択と非選択によっって変わることに注意する必要があります。
CRSを選択するために Change... を選択すると 図 6.2 セクション 6.3 のような画面が表示されます。WMSバージョンによる主要なスクリーンの違いはWMSサーバによってサポートされるCRSが表示されることです。
QGIS では、WMSサーバを検索することができます。 図 5.2に Add Layer(s) from a Server -ダイアログに新たに作られた search タブを示します。
図が示すように、テキストフィールドに検索文字列を記入して[検索]ボタンをクリックできます。
少し待つと、検索結果がテキストフィールドの下にあるタブに入ってきます。
検索結果一覧を見回して、テーブル内の検索結果を調べて下さい。結果を表示するには、テーブルのエントリを選択して、[選択行をWMSリストに追加する]ボタンをクリックして[レイヤ]タブに戻ります。
QGISは自動的にサーバリストを更新して、検索結果から選択したサーバを保存されているWMSサーバ一覧に入れます。
あとは[接続]ボタンをクリックして表示したいレイヤを選択するだけです。
このオプションは、特定のキーワードで地図を検索したい時に大変手軽に使えるものです。
このオプションは基本的に http://geopole.org のAPIのフロントエンドとなっています。
http://labs.metacarta.com/wms-c/Basic.pyのようなWMS-C (Cached WMS)サービスを利用する場合サーバーから与えられる tiles -タブを利用できます。タイルサイズ、形式とサポートされる座標参照系はここのテーブルに一覧表示されます。
この機能と連動して View タブでタイルスケールスライダーを利用することが可能です tile scale slider ▸ , これはタイルサーバーから与えられる利用可能なスケールを操作できるスライダーです。
MSサーバを追加し、 WMSサーバから来るレイヤがクエリ可能である場合は、 マップキャンバスのピクセルを選択して情報を取得する Identify ツールを使うことができます。 ピクセルが選択されるごとに、WMSサーバへのクエリが生成されます。
WMSサーバを追加したら、地図凡例で右クリックをして、 Properties Propertiesを選択することで、プロパティを表示させることができます。
メタデータ タブでは、WMSサーバに関する豊富な情報を表示します。 この情報はサーバから返ってきたCapabilitiesから多くを収集しています。
多くの定義はWMS標準 [?], [?], から拾えますが、いくつかの便利な定義があります。:
このバージョンのQGISではWMSクライアントの機能が全て使えるようにはなっていません。 以下に特に注意すべき例外を示します。:
一度 [WMSレイヤの追加]の手続きを完了させてしまうと、設定の変更ができません。
対応策は、レイヤを完全に削除してやり直すことです。
現在公開されていてセキュアなWMSサービスがサポートされています。セキュアなWMSサービスは認証によってアクセスできます。WMSサーバを追加するときに(オプションとして)資格情報を追加することができます。 詳細については 5.2.2 をご覧下さい。
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/
QGISではWFSレイヤは他のベクタレイヤと同じように利用できます。地物の情報表示や選択が行え、属性テーブルを表示できます。 サーバーがサポートしている場合、QGIS 1.6 から編集機能(WFS-T)もサポートされました。WFSプラグインをスタートするには Plugins プラグインマネージャ... , WFS plugin を有効にします。チェックボックスをチェックして OK をクリックして下さい.
A new Add WFS Layer アイコンがWMSの下にあります。これをクリックしてダイアログを表示します。WFSレイヤの追加方法はWMSの処理と似ています。異なる点はデフォルトサーバが定義されていないことです。ですから独自のサーバを追加します。
例としてDM Solutions のWFSサーバーを利用してレイヤを表示してみます。URLは次の通りです:
注 WFS-pluginは設定したプロキシー情報を利用します。
現在表示されているビューの領域にオーバーラップする地物のみサーバーに要求する チェックボックスのチェックが無い場合QGISはWFS-Serverからすべての地物を取得します。 領域中で小さな場所のみを利用したい場合は作業したいエリアにズームして上で言及したチェックボックスをチェックしてWFSレイヤを再度読み込んでください。基本的にはこの機能は現在の表示領域の四角形座標をWFSクエリに加えています。 この機能は巨大なWFSデータセットからいくつかの 地物を利用する場合大変便利です。
QGIS メインウィンドウの左下にダウンロード経過が表示されることに注意して下さい。 レイヤが読み込まれると地域の情報表示や選択ができ、属性テーブルの表示が可能になります。
このプラグインはMapServer WFS サーバーと組み合わせて動かすのが良い組み合わせです。しかしこのプラグインはランダムな動きとクラッシュがまだ存在します。このプラグインの将来のバージョンでこのあたりの進歩をみることができるでしょう。
これは WFS 1.0.0 のみが現在サポートされていることを意味します。現在他のWFS-serversで利用されているいろいろなバージョンのWFSについてはテストされていません。もしあなたが別の WFS-serverで問題に直面した場合は遠慮なく開発チームに連絡して下さい。 将来の情報についてのメーリングリストについては 13章を参照して下さい。