Important

La traduction est le fruit d’un effort communautaire auquel vous pouvez vous joindre. Cette page est actuellement traduite à 96.14%.

27.5. Le modeleur

Le modeleur graphique vous 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 partie d’une chaîne de traitements. En utilisant le modeleur graphique, cette chaîne de traitements peut être regroupée dans une seule 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 algorithme, permettant ainsi d’économiser temps et effort.

Le modeleur graphique s’ouvre depuis le menu Traitement (Traitement ► Modeleur…).

27.5.1. L’interface du modeleur

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

Fig. 27.18 Le modeleur

Dans sa partie principale, le modeleur présente un canevas de travail où l’on peut élaborer la structure du modèle et les processus qui le représentent.

En haut de la fenêtre, différents menus et la barre d’outils Navigation donnent accès à divers outils.

27.5.1.1. Menu Modèle

Étiquette

Raccourci

Barre d’outils Navigation

Description

success Valider le modèle

Vérifie que les algorithmes et les entrées du modèle existent bien. Utile avant de publier un modèle.

play Exécuter le modèle…

F5

checkbox

Exécute le modèle

Réordonner les entrées du modèle…

Définit l’ordre dans lequel les entrées sont présentées à l’utilisateur dans la boite de dialogue de l’algorithme.

Réordonner les couches en sortie…

Définit un ordre spécifique que les sortie du modèle doivent avoir lors du chargement des résultats dans un projet.

fileOpen Ouvrir le modèle…

Ctrl+O

checkbox

Ouvre un fichier .model3 pour édition ou exécution

fileSave Enregistrer le modèle

Ctrl+S

checkbox

Enregistre le modèle sur le disque sous forme de fichier .model3

fileSaveAs Enregistrer le modèle sous…

Ctrl+Shift+S

checkbox

Enregistre le modèle sur le disque sous forme d’un nouveau fichier .model3

fileSave Enregistrer le modèle dans le projet

checkbox

Intègre le modèle dans le fichier de projet, ce qui le rend utilisable lors du partage du fichier de projet.

helpContents Editer l’aide du modèle…

checkbox

Une interface pour documenter le modèle, les algorithmes, les paramètres et les sorties, ainsi que l’auteur et les versions.

Exporter ►

saveMapAsImage ► Exporter au format image…

checkbox

Enregistre le design du modeleur graphique en fichier d’image (à des fins d’illustration)

saveAsPDF► Export comme PDF…

Enregistre le design du modeleur graphique en fichier PDF (à des fins d’illustration)

saveAsSVG► Export comme SVG…

Enregistre le design du modeleur graphique en fichier SVG (à des fins d’illustration)

fileSave► Exporter comme script Python…

checkbox

Génère un fichier de script Python à partir des instructions du modèle

27.5.1.2. Menu Éditer

Étiquette

Raccourci

Barre d’outils Navigation

Description

selectAll Tout sélectionner

Ctrl+A

Sélectionne tous les composants du modèle dans le composeur

Accrocher les éléments sélectionnés à la grille

Aimante et aligne les éléments sur une grille

redo Refaire

Ctrl+Y

checkbox

Rétablit la dernière action annulée. Voir aussi le panneau Historique.

undo Annuler

Ctrl+Z

checkbox

Annule la dernière modification. Voir aussi le panneau Historique.

editCut Couper

Ctrl+X

Coupe les éléments sélectionnés du modèle.

editCopy Copier

Ctrl+C

Copie les éléments sélectionnés du modèle.

editPaste Coller

Ctrl+V

Colle la sélection d’éléments coupés ou copiés depuis un modèle vers un autre ou au sein du même modèle. Les éléments sélectionnés gardent leurs propriétés et leurs commentaires originaux.

deleteSelected Supprimer les éléments sélectionnés

Suppr

Supprime un élément du modèle.

Ajouter un groupe

Ajoute une boîte à l’arrière plan d’éléments reliés de façon à les regrouper visuellement. Particulièrement utile pour les gros modèles, pour mieux visualiser les processus.

27.5.1.3. Menu Vue

Étiquette

Raccourci

Barre d’outils Navigation

Description

Zoomer sur ►

Zoome sur l’étendue de la boîte de groupe sélectionnée.

zoomIn Zoom +

Ctrl++

checkbox

zoomOut Zoom -

Ctrl+-

checkbox

