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

.

Die Grafische Modellierung

Die grafische Modellierung ermöglicht es, komplexe Modelle mit einer einfachen und leicht zu bedienenden Benutzeroberfläche zu erstellen. Beim Arbeiten mit einem GIS finden die meisten Analyse-Operationen nicht isoliert, sondern als Teil einer Kette von Operationen statt. Der grafische Modeller kann eine Kette von Prozessen in einen einzigen Prozess einpacken. So ist es einfacher und bequemer, als einzelne Prozesse nacheinander auszuführen. Egal, wie viele Schritte und verschiedene Algorithmen es sind, sie können als Modell in einem einzigen Algorithmus ausgeführt werden. Das spart Zeit und Mühe, besonders für größere Modelle.

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

Modellierung 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

Modelparameter win

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

Figure Processing 18:

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

Modelparameter 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

Modelparameter win

Auch hier hat die Erscheinung der Werkzeugkiste zwei Modi: simplified und advanced. Jedoch gibt es kein Element zum Wechseln zwischen den Ansichten in der Modellierung, so dass Sie dies in der Werkzeugkiste machen müssen. Der Modus, der in der Werkzeugkiste ausgewählt ist, ist der, der für die Liste von Algorithmen in der Modellierung verwendet wird.

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

Modelparameter 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.

  • Layer (Raster und Vektor) und Tabellen. Diese werden aus einer Liste ausgewählt, aber in diesem Fall sind die möglichen Werte nicht die Layer oder Tabellen die gerade in QGIS geladen sind, sondern die Liste von Modelleingaben des entsprechenden Typs oder andere Layer und Tabellen, die von Algorithmen, die schon dem Modell hinzugefügt wurden, erstellt wurden.

  • 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.

Wenn Sie die Ausgabe eines vorherigen Algorithmus als Eingabe für Ihren Algorithmus benutzen, stellt dies implizit den vorherigen Algorithmus als Eltern des gerade verwendeten ein (und platziert den entsprechenden Pfeil in der Modellierungsoberfläche). In einigen Fällen jedoch kann ein Algorithmus von einem anderen abhängen selbst wenn er keine Ausgabe von diesem verwendet (beispielsweise ein Algorithmus der einen SQL-Satz in einer PostGIS Datenbank ausführt und ein weiterer der einen Layer in die gleiche Datenbank importiert). Wählen Sie in diesem Fall einfach den vorherigen Algorithmus im Parent algorithms Parameter aus und die zwei Schritte werden in der richtigen Reihenfolge ausgeführt.

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.

Sie können Ihren Algorithmus zu jederzeit durch Klicken auf den [Run] Knopf ausführen. Um jedoch den Algorithmus aus der Werkzeugkiste zu verwenden muss er gespeichert werden und der Modellierungsdialog geschlossen werden, damit die Werkzeugkiste ihre Inhalte auffrischen kann.

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.

Die Verarbeitungsmodellierung kann im Verarbeitungskonfigurationsdialog in der Models Gruppe eingestellt werden.

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

In einigen Fällen kann ein Modell vielleicht nicht geladen werden da nicht alle im Workflow enthaltenen Algorithmen zur Verfügung stehen. Wenn Sie einen gegebenen Algorithmus als Teil Ihres Modells benutzt haben, sollte er zu Verfügung stehen (er sollte also in der Werkzeugkiste erscheinen) um das Modell laden zu können. Das Deaktivieren eines Algorithmusproviders in den Verarbeitungsoptionen rendert alle die Algorithmen des Providers, der nicht von der Modellierung benutztt werden kann, was Probleme beim Laden von Modellen verursachen kann. Denken Sie daran wenn Sie Probleme beim Laden oder Ausführen von Modellen haben.

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

Rechtsklick auf den Modeler 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

Kann Algorithmus nicht entfernen win

Auswählen der Bearbeiten Option oder einfaches Doppelklicken auf das Symbol des Algorithmus zeigt den Parameter-Dialog des Algorithmus, um die Ein- und Ausgabe Parameter-Werte zu ändern. Nicht alle Eingabe-Elemente des Modells werden in diesem Fall als verfügbare Eingänge angezeigt. Layer oder Werte, die in einem fortgeschrittenen Schritt im Workflow durch das Modell erzeugt wurden, stehen nicht zur Verfügung, wenn sie zirkuläre Abhängigkeiten verursachen.

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

Hilfeeditor 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.

Die Modell Hilfe wird in einer Datei im gleichen Ordner wie das Modell selbst gespeichert. Sie müssen nichts tun, um es zu speichern, da es automatisch geschieht.

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.