waigani's diary

QGISを中心にFOSS4Gをいじくる

9.QGIS 2.0のドキュメント日本語化が好きだ

何にもしてなくてごめんなさい。ユーザ登録すらしてない・・・

これに関しては、アドベントカレンダー中にどなたか触れると思いますので、trasifexのリンクの紹介だけに致します。
The QGIS Documentation translation project on Transifex

参加できる方は是非ご参加下さい。

8.QGIS 2.0のベクトルに複数スタイルを付けられるのが好きだ

QGIS 2.0ではベクトルレイヤに対して複数描画スタイルを付けることが出来ます。
ポリゴンのレイヤを開いているとします。ベクトルレイヤのレイヤプロパティを開いて、スタイルを設定します。
シンボルレイヤ群のところを見てみましょう。一番上の"Fill"を選んでいる状態だと、下の"+"を押していくと複数のシンボルレイヤを追加することが出来ます。

追加されたシンプル塗りつぶしを選択して、パネル右からシンボルレイヤタイプの選択肢を表示してみましょう。

シンプル塗りつぶし以外を選択した際は、もう一段シンボルレイヤが表示されます。
例えばラインパターン塗りつぶしの場合、ここにいくつかのラインをその下に持つことが出来ます。

いろいろなシンボルレイヤがあるので是非試してみてください。

良くある例としては、一番下にオフセットをしたシンボルレイヤを設定して影を付ける、でしょうか。

こんな感じです。

これもカッコイイ表現作ったら教えて下さい!

7.QGIS 2.0のダイアグラムが好きだ

利用頻度が高いかと言われるとそうではないのですが、ダイアグラムも追加になっています。
QGIS 1.8では、パイチャートとテキストダイアグラムが作成可能でした。

QGIS 2.0では、これに加えてヒストグラムが作成出来ます。

北海道の男女人口比を描画してみると、

パイチャート
テキストダイアグラム
ヒストグラム

地味にこういった機能好きです。
カッコイイダイアグラム出来たら教えて下さい!

6.QGIS 2.0のアトラスが好きだ

プリントコンポーザに"アトラス"という機能が追加されているのをご存知でしょうか?
これ、範囲指定に使う図形のレイヤを指定しておくと、プリントコンポーザで指定したレイアウトを使って各図形範囲の出力図を作成出来るものです。

出力したいのは上から2つのラスタレイヤ(25000R, Texture)で、範囲の指定に行政区画のベクトルレイヤ(AdmArea)を読み込んでいるとします。

コンポーザを開いて、レイアウトを作りましょう。ここでは、地図の追加とラベル追加をしています。
地図はレイアウト内に表示する位置を決めるだけです。表示される縮尺等は範囲指定に使う図形で決まるので気にしておく必要はありません。
ラベルには"ラベルプロパティ"から"式の挿入"をして、属性を表示するように設定しました。


レイアウトを作り終わったら、"アトラスの作成"タブを選択します。
"範囲指定レイヤ"で行政区画のベクトルレイヤを、今回は範囲指定のレイヤは描画しないので"範囲指定レイヤを隠す"にチェックを入れます。

ここまでの設定が終わったら、"PDFとしてエクスポート"を選択してみましょう。出力先のフォルダを聞かれます。後は処理が終るのを待ちましょう。出力先に選んだフォルダにPDFがずらっと出来上がります。
PDFを開いてみると、各図形範囲で設定したレイアウトに従って出力が行われていることを確認出来ます。

これは本当に便利です!

5.QGIS 2.0のプロセッシングが好きだ

QGIS 1.8からあったのですが、SEXTANTEからプロセッシングと名前が変更になりました。
この機能一体何?と思うかもしれませんが、使い方を覚えるととても便利なものです。
手抜きして以前書いた文章から引用。

SEXTANTEはQGISで使える様々な解析機能をまとめるためのフレームワークです。GRASS,SAGAなどで提供される解析機能を、SEXTANTEを通して統合してシームレスに使用することが出来ます。注意する点としては、SEXTANTE自体はフレームワークなので、各々の解析機能(GRASSやSAGA)は別にインストールされている必要があります。

それぞれ別にある解析機能を統一されたユーザインタフェースで使用することが出来るようになりました。統一されていると何が良いかって、処理を繋げていけるところです。


ユーザインタフェースを少し見て行きましょう。プロセッシングツールボックスを立ちあげてみます。

"Simplified interface"と表示されています。これを"Advanced interface"に変えてみましょう。

用意されている各解析機能がどのアプリケーションから来ているかによって、グループ分けした状態で表示されます。プロセッシングが様々なアプリケーションから提供される機能で構成されてることが分かります。


