Le modeleur
Définition :
Le modeleur est un outil qui permet de préparer une chaîne de géotraitements. L'avantage d'un tel outil est double :
conserver une architecture des traitements et pouvoir changer un paramètre d'un des traitements facilement, sans devoir relancer tous les traitements postérieurs à la modification un à un ;
créer une chaîne de traitements adaptée à des besoins spécifiques et métiers.
Exemple :
Un agent doit faire subir une dizaine de traitements à une couche, et ce, une seule fois par an. L'outil Modeleur graphique lui permet de préparer ce travail, puis, une fois par an, de renseigner simplement le nom des couches et lancer l'ensemble des traitements pré-paramétrés.
Depuis le menu « Traitements »
, lancez Modeleur graphique
La fenêtre du modeleur est composée de 4 parties essentielles :
1 – Propriétés du modèle
Permet de donner un nom et un nom de groupe au modèle. Ils doivent être renseignés pour pouvoir enregistrer et lancer l'outil.

2 – Entrées
Intègre tous les éléments à paramétrer en entrée lorsque l'outil sera lancé.

3 – Algorithmes (de traitements)
Reprend tous les outils disponibles au travers de la boîte à outils de traitements pour les utiliser dans le modèle. Certains outils ne sont présents et disponibles que dans le modeleur.

