.

Le modeleur graphique

The graphical modeler allows you to create complex models using a simple and easy-to-use interface. When working with a GIS, most analysis operations are not isolated, but rather part of a chain of operations instead. Using the graphical modeler, that chain of processes can be wrapped into a single process, so it is as easy and convenient to execute as a single process later on a different set of inputs. No matter how many steps and different algorithms it involves, a model is executed as a single algorithm, thus saving time and effort, especially for larger models.

Le modeleur peut être ouvert à partir du menu Traitements.

Le modeleur possède un espace de travail où sont représentés la structure du modèle et le flux de traitement. Sur la partie gauche se trouve un panneau avec deux onglets pour ajouter de nouveaux éléments au modèle.

Figure Processing 16:

../../../_images/modeler_canvas.png

Modeler win

Deux étapes sont nécessaires pour la création d’un modèle:

  1. Définir les entrées nécessaires. Ces entrées seront ajoutées à la fenêtre des paramètres, afin que l’utilisateur puisse y fixer les valeurs nécessaires à l’excéution du modèle. Le modèle en lui-même est un algorithme. Ainsi la fenêtre des paramètres est générée automatiquement comme cela est le cas pour tous les algorithmes fournis avec le Module de Traitements.

  2. Définir le flux de traitements. A partir des données d’entrée du modèle, le flux de traitements est défini en ajoutant des algorithmes et en sélectionnant comment ces derniers utiliseront les données ou d’autres données générées par d’autres algorithmes déjà présents dans le modèle.

Définition des données d’entrée

La première étape pour créer un modèle est de définir les données d’entrées nécessaires. Vous trouverez les éléments suivants dans l’onglet Entrées dans la partie gauche de la fenêtre du modeleur :

  • Couche raster

  • Couche vectorielle

  • Chaîne de caractères

  • Champ d’une table

  • Table
  • Etendue

  • Nombre

  • Booléen

  • Fichier

Double cliquez sur ces éléments pour faire apparaître une fenêtre avec leurs détails. Selon le paramètre, cette fenêtre peut contenir une simple description (que l’utilisateur verra à l’exécution du modèle) ou d’autres informations. Par exemple, à l’ajout d’une valeur numérique, à la description devront être définies la valeur par défaut ainsi que la liste des valeurs valides. La figure suivante illustre cette fenêtre.

Figure Processing 17:

../../../_images/models_parameters.png

Model Parameters win

Pour chaque donnée d’entrée ajoutée, un nouvel élément apparaît dans l’espace de travail du modeleur.

Figure Processing 18:

../../../_images/models_parameters2.png

Model Parameters win

Vous pouvez également ajouter des données d’entrée en faisant glisser le type choisi depuis la liste et en le déposant dans le modèle à l’endroit souhaité.

Définition d’un flux de traitements

Une fois les données d’entrée définies, il faut à présent ajouter les algorithmes de traitement. Ces algorithmes se situent dans l’onglet Algorithmes, regroupés par fournisseur comme dans la boîte à outils.

Figure Processing 19:

../../../_images/models_parameters3.png

Model Parameters win

The appearance of the toolbox has two modes here as well: simplified and advanced. However, there is no element to switch between views in the modeler, so you have to do it in the toolbox. The mode that is selected in the toolbox is the one that will be used for the list of algorithms in the modeler.

To add an algorithm to a model, double-click on its name or drag and drop it, just like it was done when adding inputs. An execution dialog will appear, with a content similar to the one found in the execution panel that is shown when executing the algorithm from the toolbox. The one shown next corresponds to the SAGA ‘Convergence index’ algorithm, the same example we saw in the section dedicated to the toolbox.

Figure Processing 20:

../../../_images/models_parameters4.png

Model Parameters win

Comme vous pouvez le voir, quelques différences existent entre les deux fenêtres. Ainsi, le nom de fichier en sortie de l’algorithme est remplacé par un simple champ texte. Pour créer une couche temporaire en sortie pour être utilisée par un autre algorithme et supprimée à la fin, laissez le champ texte vide. Dans le cas contraire, la couche résultante sera un résultat final de l’algorithme et portera le nom défini dans le champ de texte. C’est ce nom que verra l’utilisateur du modèle à son exécution.

