Der SEXTANTE Grafische-Modeller

Einführung

Der grafische Modeller 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.

Der Modeller kann über das Menü Analyse, aber auch aus der Toolbox gestartet werden. Im Modeller Zweig finden Sie eine Gruppe mit dem Namen Tools, die wieder einen Eintrag namens Neues Modell erstellen enthält.

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 SEXTANTE 14:

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

Modeler win

Das Erstellen eines Modells geht in zwei Schritten:

  1. Definition der notwendigen Eingaben:. Diese Eingaben werden dem Parameter-Fenster hinzugefügt, so dass der Benutzer die Werte für das Ausführen des Modells festlegen kann. Das Modell selbst ist ein SEXTANTE Algorithmus, so dass das Parameterfenster automatisch, wie alle anderen Algorithmen in SEXTANTE auch, generiert wird.

  2. Definition des Workflows: Mit den eingegebenen Daten des Modells wird der Workflow definiert. Dazu werden Algorithmen ausgewählt und bestimmt, wie die Eingaben oder Ausgaben von anderen Algorithmen im Modell generiert und verwendet werden.

Definition von Eingaben

Der erste Schritt, um ein Modell zu erstellen, besteht in der Definition der Eingaben, falls notwendig. Die folgenden Elemente stehen dafür im Eingabe Reiter auf der linken Seite des Modeller-Dialogs zur Verfügung:

  • Rasterlayer

  • Vektorlayer

  • Text

  • Tabellenspalte

  • Tabelle

  • Numerischer Wert

  • Boolescher Wert

Ein Doppelklick auf einen von ihnen öffnet einen Dialog, um ihre Eigenschaften zu definieren. Je nach Parameter, enthält der Dialog nur ein Grundelement (die Beschreibung, die der Benutzer sieht, wenn er das Modell ausführt) oder mehrere. Zum Beispiel, wenn Sie einen numerischen Wert verwenden, wie es in der folgenden Abbildung zu sehen ist, müssen Sie abgesehen von der Beschreibung der Parameter auch einen Standardwert und eine Reihe von gültigen Werten setzen.

Figure SEXTANTE 15:

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

Model Parameters win

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

Figure SEXTANTE 16:

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

Model Parameters win

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 SEXTANTE 17:

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

Model Parameters win

Um einen Algorithmus hinzuzufügen, klicken Sie doppelt auf den Namen. Ein Dialog erscheint, mit einem Inhalt ähnlich dem, den man sieht, wenn man den SEXTANTE Algorithmus aus der Toolbox startet. Der hier gezeigte entspricht dem SAGA “Konvergenz-Index”-Algorithmus, den wir bereits im Abschnitt SEXTANTE Toolbox gesehen haben.

Figure SEXTANTE 18:

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

Model Parameters win

Wie Sie sehen können, gibt es einige Unterschiede. Anstelle der Dateiausgabe-Box, die verwendet wird, um für die Ausgabe den Dateipfad, Layer oder die Tabelle festzulegen, ist hier ein einfaches Textfeld vorhanden. Wenn der Layer durch den Algorithmus erzeugt wird, ist es nur ein vorübergehendes Ergebnis, das als Eingang für einen anderen Algorithmus verwendet wird. Es wird nicht als ein endgültiges Ergebnis gespeichert. Bearbeiten Sie diese Textbox nicht. Wenn Sie dort etwas eintragen, wird es interpretiert, als sei es ein endgültiges Ergebnis und der Text, den Sie angeben wird zur Beschreibung für die Ausgabe, den der Benutzer sieht, wenn das Modell ausgeführt wird.