zoomActual Zoomer à 100 %

Ctrl+1

checkbox

zoomFullExtent Zoom sur l’emprise totale

Ctrl+0

checkbox

Affiche tous les composants dans le canevas courant.

checkbox Montrer les commentaires

Affiche les commentaires associés à chaque algorithme ou entrée du modeleur.

unchecked Activer l’accrochage

unchecked Basculer la visibilité des panneaux

Ctrl+Tab

Affiche ou cache les ref:panneaux <modelerpanels> dans le modeleur

27.5.1.4. Panneaux

La partie gauche de la fenêtre est une section avec cinq panneaux qui peuvent être utilisés pour ajouter des éléments au modèle :

  1. Propriétés du modèle : Spécifie le nom (requis) du modèle et le groupe dans lequel il apparaitra dans la boîte à outils de traitement.

  2. Entrées : tous les paramètres d’entrée qui peuvent alimenter votre modèle.

  3. Algorithmes: les algorithmes de traitement disponibles.

  4. Variables: Les modèles peuvent contenir des variables spécifiques qui sont uniques et uniquement accessibles par eux. Ces variables peuvent être utilisées dans les expressions définies au sein d’un modèle. Elles sont utiles pour contrôler les algorithmes dans un modèle et contrôler des aspects multiples du modèle en changeant simplement une variable. Les variables peuvent être vues et modifiées dans le panneau Variables.

  5. Historique: Ce panneau indique tout ce qui intervient dans le modeleur, rendant l’annulation d’erreurs plus facile.

27.5.1.5. À propos des algorithmes disponibles

Certains algorithmes qui peuvent être exécutés à partir de la boîte à outils n’apparaissent pas dans la liste des algorithmes disponibles lorsque vous concevez un modèle. Pour être inclus dans un modèle, un algorithme doit avoir la bonne sémantique. Si un algorithme n’a pas une telle sémantique bien définie (par exemple, si le nombre de couches de sortie ne peut pas être connu à l’avance), il n’est pas possible de l’utiliser dans un modèle, et il n’apparaîtra pas dans la liste des algorithmes que vous pouvez trouver dans le dialogue du modeleur. D’autre part, certains algorithmes sont spécifiques au modeleur. Ces algorithmes sont situés dans le groupe “Outils du modeleur”.

27.5.2. Créer un modèle

La création d’un modèle comporte deux étapes fondamentales :

  1. Définition des entrées nécessaires. Ces entrées seront ajoutées à la fenêtre des paramètres, afin que l’utilisateur puisse définir leurs valeurs lors de l’exécution du modèle. Le modèle lui-même est un algorithme, la fenêtre des paramètres est donc générée automatiquement comme pour tous les algorithmes disponibles dans le cadre de traitement.

  2. Définir la chaîne de traitements. À partir des données d’entrée du modèle, la chaîne de traitements est définie 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.

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

La première étape consiste à définir les entrées du modèle. Elles se trouvent dans le panneau Entrées du côté gauche de la fenêtre du modeleur. Passer la souris sur les entrées affichera une info-bulle avec des informations complémentaires. Pour liste complète des paramètres disponibles et leur correspondance dans un script, veuillez lire Types d’entrée et de sortie pour les algorithmes de traitement.

En double-cliquant sur un élément, un dialogue s’affiche vous permettant de définir ses caractéristiques. Selon le paramètre, le dialogue contiendra au moins un élément (la description, qui est ce que l’utilisateur verra en exécutant le modèle). Par exemple, lors de l’ajout d’une valeur numérique, comme le montre la figure suivante, en plus de la description du paramètre, vous devez définir une valeur par défaut et la plage des valeurs valides.

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

Définition des Paramètres du Modèle

Vous pouvez définir votre entrée comme obligatoire pour votre modèle en cochant l’option Obligatoire et en cochant la case Avancé si elle n’est pas cochée, vous pouvez définir l’entrée comme étant dans la section Avancé. Cela est particulièrement utile lorsque le modèle comporte de nombreux paramètres et que certains d’entre eux ne sont pas triviaux, mais que vous souhaitez néanmoins les choisir.

Pour chaque entrée supplémentaire, un nouvel élément est ajouté au canevas du modeleur.

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

Fig. 27.19 Paramètres du modèle