La sélection des valeurs de chaque paramètre s’effectue également différemment, en raison de la différence de contexte entre le modeleur et la boite à outils. Détaillons les valeurs pour chaque type de paramètre.

  • Layers (raster and vector) and tables. These are selected from a list, but in this case, the possible values are not the layers or tables currently loaded in QGIS, but the list of model inputs of the corresponding type, or other layers or tables generated by algorithms already added to the model.
  • Les valeurs numériques. Les valeurs littérales peuvent être directement indiquées dans le champ correspondant. Mais ce dernier peut aussi être rempli à partir d’une donnée d’entrée du modèle. Dans ce cas, la valeur sera paramétrée par l’utilisateur à l’exécution du modèle.

  • Les chaînes de caractères. Comme pour les valeurs numériques, les chaînes peuvent être fixées une fois pour toute ou à l’exécution du modèle.

  • Un champ de table. Les champs d’une table ou d’une couche ne sont pas connus au moment de la conception du modèle, puisqu’ils seront définis à l’exécution du modèle. Pour remplir ce paramètre, entrez le nom du champ directement dans le champ texte correspondant, ou sélectionnez-le dans la liste des champs des tables déjà présentes dans le modèle. La validité du champ sélectionné sera vérifiée à l’exécution.

Dans tous les cas, vous trouverez un paramètre supplémentaire nommé Algorithme parent qui n’est pas disponible lors de l’appel de l’algorithme via la boîte à outils. Ce paramètre vous permet de choisir dans quel ordre seront exécutés les algorithmes, en définissant explicitement un algorithme qui sera parent d’un autre, son exécution sera forcée en premier.

When you use the output of a previous algorithm as the input of your algorithm, that implicitly sets the previous algorithm as parent of the current one (and places the corresponding arrow in the modeler canvas). However, in some cases an algorithm might depend on another one even if it does not use any output object from it (for instance, an algorithm that executes an SQL sentence on a PostGIS database and another one that imports a layer into that same database). In that case, just select the previous algorithm in the Parent algorithms parameter and the two steps will be executed in the correct order.

Une fois tous les paramètres remplis, validez avec le bouton [OK] et l’algorithme sera ajouté au canevas. Il sera lié aux autres éléments déjà présents, données d’entrée ou algorithmes fournissant des objets à utiliser comme entrée.

Les éléments peuvent être disposés et rangés en les glissant dans l’espace de travail. Cela améliore la lecture et la compréhension du modèle. Les liens entre éléments sont mis à jour automatiquement. Vous pouvez zoomer et dé-zoomer avec la molette de la souris.

You can run your algorithm anytime by clicking on the [Run] button. However, in order to use the algorithm from the toolbox, it has to be saved and the modeler dialog closed, to allow the toolbox to refresh its contents.

Sauvegarder et charger les modèles

Utilisez le bouton [Sauvegarder] pour sauvegarder le modèle courant et le bouton [Ouvrir] pour restaurer un précédent modèle. Les modèles sont sauvegardés dans un fichier avec l’extension .model. Si le modèle a précédemment été sauvegardé à partir du modeleur, vous n’aurez pas à redonner de nom de fichier, ce nom étant déjà associé au modèle sera réutilisé.

Avant de sauvegarder un modèle, il faudra définir son nom et le groupe auquel il appartient. Pour cela, remplissez les deux champs texte situés sur la partie haute de la fenêtre.

Les modèles sauvegardés dans le répertoire models (le répertoire par défaut) apparaîtront dans la boîte à outils dans le groupe correspondant. Lorsque la boîte à outils est ouverte, tous les fichiers portant l’extension .model du répertoire models sont chargés. Comme le modèle fait maintenant partie des algorithmes, il peut être utilisé comme tous les autres depuis la boite à outils ou depuis le modeleur.

