` `

Konfiguration externer Anwendungen

The processing framework can be extended using additional applications. Currently, SAGA, GRASS, OTB (Orfeo Toolbox) and R are supported, along with some other command-line applications that provide spatial data analysis functionalities. Algorithms relying on an external applications are managed by their own algorithm provider.

This section will show you how to configure the processing framework to include these additional applications, and it will explain some particular features of the algorithms based on them. Once you have correctly configured the system, you will be able to execute external algorithms from any component like the toolbox or the graphical modeler, just like you do with any other geoalgorithm.

Standardmäßig sind alle Algorithmen, die auf einer externen Anwendung beruhen nicht Teil von QGIS und werden nicht automatisch aktiviert. Sie können sie im Einstellunngsdialog aktivieren. Stellen Sie sicher, dass die entsprechende Anwendung bereits auf Ihrem System installiert ist.

Ein Hinweis für Windows Anwender

If you are not an advanced user and you are running QGIS on Windows, you might not be interested in reading the rest of this chapter. Make sure you install QGIS in your system using the standalone installer. That will automatically install SAGA, GRASS and OTB in your system and configure them so they can be run from QGIS. All the algorithms from these providers will be ready to be run without needing any further configuration. If installing through OSGeo4W application, make sure you select for installation SAGA, GRASS and OTB as well.

If you want to know more about how these providers work, or if you want to use some algorithms not included in the simplified toolbox (such as R scripts), keep on reading.

Eine Bemwerkung zu den Datenformaten

Bei Verwendung einer externen Software, bedeutet das Öffnen einer Datei in QGIS nicht, dass es auch von der anderen Software geöffnet und verarbeitet werden kann. In den meisten Fällen können sie zwar auch lesen, was Sie in QGIS geöffnet haben, aber in einigen Fällen ist das vielleicht nicht der Fall. Bei der Verwendung von Datenbanken oder seltenen Dateiformaten, ob für Raster- oder Vektorlayer, könnten Probleme auftreten. Wenn das passiert, versuchen Sie, bekannte Dateiformate, bei denen Sie sicher sind, dass sie von beiden Programmen verstanden werden, zu verwenden, und überprüfen Sie die Ausgabe (im History und Log-Dialog) für weitere Informationen.

Das Verwenden von RASS Rasterlayern ist beispielsweise ein Fall, in dem Sie vielleicht Probleme haben und nicht in der Lage sein werden Ihre Arbeit zu vervollständigen, wenn Sie einen externen Algorithmus mit einem solchen Layer als Eingabe aufrufen. Aus diesem Grund erscheinen diese Layer als nicht zur Verfügung stehend für die Algorithmen.

You should, however, find no problems at all with vector layers, since QGIS automatically converts from the original file format to one accepted by the external application before passing the layer to it. This adds extra processing time, which might be significant if the layer has a large size, so do not be surprised if it takes more time to process a layer from a DB connection than it does to process one of a similar size stored in a shapefile.

Provider, die keine externe Anwendung verwenden können jeden beliebigen Layer, den Sie in QGIS öffnen können, prozessieren, da Sie ihn für Analysen anhand von QGIS öffnen.

In Bezug auf Ausgabeformate können alle von QGIS als Ausgabe unterstützen Formate verwendet werden, für Raster- und Vektorlayer. Einige Provider unterstützen keine bestimmten Formate, aber alle können in gängige Rasterlayerformate exportieren, die später von QGIS automatisch transformiert werden können. Wie im Fall von Eingabelayern kann das, wenn eine Konvertierung benötigt wird, die Rechenzeit erhöhen.

Eine Bemerkung zu Vektorlayern mit ausgewählten Objekten

Externe Anwendungen können auch über die Auswahl die in Vektorlayern innerhalb von QGIS vorliegt unterrichtet werden. Das jedoch erfordert das Umschreiben aller Eingabevektorlayer, so als würden Sie ursprünglich in einem Format, das nicht von der externen Anwendung unterstützt wird, vorliegen. Nur wenn eine Auswahl besteht, oder die Use only selected features Option in den Verarbeitungsoptionen nicht aktiviert ist, kann ein Layer direkt an eine externe Anwendung übergeben werden.

