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

Le modeleur graphique SEXTANTE

Introduction

Le modeleur graphique permet de créer des modèles complexes en utilisant une interface simple et facile à utiliser. Dans un SIG, la plupart des opérations d’analyses ne sont pas simples mais font parties d’une chaîne d’opérations. En utilisant le modeleur graphique, cette chaîne de traitements peut être regroupée dans une tâche, qui est plus simple à exécuter et peut être réutilisée sur d’autres jeux de données. Peu importe le nombre d’étapes et d’algorithmes impliqués, un modèle est exécuté comme un seul algrithme, permettant ainsi d’économiser temps et effort, notamment sur de plus grands modèles.

Le modeleur peut être ouvert à partir du menu SEXTANTE, mais également à partir de la boîte à outils. Dans la rubrique Modeleur de l’arborescence des algorithmes se trouve un groupe Outils qui contient une entrée Créer un nouveau modèle.

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 SEXTANTE 14:

../../../_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 SEXTANTE. Ainsi la fenêtre des paramètres est générée automatiquement comme cela est le cas pour tous les algorithmes fournis avec SEXTANTE.

  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
  • Valeur numérique

  • Valeur booléenne

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 SEXTANTE 15:

../../../_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 SEXTANTE 16:

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

Model Parameters win

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 SEXTANTE 17:

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

Model Parameters win

Pour ajouter un algorithme, double cliquez sur son nom. Une boîte d’exécution apparaît, semblable à celle qui apparaît à partir de la boîte à outils SEXTANTE. L’illustration suivante montre celle correspondantà l’algorithme ‘Index de convergence’ de SAGA, tout comme nous l’avons vu précédemment dans la boîte à outils SEXTANTE.

Figure SEXTANTE 18:

../../../_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 de texte. Pour créer une couche temporaire en sortie, 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.

  • Les couches raster et vectorielles et les tables. Ils sont à choisir dans une liste, non pas des couches ou tables déjà chargées dans QGIS, mais soit des entrées du modèle, soit des couches et/ou tables générées par les algorithmes déjà présents dans le modèle.

  • Les valeurs numériques. Les valeurs lité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 de table déjà présents dans le modèle. La validité du champ sélectionné sera vérifiée à l’exécution par SEXTANTE.

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.

Figure SEXTANTE 19:

../../../_images/models_parameters5.png

Model Parameters win

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 à tout moment exécuter votre algorithme en cliquant que le bouton [Exécuter]. Toutefois, pour pouvoir l’utiliser à partir de la boîte à outils, le modèle doit être sauvegardé et le modeleur fermé. La boîte à outils pourra alors mettre à jour les traitements disponibles.

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 modèles (le répertoire par défaut) apparaîtront dans la boîte à outils dans le groupe correspondant. Comme le modèle fait maintenant partie des algorithmes de SEXTANTE, il peut être utilisé comme tous les autres depuis la boite à outils ou depuis le modeleur.

Le répertoire par défaut des modèles peut être défini dans les configurations de SEXTANTE, dans le groupe Modeleur.

Les modèles chargés le répertoire des modèles apparaîtront dans la boîte à outils mais également dans l’arborescence des Algorithmes disponibles dans le modeleur. Vous pouvez ainsi intégrer votre modèle dans une traitement plus important, comme vous le feriez avec un autre algorithme.

Dans certains cas, SEXTANTE peut ne pas charger un modèle car un des algorithmes utilisés dans le flux de traitement est introuvable. Les algorithmes utilisés doivent donc être préalablement activés dans la boîte à outils. Veuillez vérifier que le fournisseur est bien disponible et activé dans la fenêtre de configuration de SEXTANTE. C’est une des premières pistes à vérifier en cas d’erreur de chargement ou d’exécution d’un modèle.

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 SEXTANTE 20:

../../../_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, SEXTANTE affichera le message d’avertissement suivant:

Figure SEXTANTE 21:

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

Cannot Delete ALG win

Choisissez l’option Editer ou bouble-cliquez simplement sur l’élément pour afficher la fenêtre des paramètres de l’algorithme, pour changer les données en entrée et les paramètres. Tous les paramètres d’entrée ne seront pas systématiquement affichés. Les couches ou les valeurs générées en amont dans le flux de traitement ne seront ainsi pas disponibles, pour éviter les références circulaires.

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.

Activer et désactiver les algorithmes

Les algorithmes peuvent être désactivés dans le modeleur, pour éviter leur exécution au lancement du modèle. Cela peut servir notamment à tester une partie du modèle ou lorsque toutes les sorties ne sont pas nécessaires.

Pour désactiver un algorithme, cliquez avec le bouton droit sur l’élement désiré et choisissez l’option Désactiver. Une mention ‘Désactivé’ sera indiquée en rouge sous le nom de l’algorithme , signe qu’il n’est pas actif.

Figure SEXTANTE 22:

../../../_images/deactivated.png

Deactivate win

Tous ses algorithmes dépendants, directement ou indirectement, seront également désactivés, puisqu’ils ne pourront pas être exécutés.

Pour activer un algorithme, répétez l’opération en choisissant cette fois l’option Activer.

Editer l’aide et les métadonnées

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

Figure SEXTANTE 23:

../../../_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 l’auteur. 0 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 et remplissez sa description dans la partie inférieure.

L’aide du modèle est sauvegardée dans le répertoire du modèle. La sauvegarde est automatique.

A propos des algorithmes disponibles

Vous remarquerez que certains algorithmes présents dans la boîte à outils ne sont pas disponibles dans 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 alogorithmes 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 âs 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.

Du Python en tant que modèle SEXTANTE

Cette fonctionnalité est temporairement non disponible

Dans l’arborescence du modeleur, vous trouverez une rubrique contenant des scripts Python réalisant les mêmes tâches que dans le modeleur. A partir de ce code, vous pouvez créer un script (cela sera expliquer plus loin dans le manuel) et le modifier pour y intéger des actions et méthodes non disponibles dnas le modeleur, comme des boucles ou des branchements conditionnels.

Cette fonctionnalité est également très utile pour l’apprentissage de SEXTANTE à partir de la console et pour créer des algorithmes à partir de Python. Les scripts peuvent servir de points de départ à la création de scripts SEXTANTE.

Cliquez sur le bouton situé sous le champ texte contenant le code Python pour créer directement une copie dans un nouveau script basé sur ce code.