4 – Fenêtre de traitement
Les éléments (entrées et algorithmes) s'ajoutent par double-clic, ce qui ouvre une fenêtre de paramétrage pour ensuite ajouter l'élément à la fenêtre de traitement.
Après avoir saisi un nom et un groupe (pour regrouper les modèles), il est possible d'enregistrer le modèle en utilisant les boutons Sauvegarder
et Sauvegarder sous
de la barre d'outils du modeleur. Le chemin proposé par défaut permet de retrouver ensuite le modèle directement dans QGIS (Boite à outils de traitements > Modèles). Si le modèle est enregistré dans un autre dossier, il faudra le récupérer avec le bouton
.
Le bouton Exécuter le modèle
active le lancement du modèle ; une boite de dialogue s'ouvre pour demander où sont les couches d'entrée (Input A et B) et où doit se faire l'enregistrement des sorties (Output C). Vous pouvez aussi exécuter le modèle par double-clic sur son nom (Boite à outils de traitements > Modèles > Nom du groupe >Nom du modèle) ou par clic-droit -> Exécuter. Pour modifier le modèle : clic-droit -> Éditer.
Le bouton Éditeur d'aide
offre la possibilité de créer une aide qui sera disponible lors du lancement de l'outil.
Il est également possible d'exporter le schéma du modèle sous forme d'image, PDF ou SVG
Exemple : Construction d'une chaîne de traitement automatisée
On voudrait repérer les zones de végétation à domination hydrophile dans la commune de Clermont-Créans. Les critères que nous retiendrons ont valeur d'exemple et ne prétendent pas être exhaustifs pour répondre à cette problématique.
Donner au cours d'eau une largeur réelle en s'aidant des informations attributaires de la couche TRONCON_HYDROGRAPHIQUE.shp (jusqu'a plus de 50m)
Définir la zone d'étude à partir de la couche COMMUNE.shp de la BdCarto
Extraire les zones de végétation de la couche ZONE_VEGETATION.shp qui intersectent les cours d'eau.
Menu Traitements -> Modeleur graphique ouvre une nouvelle fenêtre de modèle de traitement
Définir les couches en entrée, sur lesquelles les traitements seront effectués, en cliquant sur Couche de vecteur dans le panneau des Entrées. Il est conseillé d'entrer un nom de couche évocateur pour mieux retrouver les couches lors du lancement de l'outil. Spécifier le type de géométrie ne listera que les couches de lignes lors du lancement de l'outil. Spécifier la présence de la couche dans QGIS ou non est optionnel.
Traitement 1 : Créer une zone tampon de 25m pour affecter une largeur de 50 mètres aux rivières.
Dans le panneau Algorithmes, rechercher l’algorithme de géométrie vectorielle Tampon avec la barre de recherche située en haut. Cliquer sur l'outil et, après avoir donné une description significative au traitement, renseigner les paramètres :
Traitement 2 : Filtrer les entités de la couche de Communes en gardant uniquement Clermont-Créans
Dans le panneau Algorithmes, rechercher l’algorithme de Table vecteur Feature Filter (filtre d'entité) avec la barre de recherche située en haut. Cliquer sur l'outil et, après avoir donné une description significative au traitement, renseigner les paramètres :
Traitement 3 : Conserver les tronçons de 50 mètres de large situés dans la zone d'étude.
Dans le panneau Algorithmes, rechercher l’algorithme de recouvrement de vecteur Couper avec la barre de recherche située en haut. Cliquer sur l'outil et, après avoir donné une description significative au traitement, renseigner les paramètres :
Traitement 4 : Extraire les zones de végétation qui intersectent les tronçons hydrographique de 50m de large de la commune de Clermont-Créans (issus du traitement précédent).
Dans le panneau Algorithmes, rechercher l’algorithme de sélection dans un vecteur Extraire par localisation avec la barre de recherche située en haut. Cliquer sur l'outil et renseigner les paramètres. Cette fois, il faut donner un nom à la couche résultante (Extrait (localisation)) afin qu'elle soit créée en sortie du lancement du modèle :
Aperçu de la chaîne de traitement :
Enregistrer le modèle et cliquer sur Exécuter
ou fermer, puis, dans la boîte à outils de traitements, parcourir l'arborescence jusqu'au modèle créé (Modèles / Végétation / Zone végétation hydrophile) et double-cliquer dessus.
Renseigner les couches demandées (elles peuvent être déjà chargées dans QGIS, ou sinon il faut indiquer le chemin d'accès au dossier), puis exécuter l'outil.
Conseil :
1) Pour une utilisation optimale de l'outil Modeleur graphique, il est important de renseigner une description détaillée des entrées, mais aussi et surtout des traitements réalisés. Dans le cas de la construction d'une longue chaîne de traitement, cela évite les confusions au moment de renseigner des couches issues de traitements antérieurs, cela permet aussi de revenir plus facilement sur certains traitements pour en modifier les paramètres.
2) De même, lorsqu'on construit une longue chaîne de traitement, il peut être utile de créer des couches en sortie aux étapes clés du modèle afin d'identifier plus aisément d'éventuelles erreurs. Pour ce faire, il suffit de renseigner un nom de couche en sortie au moment du paramétrage du traitement.
Attention : Il faut être vigilant aux sélections réalisées avant de lancer un traitement : ce dernier prend en compte uniquement la sélection active (paramétrage par défaut).
NB : Dans l'exemple ci-dessus, si on voulait accélérer les traitements pour le calcul des tampons, il faudrait également filtrer les tronçons de routes qui sont dans la zone concernée, ou bien effectuer une sélection préalable de ceux-ci.
Conclusion :
La création d'un modèle lorsque l'on a plusieurs algorithmes à lancer apporte de nombreux avantages :
Disposer d'un aperçu général de tous les traitements, ce qui est plus pratique à manipuler en cas d'erreur dans le traitement ;
Le changement d'un paramètre d'un des algorithmes (exemple : la largeur des rivières) ne nécessite pas de relancer tous les traitements suivants un par un ;
Relancer le modèle de traitement pour une autre zone considérée est aussi facilité.
Complément : Enregistrement des modèles de traitement dans les fichiers projets
Certains modèles de traitement sont intrinsèquement liés à la logique d'un projet et n'ont pas de signification en dehors de ce projet (par exemple, des modèles qui reposent sur la présence de couches, de relations, etc.).
A partir de QGIS 3.4, les modèles de traitement peuvent être stockés dans des fichiers de projet QGIS. Tous les modèles stockés dans un projet sont rendus disponibles dès que ce projet est ouvert.
On utilise pour cela le bouton dans la barre de dialogue du modeleur :

Complément : Le plugin Append Features to Layer
Ce plugin permet d'ajouter un algorithme qui permet d'ajouter des entités dans une couche existante.
Il est particulièrement utile dans une chaîne de traitement du modeleur. Ce plugin installe également à titre d'exemple un modèle de traitement qui utilise aussi l'algorithme 'Refactoriser les champs'