In anderen Fällen wird das Exportieren von nur ausgewählten Objekten benötigt, was bewirkt, dass sich die Ausführungszeiten verlängern.

SAGA

SAGA Algorithmen können von QGIS aus benutzt werden wenn Sie SAGA auf Ihrem System installiert haben und Sie die Verarbeiten Umgebung richtig konfigurieren, so dass es ausführbare Module von SAGA finden kann. Insbesondere das SAGA Kommandozeilenmodul wird benötigt um SAGA Algorithmen zum Laufen zu bringen.

Wenn Sie Windows benutzen beinhalten sowohl das Installationspaket und der OSGeo4W Installer SAGA unter QGIS und er Pfad ist automatisch konfiguriert, es muss also nichts weiter getan werden.

Wenn Sie SAGA selber installiert haben muss der Pfad zu den ausführbaren Modulen konfiguriert werden. Um dies zu tun öffnen Sie den Optionen und Konfiguration Dialog. Im SAGA Block finden Sie eine Einstellung genannt SAGA Folder. Geben Sie den Pfad zu dem Ordner wo SAGA installiert ist an. Schließen Sie den Verarbeitungsoptionendialog und jetzt können Sie SAGA Algorithmen aus QGIS heraus ausführen.

Wenn Sie Linux benutzen, sind SAGA Binärpakete nicht in der Verarbeitung Umgebung enthalten, also müssen Sie die Software selber downloaden und installieren. Bitte überprüfen Sie die SAGA Webseite für mehr Informationen.

In diesem Fall braucht der Pfad zu den ausführbaren SAGA Modulen nicht konfiguriert werden und Sie werden diese Ordner nicht sehen. Anstelledessen müssen Sie sicherstellen, dass SAGA richtig installiert ist und seine Ordner zur PATH Umgebungsvariable hinzugefügt wurden. Öffnen Sie einfach eine Konsole und geben Sie saga_cmd ein um zu überprüfen, dass das System herausfindet, wo sich die SAGA Binärpakete befinden.

Über die SAGA KBS Einschränkungen

Die meisten SAGA Algorithmen, die mehrere Eingaberasterlayer benötigen, haben die Anforderung, dass diese das gleiche Grid-System haben. Das heißt, dass Sie das gleiche geografische Gebiet abdecken und die gleiche Zellgröße besitzen müssen, so dass Ihre korrespondierenden Grids zueinander passen. Wenn SAGA Algorithmen von QGIS aus aufgerufen werden, können Sie jeden Layer unabhängig von Zellgröße und Ausdehnung benutzen. Wenn Mahrfachrasterlayer als Eingabe für einen SAGA Algorithmus verwendet werden, resampled QGIS sie zu einem gemeinsamen Grid-System und übergibt diese dann an SAGA (es sei denn der SAGA Algorithmus kann mit Layern aus verschiedenen Grid-Systemen operieren).

Die Definition dieses gemeinsamen Grid-Systems wird durch den Anwender kontrolliert und Sie werden dafür mehrere Parameter in der SAGA Gruppe im Einstellungen Fenster finden. Es gibt zwei Wege das Ziel-Grid-System einzustellen:

  • Manuelles Einstellen. Sie definieren das Ausmaß indem Sie die Werte der folgenden Parameter setzen:

    • Resampling min X
    • Resampling max X
    • Resampling min Y
    • Resampling max Y
    • Resampling cellsize

    Beachten Sie, dass QGIS alle Eingabelayer bis zu diesem Ausmaß resampled, auch wenn sie sich nicht damit überschneiden.

  • Automatisches Einstellen aus Eingabelayern. Um diese Option auszuwählen, überprüfen Sie einfach die Use min covering grid system for resampling Option. Alle anderen Einstellungen werden ignoriert und das minimale Ausmaß, das alle Eingabelayer abdeckt, wird benutzt. Die Zellgröße des Ziellayers ist das Maximum aller Zellgrößen des Eingabelayers.

