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

17.8. Lancement d’un algorithme externe

Note

Dans cette leçon, nous verrons comment utiliser des algorithmes qui dépendent d’une tierce application, en particulier SAGA, qui est l’un des principaux fournisseurs d’algorithmes.

Tous les algorithmes que nous avons exécutés jusqu’à présent font partie du module de traitement. C’est à dire que ceux sont des algorithmes natifs implémentés dans l’extension et exécutés par QGIS de la même façon que l’extension elle-même est exécutée. Cependant, une des plus importantes caractéristiques du module de traitement est qu’il peut utiliser des algorithmes provenant d’applications externes et étendre les possibilités de ces applications. De tels algorithmes sont enveloppés et placés dans la boîte d’outils, pour que vous puissiez les utiliser dans QGIS et utiliser les données de QGIS pour les exécuter.

Certains des algorithmes que vous voyez dans la vue simplifiée ont besoin d’applications tierces qui ont besoin d’être installées sur votre système. Un fournisseur d’algorithmes ayant un intérêt particulier est SAGA (Système pour l’Analyse Géospatiale Automatisée). Nous devons d’abord tout configurer pour que QGIS puisse correctement appeler SAGA. Cela n’est pas compliqué, mais il est important de comprendre comment cela fonctionne. Chaque application externe a sa propre configuration et, plus tard dans ce manuel, nous parlerons de certaines autres, mais SAGA va devenir notre support principal et nous allons maintenant en discuter.

Si vous utilisez Windows, la meilleure façon de travailler avec des algorithmes externes est d’utiliser l’installateur indépendant de QGIS. Il fera en sorte d’installer toutes les dépendances requises, y compris SAGA, ainsi si vous l’avez utilisé, il n’y a rien à faire. Vous pouvez ouvrir la boîte de dialogue des paramètres et aller au groupe Pilotes/SAGA.

../../../_images/saga_config.png

Le chemin SAGA devrait déjà être configuré et pointer vers le dossier où SAGA est installé.

If you have installed QGIS not using the standalone installer, then you must enter the path to your SAGA installation (which you must have installed separately) there. The required version is SAGA 2.1

In case you are using Linux, you do not have to set the path to your SAGA installation in the processing configuration. Instead, you must install SAGA and make sure that the SAGA folder is in PATH, so it can be called from the console (just open a console and type saga_cmd to check it). Under Linux, the target version for SAGA is also 2.1, but in some installations (such as the OSGeo Live DVD) you might have just 2.0.8 available. There are some 2.1 packages available, but they are not commonly installed and might have some issues, so if you prefer to use the more common and stable 2.0.8, you can do it by enabling 2.0.8 compatibility in the configuration dialog, under the SAGA group

../../../_images/enable208.png

Une fois que SAGA est installé, vous pouvez lancer un algorithme SAGA en double-cliquant sur son nom, comme avec n’importe quel autre algorithme. Étant donné que nous utilisons l’interface simplifiée, vous ne savez pas quels algorithmes sont basés sur SAGA ou dans une autre application externe, mais si vous arrivez à double–cliquer sur un des algorithmes et que l’application correspondante n’est pas installée, vous verrez quelque chose comme ceci.

../../../_images/missing_saga.png

Dans notre cas, et en supposant que SAGA est correctement installé et configuré, vous ne devriez pas voir cette fenêtre, et vous obtiendrez à la place la boîte de dialogue des paramètres.

Essayons avec un algorithme SAGA de base, celui nommé Séparer une couche de formes aléatoirement.

../../../_images/split.png

Utilisez la couche de points dans le projet correspondant à cette leçon comme entrée, et les valeurs de paramètre par défaut, et vous obtiendrez quelque chose comme ceci (la séparation est aléatoire, donc votre résultat pourrait être différent).

../../../_images/split_layer1.png

La couche en entrée a été séparée en deux couches, chacune avec le même nombre de points. Ce résultat a été calculé par SAGA, récupéré ensuite par QGIS et ajouté au projet QGIS.

Si tout va bien, vous ne remarquerez aucune différence entre cet algorithme SAGA de base et un des autres algorithmes que nous avons précédemment lancé. Cependant, SAGA peut, pour une raison quelconque, ne pas être capable de produire un résultat et ne pas pouvoir générer le fichier que QGIS attend. Dans ce cas, il y aura des problèmes en ajoutant le résultat au projet QGIS, et un message d’erreur comme celui ci-dessous.

../../../_images/missing_result.png

Ce type de problème peut se passer, même si SAGA (ou n’importe quelle autre application que nous avons appelé à partir du module de traitements) est correctement installé, et il est important de savoir comment gérer ces erreurs. Produisons un de ces messages d’erreur.

Ouvrez l’algorithme Créer un graticule et utilisez les valeurs ci-dessous.

../../../_images/create_graticule.png

Nous utilisons les valeurs de largeur et de hauteur qui sont plus grandes que l’emprise indiquée, donc SAGA ne peut pas produire de sortie. En d’autres mots, les valeurs des paramètres sont fausses, mais elles ne sont pas vérifiées jusqu’à ce que SAGA les obtienne et essaie de créer la grille. Tant qu’il ne peut pas la créer, il ne produira pas la couche attendue, et vous verrez un message d’erreur comme montré ci-dessus.

La compréhension de ce type de problèmes vous aidera à les résoudre et à trouver une explication à ce qu’il se passe. Comme vous pouvez le voir dans le message d’erreur, un test est effectué pour vérifier que la connexion avec SAGA fonctionne correctement, vous indiquant qu’il peut y avoir un problème dans comment l’algorithme a été exécuté. Cela s’applique non seulement à SAGA, mais aussi à d’autres applications externes.

Dans la prochaine leçon, nous introduirons le journal de progression, où l’information à propos des commandes lancées par les géoalgorithmes est gardée, et vous verrez comment obtenir plus de détail lorsque des problèmes comme ceci apparaissent.