Die Auswahl der Werte der einzelnen Parameter ist auch ein bisschen anders, da gibt es wichtige Unterschiede zwischen dem Modeller und der Toolbox. Mal sehen, wie die Werte für die Parametertypen eingeführt werden.

  • Layer (Raster und Vektor) und Tabellen. Sie werden aus einer Liste ausgewählt, aber in diesem Fall sind die möglichen Werte nicht die Layer oder Tabellen, die momentan in QGIS geladen sind, sondern die Liste der Modelleingaben des entsprechenden Typs oder andere Layer oder Tabellen, die durch Algorithmen bereits erzeugt und zum Modell hinzugefügt wurden.

  • Numerische Werte. Textwerte können direkt in das Textfeld eingefügt werden. Diese Textfelder können aber auch verwendet werden, um eine Zahl als Eingabe für das Modell einzufügen. In diesem Fall wird der Parameter den Wert nehmen, den der Benutzer bei der Ausführung des Modells eingetragen wird.

  • Text. Wie im Fall von numerischen Werten können Zeichenketten eingegeben werden oder ein Eingabe-String ausgewählt werden.

  • Tabellenspalte. Die Spalten der übergeordneten Tabellen oder Layer sind bei der Erstellung des Modells unbekannt, da sie von der Auswahl des Benutzers abhängen. Um den Wert für diesen Parameter zu setzen, geben Sie den Namen eines Feldes direkt in das Textfeld ein, oder verwenden Sie die Liste, um eine Tabellenspalteneingabe, die bereits zum Modell hinzugefügt ist, zu verwenden. Die Gültigkeit des ausgewählten Feldes wird SEXTANTE zur Laufzeit überprüfen.

Sobald alle Parameter gültigen Werten zugewiesen wurden, klicken Sie auf [OK] und der Algorithmus wird zum Dialogfenster hinzugefügt. Es wird mit allen anderen Elemente verknüpft, egal ob Algorithmus oder Parameter, die Objekte bereitstellen, die als Eingabe für diesen Algorithmus verwendet werden.

Figure SEXTANTE 19:

../../../_images/models_parameters5.png

Model Parameters win

Elemente können an eine andere Position innerhalb der Leinwand gezogen werden, um die Art der Modelldarstellung zu ändern und dadurch klarer und intuitiver zu machen. Verbindungen zwischen Elementen werden automatisch aktualisiert.

Sie können Ihren Algorithmus jederzeit starten, in dem Sie auf den [Run] Knopf drücken. Allerdings, um es aus der Toolbox zu verwenden, muss es gespeichert und der Modeller Dialog geschlossen werden, damit die Toolbox seinen Inhalt aktualisieren kann.

Speichern und laden von Modellen

Verwenden Sie den [Speichern] Knopf, um das aktuelle Modell zu speichern und den [Öffnen] Knopf, um zuvor gespeicherte wieder zu laden. Modelle werden mit der Dateierweiterung .models gespeichert. Wenn das Modell zuvor bereits aus dem Modellerfenster gespeichert wurde, werden Sie nicht nochmal nach einem Dateinamen gefragt, da es bereits eine Datei mit diesem Modell gibt, und dieser verwendet wird.

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 Modellordner gespeichert sind (der Standard-Ordner, wenn Sie nach einem Dateinamen, um das Modell zu speichern, aufgefordert werden) werden in der Toolbox im entsprechenden Zweig angezeigt. Wenn die Toolbox aufgerufen wird, sucht SEXTANTE im Modelle Ordner nach Dateien mit .models Erweiterung und lädt alle enthaltenen Modelle. Das Modell selbst ist ein SEXTANTE Algorithmus, und kann daher zur Toolbox wie jeder andere Algorithmus hinzugefügt werden.

Der Modellordner kann über den SEXTANTE Konfigurationsdialog im Bereich Modeler gesetzt werden.

Modelle, die aus dem Modelle-Ordner geladen werden, erscheinen nicht nur in der Toolbox, sondern auch als Algorithmus im Reiter Algorithmen des Modellfensters. Das bedeutet, dass Sie ein Modell als Teil eines größeren Modell integrieren können, so wie jeden anderen Algorithmus auch.

In einigen Fällen ist SEXTANTE eventuell nicht in der Lage, ein Modell zu laden, da es nicht gefunden wird. Wenn Sie einen bestimmten Algorithmus als Teil des Modells verwendet haben, sollte es vorhanden sein (d.h., es sollte in der Toolbox erscheinen), um das Modell zu laden. Deaktivierung eines Algorithmus Providers im SEXTANTE Konfigurationsfenster macht alle Algorithmen des betreffenden Anbieters unbrauchbar für den Modeller, was zu Problemen führen könnte. 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 SEXTANTE 20:

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

Modeler Right Click win

