` `

QGISコマンダー

プロセッシングにはツールボックスを使わないでアルゴリズムを実行する実用的なツールが含まれています。ここでは実行したいアルゴリズムの名前をタイプすれば実行できます。

このツールは QGISコマンダー という名前で自動補完機能つきのシンプルなテキストボックスで提供されています。このツールで実行したいコマンドをタイプできます。

../../../_images/commander1.png

QGISコマンダー

コマンダーは 処理 メニューから、あるいはより実用的には Shiftキー+ Ctrlキー+ M (別のキーボードショートカットが良い方は、QGISの設定の中でデフォルトを変更できます)を押すことによって起動されます。それを閉じるには、 ESC を押すだけです。処理アルゴリズムを実行する以外に、コマンダーではQGISでの機能のほとんどにアクセスできます。ですからQGISのタスクを実行する実用的かつ効率的な方法が得られ、ボタンやメニューの使用を減らしつつQGISを制御できます。

また、コマンダーは設定可能ですので、カスタムコマンドを追加してそれらをわずか数キーストローク離すことで、QGISでの毎日の仕事でより生産的になるのに役立つ強力なツールになります。

利用可能コマンド

コマンダーで利用できるコマンドは以下のカテゴリに入ります:

  • プロセッシングアルゴリズム。これらは プロセッシングアルゴリズム: <name of the algorithm> として表示されます。

  • メニュー項目。これらは メニュー項目 <menu entry text> として表示されます。QGISインターフェイスから利用できるすべてのメニュー項目は、それらがサブメニューに含まれている場合でも、ご利用いただけます。

  • Python関数。利用可能コマンドリストに含めることができる短い Python関数を作成できます。それらは Function: <function name> として表示されます

上記のものを実行するためには、キーボード入力を開始し、入力したテキストを補完して表示されるコマンドリストから必要な要素を選択すればよいです。

Pythonの関数を呼び出した場合は、 Function: が付けられたリスト内のエントリを選択でき(例えば、 Function: removeall )、または単に関数名を直接入力します(前の例の removeall )。関数名の後に括弧を追加する必要はありません。

カスタム関数の作成

カスタム関数は、ユーザーフォルダ内の .qgis2/processing/ commander ディレクトリにある commands.py ファイル中に対応するPythonコードを入力することによって追加されます。それは必要とする関数を追加できる単純なPythonのファイルです。

いくつかの例では、コマンダーを初めて開いたとき関数を備えたファイルが作成されます。まだコマンダーを立ち上げていない場合は、ファイルを自分で作成できます。コマンドファイルを編集するには、お好みのテキストエディタを使用します。また、コマンダーから edit コマンドを呼び出すことにより、内蔵のエディタを使用できます。これは、コマンドファイルを使用してエディタを開き、それからそれを直接編集して変更を保存できます。

例えば、すべてのレイヤーを削除する次の関数を追加できます:

from qgis.gui import *

def removeall():
    mapreg = QgsMapLayerRegistry.instance()
    mapreg.removeAllMapLayers()

関数を追加したら、それはコマンダーに利用できるようになります、そして、 removeall を入力して、それを呼び出しできます。関数自体を書くことを除けば何もする必要はありません。

関数はパラメーターを受け取ることができます。引数を受け取るために関数定義に *args を追加します。コマンダーから関数を呼び出すときは、パラメータはスペースで区切って渡さなければなりません。

ここでレイヤーをロードし、ロードするためのレイヤーのファイル名でパラメーターを取る関数の例を次に示します。

import processing

def load(*args):
  processing.load(args[0])

/home/myuser/points.shp のレイヤーをロードする場合、コマンダーのテキストボックスにこのようにキーボード入力します:

load /home/myuser/points.shp