waigani's diary

QGISを中心にFOSS4Gをいじくる

QGIS Script Runnerプラグインを試してみた

試してみようと思っていた Script Runner Spatial Galaxy/Script Runner: A Plugin to Run Python Scripts in QGIS 試してみました。

プラグインのインストール

プラグイン」→「Pythonプラグインを呼び出す..」から探しますが、見つかりませんでした。
リポジトリ」タグに移動して、リポジトリを追加してあげます。
追加するURLは下記です。

http://plugins.qgis.org/plugins/plugins.xml


リポジトリの追加を行って"プラグイン"タグに戻り、フィルターに適当にプラグイン名を入れてあげるとプラグインが見つかります。

"Script Runner"プラグインを選択してインストールしてください。

スクリプトの作成

スクリプトを作成する際のお約束事は2つ

  • qgis.core、qgis.guiをimportしておく
  • Script Runnerからスクリプトを実行すると、run_script()関数が実行されるので作っておく。その際に、引数としてiface(=

qgis.utils.iface)を指定する
こんな感じで。

def run_script(iface):

スクリプトを作ってテスト

QGIS APIで印刷その2の内容をScript Runner用のスクリプトにしました。
print.py 直
実行すると、

  • PDF出力先ディレクトリの指定を行う
  • カレントのレイヤー内の図形の外接長方形を取得
  • 図形の外接長方形を順にキャンバスの描画範囲に指定
  • PDFに書き出します
  • 書き出すPDFのファイル名は図形のid.pdfになります

を行います。

Script Runnerを立ち上げて、"Add Script"で上記スクリプトを読み込み、"Run Script"で実行、としてみてください。

感想

プラグインとして作成するのはメニューとして常に表示していたいもの、一括処理するようなものはScript Runnerで、と分けると便利そうです。
例で出したPDFへの出力スクリプトだと

を別に作成しておき、組み合わせて使うといいかなと思っています。