Auswählen der Entfernen Option bewirkt, dass der ausgewählte Algorithmus entfernt werden. Ein Algorithmus kann nur entfernt werden, wenn es keine anderen Algorithmen gibt, die davon abhängen. Das heißt, wenn kein Ausgangssignal des Algorithmus in einem anderen als Eingabe verwendet wird. Wenn Sie einen Algorithmus, der an anderer Stelle benutzt wird, versuchen zu entfernen, wird SEXTANTE eine Warnmeldung anzeigen, wie unten zu sehen:

Figure SEXTANTE 21:

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

Cannot Delete ALG 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.

Algorithmen aktivieren und deaktivieren

Algorithmen können im Modeller deaktiviert werden, damit sie nicht ausgeführt werden, wenn das Modell ausgeführt wird. Dies kann verwendet werden, um nur einen bestimmten Teil eines Modells zu nutzen, oder wenn Sie nicht alle Ausgaben brauchen.

Um einen Algorithmus zu deaktivieren, klicken Sie auf das entsprechende Symbol im Modell-Fenster mit der rechten Maustaste und wählen Sie deaktivieren. Sie werden sehen, dass der Algorithmus nun mit einem roten Label unter seinem Namen darauf hinweist, dass er nicht aktiv ist.

Figure SEXTANTE 22:

../../../_images/deactivated.png

Deactivate win

Alle Algorithmen die (direkt oder indirekt) an diesem Algorithmus hängen, werden auch als inaktiv angezeigt, da sie nicht ausgeführt werden können.

Um einen Algorithmus zu aktivieren, klicken Sie mit der rechten Maustaste auf das Icon und wählen Sie dann die Option Aktivieren.

Editieren der Modell-Hilfe Datei und der Metainformationen

Sie können Ihre Modelle aus SEXTANTE dokumentieren. Klicken Sie einfach auf den Knopf [Bearbeiten der Modell- Hilfe] und ein Dialog wie in Abbildung erscheint.

Figure SEXTANTE 23:

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

Help Edition win

Auf der rechten Seite sehen Sie eine einfache HTML-Seite, mit der Beschreibung der Eingangsparameter und Ausgaben des Algorithmus, zusammen mit einigen zusätzlichen Elementen wie eine allgemeine Beschreibung des Modells oder des Autors. Das erste Mal, wenn Sie den Hilfe-Editor öffnen, sind diese Beschreibungen leer, aber Sie können sie bearbeiten in dem Bereich auf der linken Seite des Dialogs. Wählen Sie ein Element im oberen Teil aus und schreiben Sie Ihre Beschreibung in die Textbox 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 sehen Sie einige Algorithmen im Modeller, die nicht in der Toolbox zu finden sind. Diese Algorithmen sollen ausschließlich als Teil eines Modells verwendet werden, und sie sind nicht von Interesse in einem anderen Kontext. Der ‘Calculator’ Algorithmus ist ein Beispiel dafür. Es ist nur ein einfacher arithmetischer Rechner, den Sie verwenden können, um numerische Werte (vom Benutzer eingegeben oder erzeugt durch einen anderen Algorithmus) ändern können. Dieses Werkzeug ist in einem Modell nützlich, aber außerhalb dieses Kontext macht es keinen Sinn.

SEXTANTE Modelle als Python Code

Diese Funktion steht derzeit nicht zur Verfügung

Zusammen mit dem Reiter, der die grafische Gestaltung des Modells enthält, werden Sie feststellen, das es einen anderen Reiter mit einem Python-Skript gibt, das die gleiche Aufgabe wie das Modell selbst durchführt. Mit diesem Code können Sie ein Skript erstellen (wir werden sie später erklären, wie es funktioniert) und ändern. Dadurch können Aktionen und Methoden nicht im grafischen Modeller vorhanden sind, wie Schleifen oder Bedingungen verwendet werden.

Diese Funktionalität ist auch eine sehr praktische Art und Weise, um zu lernen, wie SEXTANTE von der Konsole aus funktioniert und wie SEXTANTE Algorithmen mit Python-Code erstellt werden können. Sie können es als Lernwerkzeug verwenden, wenn Sie ein eigenes SEXTANTE Skript schreiben möchten.

Hier finden Sie einen Knopf unter dem Textfeld mit dem Python-Code. Klicken Sie darauf, um direkt ein neues Skript auf Basis dieses Codes zu starten, ohne es extra in den SEXTANTE Skripteditor zu kopieren.