Für Algorithmen, die nicht mit mehreren Rasterlayern arbeiten, oder für diejenigen, die kein eindeutiges KBS bauchen, wird kein Resampling vor dem Aufruf von SAGA durchgeführt, und die Parameter werden nicht verwendet.

Einschränkungen für Multi-Band-Layer

Im Gegensatz zu QGIS hat SAGA keine Unterstützung für Multikanallayer. Wenn Sie einen Multikanallayer benutzen wollen (so wie ein RGB oder ein Multispektralbild), müssen Sie ihn erst in Einkanalbilder aufspalten. Um das zu tun, können Sie den ‘SAGA/Grid - Tools/Split RGB image’ Algorithmus (der drei Bilder aus einem RGB Bild erstellt) oder den ‘SAGA/Grid - Tools/Extract band’ Algorithmus (um einen einzelnen Kanal zu extrahieren) verwenden.

Einschränkungen in der Zellgröße

SAGA geht davon aus, dass Rasterlayer die selbe Pixelgröße in X- und Y-Richtung haben. Wenn Sie mit einem Layer mit unterschiedlichen Werten für die horizontale und vertikale Pixelgöße arbeiten, erhalten Sie möglicherweise unerwartete Ergebnisse. In diesem Fall wird eine Warnung im Verarbeitung Protokoll hinzugefügt, das anzeigt, dass ein Layer möglicherweise nicht geeignet ist, von SAGA verarbeitet zu werden.

Logging

Wenn QGIS SAGA aufruft, findet das über die Kommandozeilen-Schnittstelle statt mit einer Reihe von Befehlen, um alle erforderlichen Operation durchzuführen. SAGA zeigt den Fortschritt, indem es Informationen an die Konsole übergibt, die den Prozentsatz der Verarbeitung beinhaltet, zusammen mit zusätzlichen Inhalten. Diese Ausgabe wird gefiltert und verwendet, um die Fortschrittsanzeige zu aktualisieren, während der Algorithmus läuft.

Sowohl die von QGIS gesendeten Befehle und die von SAGA gedruckte zusätzliche Information kann mit anderen Verarbeitung Protokollnachrichten gelogged werden und Sie könnten es nützlich finden im Detail zu verfolgen was passiert wenn QGIS einen SAGA Algorithmus aufruft. Sie werden zwei Einstellungen finden, nämlich Log console output und Log execution commands um diesen Protokollierungsmechanismus zu aktivieren.

Die meisten anderen Provider, die eine externe Anwendung verwenden und diese aus der Kommandozeile aufrufen, haben ähnliche Optionen, also finden Sie sie auch an anderer Stelle in der Verarbeitungsoptionen Liste.

R. Creating R scripts

Die R Integration in QGIS unterscheidet sich von der SAGA Integration, da es keinen vordefinierten Satz von Algorithmen gibt, den man ausführen kann (bis auf einige Beispiele). Stattdessen sollten Sie Ihre Skripte schreiben und dann über R Befehle aufrufen, ähnlich wie man es von R kennt, und in einer sehr ähnlichen Weise zu dem, was wir sahen, im Kapitel Verarbeitung Skripte. Dieses Kapitel zeigt Ihnen die Syntax, die Sie verwenden sollten, um die R-Befehle von QGIS anzusprechen und wie QGIS Objekte verwendet werden (Layer, Tabellen).

Das erste, was Sie tun müssen, wie wir im Fall von SAGA gesehen haben, ist zu sagen, wo sich die R Binärdateien befinden. Sie können dies tun, indem Sie den R folder Eintrag im Verarbeitung Konfigurationsdialog ansprechen. Nachdem Sie die Parameter definiert haben, können Sie anfangen, eigene R-Skripte zu erstellen und auszuführen.