Vous pouvez également ajouter des entrées en faisant glisser le type d’entrée depuis la liste et en le déposant à l’endroit où vous le souhaitez dans le canevas du modeleur. Si vous souhaitez modifier un paramètre d’une entrée existante, il vous suffit de double-cliquer dessus, et la même boîte de dialogue s’affichera.

Quand vous utlisez un modèle à l’intérieur d’un autre modèle, les entrées et sorties nécessaires seront affichés dans le canevas.

27.5.2.2. Définition d’un flux de traitements

Dans l’exemple suivant, nous allons ajouter deux entrées et deux algorithmes. L’objectif du modèle est de copier les valeurs d’élévation d’une couche raster du MNT vers une couche linéaire en utilisant l’algorithme Drape, puis de calculer l’ascension totale de la couche linéaire en utilisant l’algorithme Climb Along Line.

Dans l’onglet Entrées, choisissez les deux entrées comme Couche vecteur pour la ligne et Couche raster pour le MNT. Nous sommes maintenant prêts à ajouter les algorithmes au flux de travail.

Les algorithmes peuvent être trouvés dans le panneau Algorithmes, regroupés à peu près de la même manière qu’ils le sont dans la boîte à outils Processing.

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

Fig. 27.20 Entrées du modèle

Pour ajouter un algorithme à un modèle, double-cliquez sur son nom ou glissez-déposez-le, comme pour les entrées. Comme pour les entrées, vous pouvez modifier la description de l’algorithme et ajouter un commentaire. Lors de l’ajout d’un algorithme, un dialogue d’exécution apparaîtra, avec un contenu similaire à celui du panneau d’exécution qui est affiché lors de l’exécution de l’algorithme à partir de la boîte à outils. L’image suivante montre les dialogues d’algorithme Drape (set Z value from raster) et Climb along line.

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

Fig. 27.21 Paramètres du modèle de l’algorithme

Comme vous pouvez le voir, il y a cependant quelques différences. Chaque paramètre va avoir un menu déroulant à côté de lui permettant de controler comment il va être utilisé pendant le flux de travail.

  • fieldInteger Value: Vous permet d’assigner une valeur statique au paramètre. En fonction du type de paramètre, le widget vous permettra de d’entrer un nombre (5.0), du texte (mytext), de sélectionner une ou plusieurs couches chargées dans le projet QGIS ou depuis un dossier, de choisir une valeur depuis une liste, …

  • expression Valeur pré-calculée: Ouvre le Expression Builder et vous permet de définir une expression pour remplir les paramètres. Les entrées du modèle ainsi que quelques statistiques sur les couches sont disponibles comme variables et sont listées au dessus du champ de recherche du constructeur d’expressions. L’expression est évaluée une seule fois avant que l’algorithme enfant ne soit exécuté et utilisé pendant l’exécution cet l’algorithme.

  • processingModel Entrée du Modèle: permet d’utiliser une entrée ajoutée au modèle comme paramètre. Une fois cliquée, cette option listera toutes les entrée possibles pour le paramètre.

  • processingAlgorithm Sortie d’Algorithme: permet d’utiliser la sortie d’un autre algorithme comme entrée de l’algorithme actuel; Comme pour les entrées, cette option listera toutes les entrées possibles pour ce paramètre.

  • Le **paramètre de sortie* a aussi ces options dans son menu déroulant:

    • ajouter des sorties statiques pour les algorithmes enfants, par exemple pour toujours enregistrer les sorties de l’algorithme enfant dans un géopackage prédéfini ou une couche postgres

    • Utilise une expression pour les valeurs de sorties de l’algorithme enfant, par exemple pour générer un nom de fichier automatiquement en se basant sur la date du jour et pour enregistrer les sorties vers ce fichier.

    • utilise une entrée de modèle, par exemple une entrée de modèle Fichier/Dossier pour spécifier un fichier de sortie ou un dossier

    • utilise une autre sortie d’algorithme, par exemple la sortie de l’algorithme Créer un dossier (depuis les Outils du modeleur)

    • une option supplémentaire modelOutput Sortie du Modèle rend la sortie de l’algorithme disponible dans le modèle. Si une couche générée par l’algorithme doit seulement servir d’entrée pour un autre algorithme, n’éditez pas cette boîte d’entrée de texte.

    Dans l’image suivante, vous pouvez voir les deux paramètres d’entrée définis comme Entrée du modèle et la couche de sortie temporaire :

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

    Fig. 27.22 Paramètres d’entrée et de sortie de l’algorithme