The models folder can be set from the processing configuration dialog, under the Modeler group.

Les modèles sauvegardés dans le répertoire models apparaîtront dans la boîte à outils dans le groupe correspondant ainsi que dans la liste des Algorithmes proposés dans le modeleur. Cela signifie qu’il peut être utilisé comme tous les autres depuis la boite à outils ou depuis le modeleur.

In some cases, a model might not be loaded because not all the algorithms included in its workflow are available. If you have used a given algorithm as part of your model, it should be available (that is, it should appear in the toolbox) in order to load that model. Deactivating an algorithm provider in the processing configuration window renders all the algorithms in that provider unusable by the modeler, which might cause problems when loading models. Keep that in mind when you have trouble loading or executing models.

Editer un modèle

Vous pouvez éditerle modèle sur lequel vous travaillez, en redéfinissant le flux de traitements et les relations entre algorithmes et données d’entrée.

Si vous cliquez avec le bouton droit sur un algorithme de l’espace de travail du modèle, le menu contextuel suivant apparaîtra:

Figure Processing 22:

../../../_images/modeler_right_click.png

Modeler Right Click win

Choisissez l’option Enlever pour supprimer l’algorithme sélectionné. Un algorithme ne peut être enlevé que si aucun autre algorithme ne dépend de lui, c’est-à-dire si aucune de ses sorties n’est utilisée par ailleurs. Si vous tentez de supprimer un algorithme utilisé par ailleurs, le message d’avertissement suivant s’affichera :

Figure Processing 23:

../../../_images/cannot_delete_alg.png

Cannot Delete Algorithm win

Selecting the Edit option or simply double-clicking on the algorithm icon will show the parameters dialog of the algorithm, so you can change the inputs and parameter values. Not all input elements available in the model will appear in this case as available inputs. Layers or values generated at a more advanced step in the workflow defined by the model will not be available if they cause circular dependencies.

Sélectionnez les nouvelles valeurs et validez avec le bouton [OK]. Les liens entre les éléments du modèle seront actualisés dans l’espace de travail du modeleur.

Editer l’aide et les métadonnées

Vous pouvez documenter vos modèles. Cliquez sur le bouton [Éditer l’aide du modèle] et une fenêtre semblable à celle-ci apparaîtra.

Figure Processing 25:

../../../_images/help_edition.png

Help Edition win

Sur la partie droite apparaîtra une simple page HTML, créée à partir de la description des paramètres d’entrées et des sorties de l’algorithme, ainsi que d’autres éléments tels que description générale du modèle ou ses auteurs. A la première ouverture de l’éditeur d’aide, ces champs seront vides, mais vous pouvez les éditer à partir des éléments situés à gauche de la fenêtre. Sélectionnez un élément dans la partie supérieure puis remplissez sa description dans la partie inférieure.

Model help is saved in a file in the same folder as the model itself. You do not have to worry about saving it, since it is done automatically.

A propos des algorithmes disponibles

Vous remarquerez que certains algorithmes présents dans la boîte à outils n’apparaissent pas dans la liste depuis le modeleur. Pour pouvoir être utilisé dans un modèle, un algorithme doit présenter une syntaxe correcte pour pouvoir être lié aux autres traitements. Si cela n’est pas le cas, par exemple si le nombre de couche en sortie n’est pas connu à l’avance, alors il ne sera pas possible de l’utiliser au sein d’un modèle et n’apparaîtra donc pas dans la liste du modeleur.

De même, certains algorithmes du modeleur ne sont pas disponibles dans la boîte à outils. Ils sont destinés à être utilisés dans un modèle et n’ont que peu d’intérêt en dehors de ce contexte. C’est par exemple le cas de la ‘Calculatrice’ : c’est un simple calculateur arithmétique qui vous permet de modifier une valeur numérique (saisie par l’utilisateur ou générée par un autre algorithme). Cet outil peut être utile dans un modèle, mais n’a que peu d’intérêt en dehors de ce contexte.