.

Die Grafische Modellierung

The graphical modeler allows you to create complex models using a simple and easy-to-use interface. When working with a GIS, most analysis operations are not isolated, but rather part of a chain of operations instead. Using the graphical modeler, that chain of processes can be wrapped into a single process, so it is as easy and convenient to execute as a single process later on a different set of inputs. No matter how many steps and different algorithms it involves, a model is executed as a single algorithm, thus saving time and effort, especially for larger models.

Die Modellierung kann aus dem Verarbeiten Menü heraus geöffnet werden.

Der Modeller hat einen Arbeitsdialog, wo die Struktur des Modells und der Workflow dargestellt wird. Auf der linken Seite des Fensters kann ein Bereich mit zwei Reitern verwendet werden, um neue Elemente in das Modell zu integrieren.

Figure Processing 16:

../../../_images/modeler_canvas.png

Modeler win

Das Erstellen eines Modells geht in zwei Schritten:

  1. Definition von erforderlichen Eingaben. Diese Eingaben werden dem Paramterfenster hinzugefügt, so dass der Anwender Ihre Werte einstellen kann wenn er das Modell ausführt. Das Modell selber ist ein Algorithmus, also wird das Parameterfenster automatisch erstellt, so wie es mit allen Algorithmen, die in der Verarbeiten Umgebung zur Verfügung stehen, passiert.

  2. Definition des Workflows. Während Sie die Eingabedaten des Modells verwenden, wird der Workflow durch Hinzufügen von Algorithmen und Auswählen, wie diese Eingaben und Ausgaben, die von anderen Algorithmen erzeugt werden, benutzt werden, definiert.

Definition von Eingaben

Der Erste Schritt ein Modell zu erstellen ist die Eingaben, die es benötigt zu erstellen. Die folgenden Elemente finden Sie im Eingaben Reiter auf der linken Seite des Modellierungsfensters:

  • Rasterlayer

  • Vektorlayer

  • Text

  • Tabellenspalte

  • Tabelle

  • Extent
  • Number
  • Boolean
  • File

Wenn man einen Doppelklick auf eines dieser Elemente macht wird ein Dialog zum Definieren seiner Eigenschaften gezeigt. Abhängig vom Parameter selber kann der Dialog nur ein grundlegendes Element (die Beschreibung, was der Benutzer sehen wird wenn er das Modell ausführt) oder mehrere beinhalten. Beispielsweise wenn man einen numerischen Wert hinzufügt, wie in der nächsten Abbildung gezeigt, müssen Sie neben der Beschreibung des Parameters einen Standardwert und eine Wertespanne von gültigen Werten einstellen.

Figure Processing 17:

../../../_images/models_parameters.png

Model Parameters win

Für jede Eingabe wird ein neues Element im Modeller-Fenster erstellt.

Figure Processing 18:

../../../_images/models_parameters2.png

Model Parameters win

You can also add inputs by dragging the input type from the list and dropping it in the modeler canvas, in the position where you want to place it.

Definition des Workflows

Wenn die Eingaben definiert sind, ist es Zeit die Algorithmen festzulegen. Die Algorithmen können im Reiter Algorithmen ausgewählt werden. Die Gruppierung entspricht der Toolbox.

Figure Processing 19:

../../../_images/models_parameters3.png

Model Parameters win

The appearance of the toolbox has two modes here as well: simplified and advanced. However, there is no element to switch between views in the modeler, so you have to do it in the toolbox. The mode that is selected in the toolbox is the one that will be used for the list of algorithms in the modeler.

To add an algorithm to a model, double-click on its name or drag and drop it, just like it was done when adding inputs. An execution dialog will appear, with a content similar to the one found in the execution panel that is shown when executing the algorithm from the toolbox. The one shown next corresponds to the SAGA ‘Convergence index’ algorithm, the same example we saw in the section dedicated to the toolbox.

Figure Processing 20:

../../../_images/models_parameters4.png

Model Parameters win

Wie Sie sehen können bestehen einige Unterschiede. Anstelle des Dateiausgabefensters, das für die Einstellung des Dateipfades für Ausgabelayer und -tabellen verwendet wurde, wird hier eine einfaches Textfenster verwendet. Wenn der vom Algorithmus erstellte Layer nur ein vorläufiges Ergebnis ist, das als Eingabe für einen anderen Algorithmus verwendet wird und nicht als endgültiges Ergebnis vorgehalten werden soll, bearbeiten Sie dieses Textfenster nicht. Wenn Sie etwas eingeben heißt das, dass das Ergebnis endgültig ist und dass der Text den Sie vergeben die Beschreibung für die Ausgabe, die die Ausgabe ist, die der Benutzer sieht wenn das Modell ausgeführt wird, ist.

