Les algorithmes de traitement dans le Modeleur Graphique QGis 2.8

Ajout d’algorithmes dans le modeleur graphique

Les algorithmes sont ajoutés dans le modeleur graphique de la même manière que les données en entrée. Pour cela, il suffit de sélectionner l’onglet Algorithmes à la place de l’onglet Entrées, pour voir l’affichage correspondant au panneau Boîte à outils de traitements.

onglet algorithmes de la fenêtre du modéleur graphique

Une fois trouvé l’algorithme que vous voulez ajouter, faites un double-clic dessus, ou faites-le glisser vers la fenêtre graphique du Modeleur. Pour rechercher l’algorithme vous pouvez le faire comme vous le feriez dans la boîte à outils de traitement, en tapant le nom dans la case recherche en haut de l’onglet de l’algorithme.

De fait, l’onglet Algorithmes n’est que la fenêtre de la boîte à outils de traitements ouverte dans le modeleur. L’affichage de cette boîte a deux paramètres : Advanced et Simplified.

affichage des traitements avec l'interface avancée
Affichage avec l’interface avancée
affichage des traitements avec l'interface simplifiée
affichage des traitements avec l’interface simplifiée

Le paramètre de l’interface qui est actuellement utilisé dans la boîte à outils de traitement détermine comment seront organisés les algorithmes dans le modeleur graphique . Ce paramètre ne peut pas être changé dans le modeleur graphique. Pour changer le réglage, le modeleur graphique doit être arrêté, le paramètre de l’interface doit être changé dans la boîte à outils de traitement et le modeleur graphique doit alors être relancé. En dehors de cela, trouver des algorithmes suit la même démarche que dans la boîte à outils de traitement : tapez le nom ou une partie du nom du traitement recherché et vous aurez la liste des traitements disponibles.

Dans l’onglet des algorithmes, il y a une catégorie spéciale nommée Outils spécifiques au modeleur. Les trois outils — calculatrice, limites des couches Raster et limites des couches Vecteur — n’apparaissent pas dans la boîte à outils de traitement. Ce sont des outils qui n’ont de sens que lorsqu’ils sont utilisés dans le cadre du modeleur graphique.

L’outil calculatrice est  le plus couramment utilisé des trois outils. Il vous permet d’effectuer des calculs arithmétiques sur les sorties numériques des autres algorithmes, et les injecter comme entrée dans d’autres traitements du même modèle.

Quand vous ajoutez la calculatrice à la fenêtre graphique, la fenêtre d’infos  répertorie les valeurs numériques disponibles au sein du modèle. La fenêtre en dessous permet de rentrer une formule de calcul en utilisant les lettres affectées à chaque valeur numérique comme variables. Par exemple, la formule entrée dans la figure suivante affiche la seule variable numérique de notre modèle actuel (la distance de tampon) et calcule le double de cette distance (a * 2).

outil calculatrice du modeleur graphique

Cette sortie de l’algorithme de la calculatrice peut être utilisée comme entrée d’un autre algorithme de ce modèle.

Quand vous ajoutez un algorithme à la fenêtre graphique du modeleur, la fenêtre de paramétrage de l’algorithme s’ouvre. La boîte de dialogue sera très similaire à celle que vous auriez si vous lanciez directement l’outil à partir de la boîte de traitements : vous aurez les données en entrée, les données en sortie et les paramètres de l’outil.
ajout d'un algorithme dans la fenêtre graphique du medeleur

Cependant, il y a quelques différences importantes car le modeleur graphique est un univers autonome des entrées de données. Les différences sont les suivantes :
• Dans la liste des couches en entrée vous serez limité à celles qui ont été ajoutés au modèle.
définition des données en entrée d'un algorithme dans le modeleur graphique

• Le champ Sortie peut être laissé vide si c’est un résultat intermédiaire qui sera utilisé comme entrée pour un autre algorithme. Si la sortie est une couche qui a besoin d’être sauvegardée, entrez le nom de cette couche dans la zone de texte. Lorsque vous nommez une couche de sortie, vous n’avez pas besoin de fournir un nom de fichier de sortie. Cela se fera lorsque l’outil est exécuté. Au lieu de cela, il vous suffit d’entrer le nom de la couche (par exemple, tampon installations).
Il faut bien comprendre comment marchent les données en sortie d’un algorithme:

  • Soit elles ne servent que comme données intermédiaires pour les algorithmes suivants: vous laissez le nom vide
  • Soit, même si elles sont utilisées par les algorithmes suivants, vous voulez garder la couche produite: vous donnez un nom en sortie.