Vous trouverez également un paramètre nommé Dépendances qui n’est pas disponible dans la boîte à outils. Ce paramètre vous permet de définir l’ordre d’exécution des algorithmes, en définissant explicitement un algorithme comme parent de celui en cours. Cela forcera l’algorithme parent à être exécuté avant celui en cours.

Lorsque vous utilisez la sortie d’un algorithme précédent comme entrée de votre algorithme, cela définit implicitement l’algorithme précédent comme parent de l’algorithme actuel (et place la flèche correspondante dans le canevas du modeleur). Cependant, dans certains cas, un algorithme peut dépendre d’un autre même s’il n’utilise aucun objet de sortie de celui-ci (par exemple, un algorithme qui exécute une phrase SQL sur une base de données PostGIS et un autre qui importe une couche dans cette même base de données). Dans ce cas, il suffit de sélectionner l’algorithme précédent dans le paramètre Dépendances et ils seront exécutés dans le bon ordre.

Une fois tous les paramètres remplis, validez avec 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 de cet algorithme.

Les éléments peuvent être glissés ailleurs sur le canevas en utilisant l’outil select Sélection/Déplacement d’objet. Cela permet de rendre la structure plus claire et intuitive. Vous pouvez également redimensionner les éléments en tirant sur les bords. C’est particulièrement utile is la description de l’entrée ou de l’algorithme est longue. En cochant l’option Vue► Activer l’accrochage, ces opérations peuvent être contraintes sur une grille virtuelle pour une modélisation plus structurée.

Les liens entre éléments sont automatiquement mis à jour et vous pouvez voir un bouton + au dessus et en dessous de chaque algorithme. Cliquer ce bouton vous donne un rapide aperçu de toutes les entrées et sorties de l’algorithme.

../../../_images/models_model.png

Fig. 27.23 Un modèle complet

With the Edit ► Add Group Box tool, you can add a draggable box to the canvas. This feature is very useful in big models to group related elements in the modeler canvas and to keep the workflow clean. For example we might group together all the inputs of the example:

../../../_images/model_group_box.png

Fig. 27.24 Boîte de groupe modèle

You can change the name and the color of the boxes. Group boxes are very useful when used together with View ► Zoom To ► tool, allowing you to zoom to a specific part of the model. You can also zoom in and out by using the mouse wheel.

Vous pouvez modifier l’ordre des entrées et la façon dont elles sont énumérées dans le dialogue principal du modèle. En bas du panneau Entrée, vous trouverez le bouton Réorganiser les entrées du modèle... et en cliquant dessus, une nouvelle boîte de dialogue apparaît, vous permettant de modifier l’ordre des entrées :

../../../_images/model_reorder_inputs.png

Fig. 27.25 Réorganiser les entrées du modèle

There is also the possibility to set a specific order which the outputs from the model must use when loading the results into a project. This gives the model creator a means of ensuring that layers are logically ordered on the canvas when running a model, such as placing a vector layer output over a raster layer output, or a point layer over a polygon layer. The model creator can also set an optional « Group name » for the outputs for automatically grouping outputs within the layer tree using a new group name or by adding them to an existing group. In the Model menu you will find the Reorder Output Layers... entry and by clicking on it a new dialog pops up allowing you to change the order of the output layers:

../../../_images/model_reorder_output_layers.png

Fig. 27.26 Réagencer les couches de sortie

Comments can also be added to inputs or algorithms present in the modeler. This can be done by going in the Comment tab of the item or with a right-click. In the same tab a color can be set manual for individual model comments. Comments are visible only in the modeler canvas and not in the final algorithm dialog; they can be hidden by deactivating View ► Show Comments.

You can run your algorithm any time by clicking on the start Run model button. When using the editor to execute a model, any non-default values will be saved in the inputs. This means that executing the model at a later time from the editor will have the dialog prefilled with those values on any subsequent run.

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.

27.5.2.3. Documenter votre modèle

You need to document your model, and this can be done from the modeler itself. Click on the editHelpContentEdit model help button, and a dialog like the one shown next will appear.

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

Fig. 27.27 Éditer la documentation