Bemerkung

for Windows user, usually the R executable file is in the C:\Program Files\R\R-3.2 folder. Add just the folder and NOT the binary!

Dies ist wieder anders in Linux. Dort müssen Sie nur sicherstellen, dass der R-Ordner in der Umgebungsvariablen PATH enthalten ist. Wenn Sie nur die Eingabe R in eine Konsole eingeben können, kann es losgehen.

Um einen neuen Algorithmus hinzuzufügen, der eine R Funktion (oder ein komplexeres RScript, das sie entwickelt haben und das sie gerne zur in QGIS zur Verfügung stehen haben wollen) aufruft, müssen Sie eine Script Datei erstellen, die der Verarbeiten Umgebung, wie diese Operation durchgeführt wird, und die entsprechenden R Befehle mitteilt um das zu tun.

R Scripts Dateien habe die Erweiterung .rsx und es ist ziemlich einfach sie zu erstellen wenn Sie nur etwas grundlegende Kenntnisse über die R Syntax und R Scripting besitzen. Sie sollten im R Scripts Ordner gespeichert werden. Sie können diesen Ordner in der R Einstellungen Gruppe (steht im Verarbeitungsoptionen Dialog) einstellen, genauso wie Sie es mit dem Ordner für reguläre Verarbeitung Scripts machen.

Werfen Sie einen Blick auf eine sehr einfache Scripts-Datei, die die R-Methode spsample aufruft und ein zufälliges Gitter innerhalb der Grenzen eines Polygon in einem bestimmten Polygon-Layer erstellt. Diese Methode gehört zum Paket zur MapTools. Grundsätzlich brauchen Sie für R-Algorithmen, die Sie in Verarbeitung für räumliche geostatistische Analysen nutzen wollen, zumindest Kenntnisse der Pakete wie MapTools und speziell sp.

##polyg=vector
##numpoints=number 10
##output=output vector
##sp=group
pts=spsample(polyg,numpoints,type="random")
output=SpatialPointsDataFrame(pts, as.data.frame(pts))