Ce nom n’est pas le nom du fichier ensortie, c’est l’étiquette qui sera affichée dans la fenêtre d’exécution du modèle quand vous l’exécuterez. N’oubliez pas que dans le modeleur, pendant la création du modèle les données ne sont pas utilisées. Vous utilisez des étiquettes qui seront remplacées par les véritables données seulement lors de l’exécution du modèle.

définition des données en sortie d'un algorithme dans le modeleur graphique

• Des valeurs numériques ou paramètres de chaîne de caractères peuvent être entrés directement comme des nombres ou des chaînes, mais ils peuvent également être choisis parmi les entrées de type nombre ou chaîne.

définition d'un nombre dans un algorithme du modeleur graphqiue

• Les champs d’une table d’attributs (ou autre table autonome) peuvent être spécifiés en tapant le nom du champ ou en utilisant l’entrée de champ de Table. Ces champs seront choisis lorsque le modèle sera exécuté.

• Algorithmes parent est un paramètre supplémentaire disponible seulement avec les outils exécutés à partir de modeleur graphique. Il vous permet de définir l’ordre d’exécution des algorithmes. La définition d’un algorithme en tant que parent force le modeleur graphique à l’exécuter avant d’exécuter l’algorithme qui possède ce parent. Selon la complexité du modèle, vous pouvez avoir plusieurs branches qui se rejoignent ou se séparent. L’ordre d’exécution des algorithmes sera défini par QGis lors de l’exécution, mais rien ne garantit qu’un algorithme soit exécuté avant un autre, SAUF si vous utilisez l’option Algorithme Parent.
définition d'un algorithme parent dans un outil du modeleur graphique

Par contre, si vous avez un modèle linéaire, sans embranchements, lorsque vous définissez la sortie d’un algorithme comme entrée pour le prochain, vous définissez automatiquement le premier algorithme comme parent du deuxième.

Dans notre exemple, nous allons exécuter comme premier algorithme le calcul d’une zone tampon autour des installations ostréicoles.
résultat de l'ajour d'un algorithme dans le modeleur graphique

Notez qu’au lieu de définir une distance tampon explicite, l’entrée de distance de tampon est utilisée. Notez également qu’aucune sortie n’est nommé puisque cette sortie sera considérée comme un ensemble de données intermédiaire.

Pour compléter notre modèle, nous allons ajouter l’outil Clip (Découpage) dans le modèle.

ajout de l'algorithme Clip dans le modeleur graphique
Nous allons utiliser les paramètres suivants:
• Couche en entrée : Parcelles
• Couche de découpage: « Tampon » de l’algorithme « fixed distance buffer »
• Couche en Sortie (OutputVector) : Parcelles riveraines

paramétrage de l'algorithme Clip dans le modeleur graphqiue

Le modèle final ressemble à la capture d’écran suivante.

modèle terminé pour extraire les parcelles riveraines des installations

Les lignes de raccordement montrent comment les éléments sont connectés les uns aux autres dans le flux de travail. Les entrées, les sorties et les algorithmes sont représentés par des boîtes de couleurs différentes afin de les distinguer. Les cases des algorithmes contiennent aussi, à gauche, une icône représentant la bibliothèque source. Dans notre exemple, les deux algorithmes sont des algorithmes QGIS et ont l’icône Q dans la boîte de l’élément.

Le modèle est maintenant prêt à être exécuté.

2 réflexions sur « Les algorithmes de traitement dans le Modeleur Graphique QGis 2.8 »

  1. Bonjour,

    Je souhaiterais savoir où se trouvent les données (fichiers) à téléchargées pour suivre vos tutoriels?

    J’aimerais également savoir s’il est possible via le modeleur graphique de créer un nouveau champ dans une couche .shp déjà existante et d’y intégrer les valeurs calculées par un algorithme plutôt qu’une couche entière soit recrée à chaque calcul?

    Je vous remercie par avance,

    Cordialement

    1. Si les données sont disponibles, pour un article, le lien est accessible dans le corps de l’article. Pour cet article il n’y a pas de données à télécharger.
      Le modeleur, pour autant que je sache, ne permet pas d’avoir en sortie la même couche qu’en entrée.
      Si vous voulez le faire il faut passer par un script python et pas par un modèle graphique…

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *