17.26. L’interface de traitements par lots

Note

Cette leçon introduit l’interface de traitements par lots, qui permet d’exécuter un seul algorithme avec un ensemble de valeurs d’entrée différentes.

Sometimes a given algorithm has to be executed repeatedly with different inputs. This is, for instance, the case when a set of input files have to be converted from one format to another, or when several layers in a given projection must be converted into another projection.

Dans ce cas, appeler l’algorithme de manière répétitive dans la boîte à outils n’est pas la meilleure option. À la place, l’interface de traitements par lots devrait être utilisée, ce qui simplifie grandement la réalisation d’une exécution multiple d’un algorithme donné. Pour exécuter un algorithme en tant que traitement par lots, trouvez-le dans la boîte à outils, et à la place de double–cliquer dessus, faites un clic droit et sélectionnez Exécuter en tant que traitement par lots.

../../../_images/batch_menu.png

Pour cet exemple, nous utiliserons l’algorithme Reprojection, alors trouvez-le et suivez la description ci-dessus. Vous obtiendrez la boîte de dialogue suivante.

../../../_images/batch_dialog.png

Si vous regardez les données pour cette leçon, vous verrez qu’elles contiennent un ensemble de trois shapefiles, mais aucun fichier de projet QGIS. C’est parce que lorsqu’un algorithme est exécuté en tant que traitement par lots, les couches en entrée peuvent être sélectionnées soit à partir du projet QGIS courant, soit à partir de fichiers. Cela permet de traiter plus facilement de grandes quantités de couches, telles que par exemple toutes les couches dans un dossier donné.

Chaque ligne dans la table de la boîte de dialogue de traitement par lots représente une seule exécution de l’algorithme. Les cellules sur une ligne correspondent aux paramètres nécessaires pour l’algorithme, qui ne sont pas disposés l’un en dessus de l’autre, comme dans la boîte de dialogue d’une exécution unique normale, mais horizontalement sur la même ligne.

Définir les traitements par lots à lancer se fait en remplissant la table avec les valeurs correspondantes. La boîte de dialogue contient plusieurs outils qui peuvent faciliter cette tâche.

Commençons par remplir les champs un par un. La première colonne à remplir est celle de la Couche d’entrée. À la place d’entrer les noms de chacune des couches que nous voulons traiter, vous pouvez toutes les sélectionner et laisser la boîte de dialogue en mettre une par ligne. Cliquez sur le bouton dans la cellule supérieure gauche, et dans la boîte de dialogue de sélection de fichier qui apparaîtra, sélectionnez les trois fichiers à reprojeter. Comme un seul d’entre eux est nécessaire pour chaque ligne, ceux restants seront utilisés pour remplir les lignes ci-dessous.

../../../_images/first_column_filled.png

Le nombre par défaut de lignes est 3, ce qui est exactement le nombre de couches que nous devons convertir, mais si vous sélectionnez plus de couches, de nouvelles lignes seront ajoutées automatiquement. Si vous voulez remplir les entrées manuellement, vous pouvez ajouter plus de lignes en utilisant le bouton Ajouter une ligne.

Nous allons convertir toutes ces couches en EPSG:23029, donc nous devons sélectionner ce SCR dans le second champ. Nous voulons le même pour toutes les lignes, mais nous ne devons pas le faire pour chaque ligne individuellement. Configurez ce SCR pour la première ligne (celle du haut) en utilisant le bouton dans la cellule correspondante, et ensuite double-cliquez sur l’en-tête de la colonne. Cela va permettre à toutes les cellules de la colonne d’être remplies avec la valeur de la cellule du haut.

../../../_images/second_column_filled.png

Finalement, nous devons sélectionner un fichier de sortie pour chaque exécution, qui contiendra la couche reprojetée correspondante. Une fois encore, faisons-le uniquement pour la première rangée. Cliquez sur le bouton dans la cellule supérieure et, dans un dossier où vous voulez mettre vos fichiers de sortie, entrez un nom de fichier (par exemple reprojected.shp).

Maintenant, lorsque vous cliquez sur OK sur la boîte de dialogue de sélection de fichier, le fichier ne s’écrit pas automatiquement dans la cellule, mais une zone de saisie comme celle qui suit s’affiche à la place.

../../../_images/autofill.png

Si vous sélectionnez la première option, seule la cellule courante sera remplie. Si vous sélectionnez n’importe quelles autres options, toutes les lignes en-dessous seront remplies avec un modèle donné. Dans ce cas, nous allons sélectionner l’option Remplir avec la valeur de paramètre, et ensuite la valeur Couche d’entrée dans le menu déroulant dessous. Cela ajoutera la valeur dans la Couche d’entrée (c’est-à-dire le nom de la couche) au nom de fichier que nous avons ajouté, rendant chaque fichier de sortie différent. La table de traitement par lots devait maintenant ressembler à ça.

../../../_images/complete.png

La dernière colonne indique s’il faut ou non ajouter les couches résultantes au projet courant QGIS. Laissez l’option par défaut Oui, de sorte que vous puissiez voir vos résultats dans ce cas.

Cliquez sur OK et le traitement par lots sera exécuté. Si tout s’est bien passé, toutes vos couches auront été traitées, et 3 nouvelles couches auront été créées.