Outdated version of the documentation. Find the latest one here.

.

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.

Zudem ist der Commander konfigurierbar, Sie können also benutzerdefinierte Befehle hinzufügen und finden Sie dann nur ein paar Tastendrücke entfernt, was es zu einem mächtigen Werkzeug macht, das Ihnen hilft bei Ihrer täglichen Arbeit produktiver mit QGIS zu werden.

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 actions. Diese werden als Menu action:<Menüeintragtext gezeigt. Alle zur Verfügung stehenden Menüelemente von der QGIS Oberfläche sind zugänglich, auch wenn sie sich in einem Untermenü befinden.

  • 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.

Im Falle des Aufrufen eines Pythonfunktion können Sie den Eintrag in der Liste, dem der Begriff Function: vorausgeht, auswählen (zum Beispiel Function:removeall) oder Sie geben den Funktionsnamen (removeall im vorigen Beispiel) direkt ein. Sie müssen keine Klammern nach dem Funktionsnamen eingeben.

Benutzerdefinierte Funktionen erstellen

Benutzerdefinierte Funktionen werden eingegeben indem Sie den entsprechenden Pythoncode in die commands.py Datei, die Sie im .qgis/sextante/commander directory in Ihrem Benutzerverzeichnis finden, eingeben. Es ist nur eine einfach Python Datei in die Sie alle Funktionen, die Sie brauchen eingeben können.

Die Datei wird mit einigen Beispielfunktionen erstellt wenn Sie den Commander das erste Mal öffnen. Wenn Sie den Commander noch nicht geöffnet haben können Sie die Datei selber erstellen. Um die Befehlsdatei zu bearbeiten benutzen Sie Ihren bevorzugten Texteditor. Sie können auch einen integrierten Editor, indem Sie den edit Befehl aus dem Commander heraus aufrufen, benutzen. Dies öffnet den Editor mit der Befehlsdatei und Sie können diesen direkt bearbeiten und dann Ihre Änderungen speichern.

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])

Wenn Sie den Layer in /home/myuser/points.shp laden wollen, geben Sie load /home/myuser/points.shp in das Commander Textfeld ein.