QGISの基本機能で用意されているベクトルレイヤのクリップ機能を、比べてみましょう。
QGISのメニューから"ベクトル"→"空間演算ツール"→"クリップ"と選択します。

入力とするレイヤ、クリップ範囲を指定するレイヤ、出力ファイルを指定する各フォームが表示されています。
これをプロセッシングで見てみましょう。
"QGIS geoalgoritms"→"Vector overlay tools"→"Clip"を選択します。

表示されるダイアログを比べると、QGISメニューから選択したものと同じ入力項目ということが分かります。


プロセッシングに登録されている他の解析機能を選択しても、同じようなダイアログが表示されます。ユーザインタフェースの統一ってデザインのこと?と思ってしまうかもしれませんが、違います。(そうでもあるけど)
各機能から提供される解析機能の上に、プロセッシングがかぶさっている形になっていて、

  • 入力ファイル(もしくは入力レイヤ)
  • オプション

を渡してあげると、

  • 対象の処理を行ったファイル名

が返ってる、これの繰り返しを提供してくれます。入力・出力はファイル(レイヤ)だけではなく、値の入力・出力となる場合もあります。この流れにのせてしまえば、オリジナルの機能を追加することも出来ます。


さて統一されたインタフェースで、処理を繋げられるという点を見てみましょう。
メニューから"プロセッシング"→"グラフィカルモデラー"を選択しましょう。

ベクトルレイヤからランダムに図形を選択、選択した図形を別レイヤで保存という一連の処理をつなげてみます。
まず、"入力"タブから"Vector layer"を選択します。"Parameter name"はinputLayerとつけておきました。

入力レイヤが追加されました。

次に"アルゴリズム"タブに移り、"QGIS geoalgorithms"→"Vector selection tools"→"Random selection"を選択します。表示されたダイアログで"Input Layer"に入力として作成しておいたinputLayerを指定します。

次に"アルゴリズム"から、"Scripts"→"Example scripts"→"Save selected features"を選択します。表示されたダイアログで"input"にRandom selectionの結果を、"output"に何か名称をつけてここではoutputと入力しました。

次のようなモデルが出来上がります。

ベクトルファイルをあらかじめQGISで開いた状態で、実行する事が出来ます。
このように異なるアプリケーションから提供されている解析機能(ここではQGISの基本機能と、サンプルとして追加されているスクリプト)を繋げて実行することが可能です。もちろん、作成したモデルは保存しておくことができるので同じ処理を繰り返し使用することが出来ます。

みなさんも一度お試し下さい。

4.QGIS 2.0のpythonコンソールが好きだ

QGIS 2.0からPythonコンソールが思いっきりパワーアップしています。
これを使っている人はまずいないので、この感動を伝えるのが難しいのですが、アツく語ります。

まずメニューから"プラグイン"→"pythonコンソール"を選んで、pythonコンソールを表示してみましょう。

アイコンが色々出てくる!この時点でうれしくなりますね。でも注目するのは上部のwindowsに表示されているココ、

## 詳しい情報とメソッドのリストが必要な場合は help(iface)とタイプして下さい

QGIS 1.8の時の表示とくらべてみましょう、

このコンソールからQuantum GIS環境にアクセスするためには
qgis.utils.ifaceオブジェクト(QgisInterfaceクラスのインスタンス)を利用して下さい.

何度打ったかわからない

iface = qgis.utils.iface

をタイプしなくていい!いきなりifaceでいいんです。これはうれしい。

続いてアイコンの方を見てみましょう。"C"っぽいアイコンをクリックしてみると、

出てくるのは外部パッケージのインポートメニュー。正直わざわざこのために何行コード書いたんだ?とかも思うわけですが、痒いところに手が届く配慮です。

さらに"エディタの表示"をクリックすると、

エディタ出てくるし!1行づつ打っていた日々とはこれでサヨウナラです。フアィルに保存も出来る、ファイルを開くことも出来る。何行でも書けちゃう。

さて開発するかと、タイプを始めると、なんと選択肢が出てくるではありませんか。コードの自動補完付きです。

ここまで用意されたら開発に挑戦するしか無いですね。みなさんも一度この感動を味わってみてください!

3.QGIS 2.0のコントラスト強調しておいてくれるのが好きだ

QGIS 1.8でありがちだったのが、DEMファイルを開いたら、あれ?一色??と途方にくれるという状況でした。
毎回一瞬ドキッとしちゃいますね。

これ、コントラスト強調を設定してあげないとダメなんですね。

でもQGIS 2.0では、ファイルを開いた状態でちゃんと設定してくれる、うれしい。