On the right-hand side, you will see a simple HTML page, created using the description of the input parameters and outputs of the algorithm, along with some additional items like a general description of the model or its author. Also, there is an Example section where you can input your own custom examples to help explain the usage of the model. The first time you open the help editor, all these descriptions are empty, but you can edit them using the elements on the left-hand side of the dialog. Select an element on the upper part and then write its description in the text box below.

L’aide d’un modèle est enregistrée comme une partie intégrante du modèle.

27.5.3. Enregistrer et charger des modèles

27.5.3.1. Enregistrer les modèles

Utilisez le bouton fileSaveEnregistrer le modèle pour enregistrer le modèle actuel et le bouton fileOpenouvrir modèle pour ouvrir un modèle précédemment enregistré. Les modèles sont enregistrés avec l’extension .model3. Si le modèle a déjà été sauvegardé à partir de la fenêtre du modeleur, aucun nom de fichier ne vous sera demandé. Comme il y a déjà un fichier associé au modèle, ce fichier sera utilisé pour les sauvegardes ultérieures.

Avant d’enregistrer 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 enregistré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 .model3 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.

Les modèles peuvent également être enregistrés dans le fichier de projet via le bouton addToProjectEnregistrer le modèle dans le projet. Les modèles sauvegardés par ce biais ne seront pas enregistrés dans un fichier .model3 mais directement intégrés au fichier du projet.

Project models are available in the qgsProjectFileProject models menu of the toolbox and in the Project ► Models menu item.

Le répertoire par défaut des modèles peut être défini dans les configurations du Module de Traitements, dans le groupe Modèles.

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 que vous pouvez utiliser un modèle depuis un autre modèle, comme tous les algorithmes.

Les modèles apparaîtront dans le panneau Browser et pourront être exécutés à partir de là.

27.5.3.2. Exporter le modèle en script Python

Comme nous le verrons dans un chapitre ultérieur, les algorithmes de traitement peuvent être appelés depuis la console Python de QGIS, et de nouveaux algorithmes de traitement peuvent être créés à l’aide de Python. Un moyen rapide de créer un tel script Python est de créer un modèle et de l’exporter ensuite sous forme de fichier Python.

Pour ce faire, cliquez sur le bouton saveAsPythonExporter comme Algorithme de script… dans le canevas du modeleur ou faites un clic droit sur le nom du modèle dans la boîte à outils de traitement et choisissez saveAsPythonExporter le modèle comme Algorithme Python….

27.5.3.3. Exporter un modèle comme image, PDF ou SVG.

Un modèle peut également être exporté en tant qu’image, SVG ou PDF (à des fins d’illustration) en cliquant sur saveMapAsImage Exporter en tant qu’image, saveAsPDF Exporter en PDF ou saveAsSVG Exporter en SVG.

27.5.4. Éditer un modèle

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

Si vous faites un clic-droit sur un algorithme dans le canevas, le menu contextuel suivant apparaîtra :

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

Fig. 27.28 Clic-droit sur un algorithme

Choisissez l’option Supprimer 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 :

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

Fig. 27.29 Impossible de supprimer l’algorithme

En sélectionnant l’option Editer…, le dialogue de paramétrage de l’algorithme s’affichera, ce qui vous permettra de modifier les entrées et les valeurs des paramètres. Tous les éléments d’entrée disponibles dans le modèle n’apparaîtront pas comme des entrées disponibles. Les couches ou les valeurs générées à une étape plus avancée du flux de travail défini par le modèle ne seront pas disponibles si elles provoquent des dépendances circulaires.

Sélectionnez les nouvelles valeurs et validez avec le bouton OK. Les liens entre les éléments du modèle seront actualisés sur le canevas du modeleur.

ajouter commentaire… vous permet d’ajouter un commentaire à l’algorithme pour mieux décrire le comportement.

Un modèle peut être exécuté partiellement en désactivant certains de ses algorithmes. Pour ce faire, sélectionnez l’option désactiver dans le menu contextuel qui apparaît lorsque l’on clique avec le bouton droit de la souris sur un élément de l’algorithme. L’algorithme sélectionné, et tous ceux du modèle qui en dépendent, seront affichés en gris et ne seront pas exécutés en tant que partie du modèle.

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

Fig. 27.30 Modèle dont un algorithme a été désactivé

Si vous faîtes un clic-droit sur un algorithme qui n’est pas actif, vous verrez alors l’option Activer du menu que vous pouvez utiliser pour le rendre actif.