.

The SEXTANTE Commander

SEXTANTE 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 SEXTANTE Commander, and it is just a simple text box with autocompletion where you type the command you want to run.

Figure SEXTANTE 28:

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

The SEXTANTE 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 SEXTANTE 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.

La Ligne de commande est également configurable et vous pouvez y ajouter vos propres commandes et les lancer en quelques touches, faisant de la ligne de commande un outil puissant vous permettant d’améliorer votre productivité quotidienne avec QGIS.

Commandes disponibles

Les commandes disponibles sont classées en différentes catégories :

  • SEXTANTE algorithms. These are shown as SEXTANTE algorithm: <name of the algorithm>.
  • Entrées de menu. Elles apparaissent sous la forme Menu item: <nom de l'entrée de menu>. Toutes les entrées de menu disponibles via l’interface de QGIS y sont listées, même s’il s’agit d’un sous-menu.

  • Fonctions Python. Vous pouvez créer de courtes fonctions Python qui feront ensuite partie de la liste des commandes disponibles. Elles se présentent sous la forme Function: <nom de la fonction>.

Pour lancer une des commandes ci-dessus, commencez à taper puis sélectionnez la commande depuis la liste qui apparaît alors, filtrée dynamiquement par le texte que vous tapez.

Dans le cas d’un appel à une fonction Python, vous pouvez sélectionner la fonction par son nom dans la liste, préfixé de Function: (par exemple : Function: removeall) ou taper directement le nom de la fonction (removeall dans l’exemple précédent). Il n’est pas nécessaire d’ajouter des guillemets au nom de la fontion.

Créer des fonctions personnalisées

Les fonctions personnalisées sont ajoutées en insérant le code Python correspondant dans le fichier commands.py qui se trouve dans .qgis2/processing/commander dans votre répertoire utilisateur. Il s’agit d’un simple fichier Python dans lequel vous pouvez ajouter les fonctions que vous souhaitez.

Le fichier est créé avec quelques exemples de fonctions la première fois que vous ouvrez la Ligne de commandes. Si la Ligne de commandes n’a pas été encore lancée, vous pouvez créer le fichier manuellement. Pour l’éditer, utiliser votre éditeur de texte préféré. Vous pouvez également utiliser l’éditeur intégré en tapant edit dans la Ligne de commandes. Un éditeur s’ouvrira avec le fichier de commandes que vous pourrez alors modifier puis enregistrer.

Par exemple, vous pouvez ajouter la fonction suivante, qui supprime toutes les couches :

from qgis.gui import *

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

Une fois la fonction ajoutée, elle sera disponible depuis la Ligne de commandes et vous pourrez l’appeler en tapant removeall. Il n’y a rien d’autre à faire à part écrire la fonction elle-même.

Les fonctions peuvent recevoir des paramètres. Ajoutez``*args`` à la définition de votre fonction pour accepter des paramètres. Lors de l’appel à cette fonction depuis la Ligne de commande, les paramètres doivent être passés en les séparant pas des espaces.

Voici un exemple de fonction qui charge une couche et prend comme paramètre le nom de la couche à charger.

import sextante

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

Si vous souhaitez charger la couche /home/myuser/points.shp, tapez load /home/myuser/points.shp dans la Ligne de commandes.