.

The QGIS Commander

Processing includes a practical tool that allows you to run algorithms without having to use the toolbox, but just by typing the name of the algorithm you want to run.

This tool is known as the QGIS commander, and it is just a simple text box with autocompletion where you type the command you want to run.

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

The QGIS Commander win

The Commander is started from the Analysis menu or, more practically, by pressing Shift + Ctrl + M (you can change that default keyboard shortcut in the QGIS configuration if you prefer a different one). Apart from executing Processing algorithms, the Commander gives you access to most of the functionality in QGIS, which means that it gives you a practical and efficient way of running QGIS tasks and allows you to control QGIS with reduced usage of buttons and menus.

Moreover, the Commander is configurable, so you can add your custom commands and have them just a few keystrokes away, making it a powerful tool to help you become more productive in your daily work with QGIS.

Zur Verfügung stehende Befehle

Die zur Verfügung stehenden Befehle im Commander fallen in die folgenden Kategorien:

  • Processing algorithms. These are shown as Processing algorithm: <name of the algorithm>.
  • Menu items. These are shown as Menu item: <menu entry text>. All menus items available from the QGIS interface are available, even if they are included in a submenu.
  • Pythonfunktionen. Sie können kurze Pythonfunktionen erstellen, die dann in die Liste von zur Verfügung stehenden Befehlen eingefügt werden. Sie werden als Function:<Funktionsname> gezeigt.

Um einen der obigen Befehle zum Laufen zu bringen fangen Sie einfach an einzugeben und wählen Sie das entsprechende Element aus der Liste der zur Verfügung stehenden Befehle, das nach dem Filtern der ganzen Liste von Befehlen erscheint, aus.

In the case of calling a Python function, you can select the entry in the list, which is prefixed by Function: (for instance, Function: removeall), or just directly type the function name (``removeall in the previous example). There is no need to add brackets after the function name.

Benutzerdefinierte Funktionen erstellen

Custom functions are added by entering the corresponding Python code in the commands.py file that is found in the .qgis/sextante/commander directory in your user folder. It is just a simple Python file where you can add the functions that you need.

The file is created with a few example functions the first time you open the Commander. If you haven’t launched the Commander yet, you can create the file yourself. To edit the commands file, use your favorite text editor. You can also use a built-in editor by calling the edit command from the Commander. It will open the editor with the commands file, and you can edit it directly and then save your changes.

Beispielsweise können Sie die folgende Funktion, die alle Layer entfernt, hinzufügen.

from qgis.gui import *

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

Nachdem Sie die Funktion hinzugefügt haben, steht sie im Commander zur Verfügung und Sie können sie durch Eingabe von removeall aufrufen. Es braucht nichts weiter getan werden als die Funktion selber zu schreiben.

Funktionen können Parameter empfangen. Fügen Sie *args Ihrer Funktionsdefinition hinzu um Argumente zu empfangen. Wenn Sie die Funktion aus dem Commander aufrufen müssen Parameter getrennt durch Leerzeichen übergeben werden.

Hier ist ein Beispiel einer Funktion, die einen Layer lädt und einen Parameter mit dem Dateinamen von dem zu ladenden Layer nimmt.

import processing

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

If you want to load the layer in /home/myuser/points.shp, type load /home/myuser/points.shp in the Commander text box.