Das Auswählen des Wertes für jeden Parameter ist ebenfalls etwas schwierig, da es wichtige Unterschiede zwischen dem Kontext der Modellierung und der der Werkzeugkiste gibt. Wollen wir sehen wie man die Werte für jeden Typ von Parameter vorstellen.

  • Layers (raster and vector) and tables. These are selected from a list, but in this case, the possible values are not the layers or tables currently loaded in QGIS, but the list of model inputs of the corresponding type, or other layers or tables generated by algorithms already added to the model.
  • Numerische Werte. Literale Werte können direkt im Textfenster eingeführt werden. Dieses Textfeld is ebenfalls eine Liste, die verwendet werden kann um jede der numerischen Werteingaben des Modells auszuwählen. In diesem Fall wird der Parameter den Wert, der vom Benutzer beim Ausführen des Modells eingeführt wird, annehmen.

  • String. Wie im Fall von numerischen Werten können literale Strings eingegeben werden oder ein Eingabestring kann ausgewählt werden.

  • Table field. Die Felder der Elterntabelle oder -layers können nicht zur Erstellungszeit ermittelt werden, da sie von der Auswahl des Anwenders jedes mal wenn das Modell ausgeführt wird abhängen. Um den Wert für diesen Parameter einzustellen, geben Sie den Namen des Feldes direkt in das Textfenster ein oder verwenden Sie die Liste um eine Tabellenfeldeingabe, die schon dem Modell hinzugefügt wurde, auszuwählen. Die Gültigkeit des ausgewählten Feldes wird zur Laufzeit überprüft.

Sie werden in jedem Fall einen zusätzlichen Paramter genannt Parent algorithms, der nicht zugänglich ist wenn Sie den Algorithmus aus der Werkzeugkiste aufrufen, finden. Dieser Parameter ermöglicht es Ihnen die Reihenfolge in welcher die Algorithmen ausgeführt werden, indem ein Algorithmus ausdrücklich als Eltern des aktuellen definiert werden, festzulegen. Dies bewirkt, dass der Elternalgorithmus vor dem aktuellen ausgeführt wird.

When you use the output of a previous algorithm as the input of your algorithm, that implicitly sets the previous algorithm as parent of the current one (and places the corresponding arrow in the modeler canvas). However, in some cases an algorithm might depend on another one even if it does not use any output object from it (for instance, an algorithm that executes an SQL sentence on a PostGIS database and another one that imports a layer into that same database). In that case, just select the previous algorithm in the Parent algorithms parameter and the two steps will be executed in the correct order.

Nachdem allen Parametern die gültigen Werte zugewiesen worden sind klicken Sie auf [OK] und der Algorithmus wird der Oberfläche hinzugefügt. Er wird mit allen anderen Elementen in der Oberfläche verbunden, egal ob Algorithmen oder Eingaben, die Objekte darstellen, die als Eingabe für diesen Algorithmus verwendet werden.

Elements can be dragged to a different position within the canvas, to change the way the module structure is displayed and make it more clear and intuitive. Links between elements are updated automatically. You can zoom in and out by using the mouse wheel.

You can run your algorithm anytime by clicking on the [Run] button. However, in order to use the algorithm from the toolbox, it has to be saved and the modeler dialog closed, to allow the toolbox to refresh its contents.

Speichern und laden von Modellen

Verwenden Sie den [Speichern] Knopf um das aktuelle Modell zu speichern und den [Modell öffnen] Knopf um ein vorher gespeichertes Modell zu öffnen. Modelle werden mit der .model Erweiterung gespeichert. Wenn das Modell vorher aus dem Verarbeitungsmodellierung Fenster heraus gespeichert wurde, werden Sie nicht nach einem Dateinamen gefragt. Da es bereits eine Datei, die zu diesem Modell zugeordnet wurde, gibt, wird die gleiche Datei für jedes nachfolgende Speichern verwendet.

Vor dem Speichern eines Modells müssen Sie einen Namen und eine Gruppe angeben. Nutzen Sie dazu die Textfelder im oberen Teil des Fensters.

Modelle, die im models Ordner (der Standardordner wenn Sie aufgefordert werden einen Dateinamen zum Speichern des Modell einzugeben) gespeichert sind, erscheinen in der Werkzeugkiste im entsprechenden Baum. Wenn die Verarbeitungswerkzeuge aufgerufen werden durchsucht sie den models Ordner nach Dateien mit der .model Erweiterung und lädt die Modelle, die enthalten sind. Da ein Modell ein Algorithmus ist, kann es einfach wie jeder andere Algorithmus zur Werkzeugkiste hinzugefügt werden.

The models folder can be set from the processing configuration dialog, under the Modeler group.