Die ersten Zeilen, die mit einem doppelten Python Kommentarzeichen (##) beginnen teilen QGIS die Eingaben des Algorithmus, der in der Datei beschrieben wird und die Ausgaben, die er erzeugen wird, mit. Sie arbeiten mit genau der gleichen Syntax wie den Verarbeitung Scripts, die wir bereits gesehen haben, also werden Sie hier nicht noch einmal beschrieben.

Please have a look at the R Intro and the R Syntax Training Manual Chapters to have more information on how to write your own R scripts-

Wenn Sie einen Eingabeparameter definieren, verwendet QGIS diese Informationen für zwei Dinge: Erstellung der Benutzeroberfläche, um die Benutzer nach Eingaben von Parameters zu fragen und die Schaffung einer entsprechenden R Variable, die später als Eingabe für die R-Befehle verwendet werden.

In dem obigen Beispiel erklären wir die Eingabe vom Typ Vektor mit dem Namen polyg. Bei der Ausführung des Algorithmus wird durch QGIS R geöffnet und der Layer, der durch den Benutzer ausgewählt wurde, in einer Variablen polyg abgelegt. Der Name des Parameters ist also auch der Name der Variablen, die wir in R für den Zugriff auf den Wert des Parameters nutzen (vermeiden Sie, reservierte R Begriffe als Parameter zu verwenden).

Räumliche Elemente wie Vektor- und Rasterlayer werden mit den readOGR() und brick() Befehlen eingelesen (sie brauchen sich nicht darum kümmern diese Befehle Ihrer Beschreibungsdatei hinzuzufügen - das macht QGIS) und sie werden als Spatial*DataFrame Objekte gespeichert. Tabellenfelder werden als Strings, die den Namen des ausgewählten Feldes beinhalten, gespeichert.

Tabellen werden anhand des read.csv() Befehls geöffnet. Wenn ein Anwender eine Tabelle eingibt, die nicht im CSV Format ist, wird diese vor dem Importieren in R konvertiert.

Zusätzlich können Rasterdateien mit Hilfe des readGDAL() Befehls anstelle von brick() eingelesen werden indem ##usereadgdal benutzt wird.

Wenn Sie ein fortgeschrittener Anwender sind und nicht wollen, dass QGIS ein Objekt, das den Layer repräsentiert, erstellt, können Sie den ##passfilename Tag benutzen um anzuzeigen, dass Sie anstelledessen einen String mit dem Dateinamen bevorzugen. In diesem Fall ist es an Ihnen, die Datei vor dem Durchführen von Operationen mit Daten, die es beinhaltet, zu öffnen.

Mit den oben genannten Informationen können wir jetzt die erste Zeile unseres ersten Beispiel Scripts verstehen (dabei startet die erste Zeile nicht mit einem Python Kommentar).

pts=spsample(polyg,numpoints,type="random")

Die Variable Polygon enthält bereits ein SpatialPolygonsDataFrame Objekt, damit kann es verwendet werden, um das spsample Verfahren aufzurufen, ebenso wie die NumPoints, die die Anzahl der Punkte zeigt, die zum Gitter hinzugefügt werden sollen.

Da wir eine Ausgabe vom Typ Vektor definiert haben mit dem Namen``out``, müssen wir nun eine Variable namens out erstellen und Spatial*DATAframe Objekt dafür erstellen (in diesem Fall ein SpatialPointsDataFrame). Sie können einen beliebigen Namen für Ihre Zwischenvariablen verwenden. Stellen Sie nur sicher, dass die Variable Ihres Endergebnisses den gleichen Namen hat, den Sie zuvor definiert haben und dass sie einen geeigneten Wert enthält.

In diesem Fall muss das von der spsample Methode erhaltene Ergebnis ausdrücklich in ein SpatialPointsDataFrame Objekt konvertiert werden, da es ein Objekt der Klasse ppp ist, welches keine geeignete Klasse ist um an QGIS zurückgegeben zu werden.

If your algorithm generates raster layers, the way they are saved will depend on whether or not you have used the ##dontuserasterpackage option. If you have used it, layers are saved using the writeGDAL() method. If not, the writeRaster() method from the raster package will be used.

If you have used the ##passfilenames option, outputs are generated using the raster package (with writeRaster()), even though it is not used for the inputs.

Wenn Ihr Algorithmus keinen Layer erzeugt sondern stattdessen ein Textergebnis in der Konsole, müssen Sie angeben, dass die Konsole gezeigt wird, nachdem die Ausführung beendet ist. Um das zu tun starten Sie die Kommandozeilen, die die Ergebnisse produzieren, die Sie mit dem > (größer) Zeichen drucken wollen. Die Ausgabe aller anderen Zeilen wird nicht gezeigt. Zum Beispiel ist hier die Beschreibungsdatei eines Algorithmus, der einen Test auf Normalverteilung mit einem vorhandenen Feld (Spalte) eines Vektorlayerattributes durchführt:

##layer=vector
##field=field layer
##nortest=group
library(nortest)
>lillie.test(layer[[field]])

Die Ausgabe der letzten Zeile wird gedruckt, die Ausgabe der ersten aber nicht (und auch nicht die Ausgaben von anderen Kommandozeilen, die automatisch von QGIS hinzugefügt werden).

Wenn Ihr Algorithmus eine Grafiken erstellt (mit der plot()-Methode), fügen Sie die folgende Zeile ein:

##showplots

Dies bewirkt, dass QGIS alle grafischen Ausgaben von R in eine temporäre Datei, die geöffnet wird nachdem die Ausführung von R beendet wurde, umleitet.

Sowohl grafische als auch Konsolenergebnisse werden im Verarbeitung Ergebnisanzeige gezeigt.

Für weitere Informationen schauen Sie sich bitte die Skript-Dateien an, die Verarbeitung bereits enthält. Die meisten von ihnen sind ziemlich einfach und werden wesentlich dazu beitragen, wie Sie Ihre eigenen erstellen.

Bemerkung

rgdal and raster libraries are loaded by default, so you do not have to add the corresponding library() commands (you just have to make sure that those two packages are installed in your R distribution). However, other additional libraries that you might need have to be explicitly loaded by typing, library(ggplot2). If the package is not already installed on your machine, Processing will download and install it. In this way the package will be also available in R Standalone. Be aware that if the package has to be downloaded, the first time you run the script it might take a long time.

GRASS

Configuring GRASS is not much different from configuring SAGA. First, the path to the GRASS folder has to be defined, but only if you are running Windows. Additionally, a shell interpreter (usually msys.exe, which can be found in most GRASS for Windows distributions) has to be defined and its path set up as well.

By default, the processing framework tries to configure its GRASS connector to use the GRASS distribution that ships along with QGIS. This should work without problems in most systems, but if you experience problems, you might have to configure the GRASS connector manually. Also, if you want to use a different GRASS installation, you can change that setting and point to the folder where the other version is installed. GRASS 6.4 is needed for algorithms to work correctly.

Wenn Sie Linux verwenden, müssen Sie nur noch sicherstellen, dass GRASS richtig installiert ist, und dass es problemlos von einer Konsole ausgeführt werden kann.

GRASS Algorithmen verwenden eine Region für die Berechnungen. Diese Region kann manuell definiert werden unter Verwendung von Werten ähnlich denen, die in der SAGA Konfiguration stehen oder automatisch, wobei die minimale Ausdehnung aller Eingangslayer verwendet werden, wenn der Algorithmus ausgeführt wird. Wenn dies das Verhalten ist, das Sie bevorzugen, können Sie es über die Option Verwende min abdecken Region in den GRASS Konfigurationsparametern definieren.

GDAL

No additional configuration is needed to run GDAL algorithms. Since they are already incorporated into QGIS, the algorithms can infer their configuration from it.

Orfeo Toolbox

Orfeo Toolbox (OTB) algorithms can be run from QGIS if you have OTB installed in your system and you have configured QGIS properly, so it can find all necessary files (command-line tools and libraries).

As in the case of SAGA, OTB binaries are included in the stand-alone installer for Windows, but they are not included if you are running Linux, so you have to download and install the software yourself. Please check the OTB website for more information.

Once OTB is installed, start QGIS, open the processing configuration dialog and configure the OTB algorithm provider. In the Orfeo Toolbox (image analysis) block, you will find all settings related to OTB. First, ensure that algorithms are enabled.

Then, configure the path to the folder where OTB command-line tools and libraries are installed:

  • nix Usually OTB applications folder points to /usr/lib/otb/applications and OTB command line tools folder is /usr/bin.
  • win If you use any of the installers that include OTB, such as OSGeo4W, there is no need for further configuration. Processing will detect the path automatically and will not show the corresponding configuration entries. Otherwise, fill the OTB applications folder and OTB command line tools folder parameters with the to the corresponding values for your installation.

TauDEM

TauDEM (Terrain Analysis Using Digital Elevation Models) is a tools for the extraction and analysis of hydrological information from Digital Elevation Models (DEM). TauDEM can be used from QGIS if you have it installed in your system and configured QGIS properly, so it can find all necessary files.

There are two versions of TauDEM tools: singlefile (TauDEM 5.0.6 or 5.1.2) and multifile (TauDEM 5.2.0). The difference between these versions in the supported inputs/outputs. Single files version accepts only single raster file and write single file as output. Multifile version accepts a directory with rasters and writes directory with rasters as output. Such directory should contain rasters that will be treated as a single DEM grid.

TauDEM Processing provider supports both single- and multifile versions of TauDEM and even allows to use them simultaneously.

Bemerkung

While TauDEM Processing provider supports TauDEM 5.0.6, 5.1.2 and 5.2.0 we recommend to use 5.1.2 and/or 5.2.0 as this versions have some new tools available, like Gage Watershed and TWI.

Installing TauDEM under Windows

Please visit the TauDEM homepage and download desired version of the precompiled binaries for your platform (32-bit or 64-bit), usually this is “Command Line Executables”. Also you need to download Microsoft HPC Pack 2012 MS-MPI. First install Microsoft HPC Pack 2012 MS-MPI by runing mpi_x64.Msi for 64-bit platforms and mpi_x86.Msi for 32-bit platforms.

Bemerkung

If you want to use TauDEM 5.0.6

Installing TauDEM under Linux

Unfortunately there are no packages for most Linux distributions, so you should compile TauDEM by yourself. As TauDEM uses MPI it is necessary to install first any MPI implementation e.g MPICH or OpenMPI. Use your favorite package manager to install MPICH or OpenMPI.

Download TauDEM 5.2.0 source code package from GitHub repository and extract archive contents. Open terminal and cd into src directory inside extracted folder. Create build directory and cd into it

mkdir build
cd build

Configure your build (change install prefix if necessary) and compile

CXX=mpicxx cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
make

When compilation finished install TauDEM tools by running

sudo make install

Bemerkung

Executable files will be installed into bin subdirectory inside prefix you specified at the configure stage. For example if you specified prefix /opt/taudem5.2 than binaries will be installed into /opt/taudem5.2/bin.

To use singlefile version — download source package here and perform above mentioned steps to compile and install it.

Old TauDEM 5.0.6 also available. But before compiling this version it is necessary to edit some source files.

Open the linearpart.h file, and after line

#include "mpi.h"

add a new line with

#include <stdint.h>

so you’ll get

#include "mpi.h"
#include <stdint.h>

Save the changes and close the file. Now open tiffIO.h, find line #include "stdint.h" and replace quotes ("") with <>, so you’ll get

#include <stdint.h>

Save the changes and close the file.

Now configure, compile and install TauDEM 5.0.6 using same commands as described above.

Configuring TauDEM provider

Once TauDEM is installed, start QGIS, open the Processing options dialog from Processing ‣ Options... and configure the TauDEM algorithm provider. In the Providers group find TauDEM (hydrologic analysis) block, and expand it. Here you will see all settings related to TauDEM.

First, ensure that algorithms are enabled, and activate provider if necessary.

Next step is to configure MPI. The MPICH/OpenMPI bin directory setting used to define location of the mpiexec program. In most Linux distributions you can safely leave this empty, as mpiexec available in your PATH.

The Number of MPI parallel processes to use is a second setting related to MPI. It defines number of processes that will be used to execute TauDEM commands. If you don’t know which value to use, it is better to leave this value unchanged.

Now we need to configure the path to the folder(s) where TauDEM command-line tools are installed. As we already mention TauDEM provider supports both single- and multifile TauDEM, so there are two settings for TauDEM folders:

  • TauDEM command line tools folder used to set location of the singlefile tools
  • TauDEM multifile command line tools folder used to set location of the multifile tools

If you have both TauDEM versions installed in different directories it is possible to specify both options.

The last step is to define which TauDEM version to use:

  • with Enable multifile TauDEM tools option checked you will use multifile TauDEM tools from directory, specified in the TauDEM multifile command line tools folder. Multifile tools have same name as singlefile with “(multifile)” suffix added
  • with Enable single TauDEM tools option checked you will use multifile TauDEM tools from directory, specified in the TauDEM command line tools folder.

It is possible to enable both tools simultaneously. In this case you will have two instances of each tool in toolbox and can use them in your analysis.

Bemerkung

Be careful with developing Processing models using TauDEM!

As single- and multifile versions have different inputs, model created with singlefile algorithms will not work if only multifile algorithms are available. If you plan to share your model please specify which TauDEM version should be used or, better, provide two versions of your model: for single- and multifile TauDEM.