Modelle, die aus dem Models Ordner geladen werden, erscheinen nicht nur in der Werkzeugkiste, sondern auch im Algorithmusbaum im Algorithmen Reiter des Modellierungsfensters.

In some cases, a model might not be loaded because not all the algorithms included in its workflow are available. If you have used a given algorithm as part of your model, it should be available (that is, it should appear in the toolbox) in order to load that model. Deactivating an algorithm provider in the processing configuration window renders all the algorithms in that provider unusable by the modeler, which might cause problems when loading models. Keep that in mind when you have trouble loading or executing models.

Ein Modell editieren

Sie können das Modell, das Sie gerade erstellen editieren, den Workflow neu definieren sowie die Beziehungen zwischen den Algorithmen und den Eingangsdaten, die das Modell ausmachen ändern.

Wenn Sie mit der rechten Maustaste auf einen Algorithmus im Dialog-Fenster klicken, wird ein Kontextmenü geöffnet. wie in der nächsten Abbildung zu sehen:

Figure Processing 22:

../../../_images/modeler_right_click.png

Modeler Right Click win

Wird die Remove Option gewählt, bewirkt dies, dass der ausgewählte Algorithmus entfernt wird. Ein Algorithmus kann nur entfernt werden wenn keine weiteren Algorithmen von ihm abhängen. Das heißt, wenn keine Ausgabe des Algorithmus in einem anderen als Eingabe verwendet wird. Wenn Sie versuchen einen Algorithmus, von dem andere abhängen, zu entfernen, wird eine Warnmeldung wie die, die Sie unten sehen können, gezeigt:

Figure Processing 23:

../../../_images/cannot_delete_alg.png

Cannot Delete Algorithm win

Selecting the Edit option or simply double-clicking on the algorithm icon will show the parameters dialog of the algorithm, so you can change the inputs and parameter values. Not all input elements available in the model will appear in this case as available inputs. Layers or values generated at a more advanced step in the workflow defined by the model will not be available if they cause circular dependencies.

Wählen Sie die neuen Werte und klicken dann auf den [OK] Knopf wie gewohnt. Die Verbindungen zwischen den Elementen des Modells ändern sich entsprechend im Modeller-Fenster.

Editieren der Modell-Hilfe Datei und der Metainformationen

Sie können Ihre Modelle aus der Modellierung heraus dokumentieren. Klicken Sie einfach auf den [Modellhilfe bearbeiten] Knopf und ein Dialog, wie er als nächstes gezeigt wird, erscheint.

Figure Processing 25:

../../../_images/help_edition.png

Help Edition win

Auf der rechten Seite finden Sie eine einfache HTML-Seite, die anhand der Eingabeparameter und Ausgaben des Algorithmus erstellt wurde, zusammen mit einigen zusätzlichen Einträgen wie eine allgemeine Beschreibung des Modells und seines Autors. Wenn Sie den Hilfeeditor das erste Mal öffnen, sind alle diese Beschreibungen leer, Sie können Sie aber mit Hilfe der Elemente auf der linken Seite des Dialogs bearbeiten. Wählen Sie ein Element im oberen Teil aus und schreiben Sie seine Beschreibung in das Textfeld unten.

Model help is saved in a file in the same folder as the model itself. You do not have to worry about saving it, since it is done automatically.

Zu den verfügbaren Algorithmen

Sie haben vielleicht bemerkt, dass einige Algorithmen, die aus der Toolbox ausgeführt werden können, nicht in der Liste der verfügbaren Algorithmen erscheint, wenn Sie ein Modell entwerfen. Um in einem Modell enthalten zu sein, muss der Algorithmus eine korrekte Semantik haben, um im Workflow verknüpft zu werden. Wenn ein Algorithmus keine solche definierte Semantik besitzt (zum Beispiel, wenn die Anzahl der Ausgangskanäle oder Layer nicht im Voraus bekannt ist), dann ist es nicht möglich, diesen in einem Modell zu verwenden, und somit erscheint er auch nicht in der Liste.

Zusätzlich werden Sie einige Algorithmen in der Modellierung sehen, die nicht in der Werkzeugkiste gefunden werden können. Diese Algorithmen sollen ausschließlich als Teil eines Modells benutzt werden und sie in einem anderen Kontext nicht von Interesse. Der ‘Calculator’ Algorithmus ist ein Beispiel dafür. Er ist nur ein ein einfacher arithmetischer Rechner den Sie benutzen können um numerische Werte zu verändern (sie können durch den Benutzer eingegeben werden oder durch einen anderen Algorithmus erstellt werden). Dieses Werkzeug ist wirklich nützlich innerhalb eines Modells, aber außerhalb dieses Kontexts machen es nicht allzuviel Sinn.