Wichtig
Übersetzen ist eine Gemeinschaftsleistung Sie können mitmachen. Diese Seite ist aktuell zu 100.00% übersetzt.
27.5. Ein Modell erstellen
Mit dem Modellentwurf können Sie komplexe Modelle über eine einfache und leicht zu bedienende Schnittstelle erstellen. Bei der Arbeit mit einem GIS sind die meisten Analysevorgänge nicht isoliert, sondern Teil einer Kette von Vorgängen. Mit dem Modellentwurf kann diese Kette von Operationen in einen einzigen Prozess verpackt werden, sodass sie zu einem späteren Zeitpunkt mit einem anderen Satz von Eingaben bequem ausgeführt werden kann. Unabhängig von der Anzahl der Schritte und der verschiedenen Algorithmen wird ein Modell als ein einziger Algorithmus ausgeführt, was Zeit und Mühe spart.
Der Modellentwurf kann über das Menü „Verarbeitung“ geöffnet werden (
).27.5.1. Die Benutzeroberfläche des Modellentwurfs
Auf der rechten Seite der Benutzeroberfläche befindet sich ein Bereich, auf dem die Struktur des Modells und der Arbeitsablauf, den es darstellt, aufgebaut werden können.
Im oberen Bereich der Benutzeroberfläche bieten verschiedene Menüs und die Navigation-Werkzeugleiste Zugang zu einer Vielzahl von Werkzeugen.
27.5.1.4. Bedienfelder
Der linke Teil des Fensters ist ein Bereich mit fünf Bedienfeldern, mit denen Sie dem Modell neue Elemente hinzufügen können:
Modell-Eigenschaften: geben Sie den Namen (erforderlich) des Modells und die Gruppe an, in der es in der Verarbeitungs-Werkzeugkiste angezeigt wird
Eingaben: alle Eingabeparameter, die Ihr Modell beeinflussen könnten
Algorithmen: die verfügbaren Verarbeitungsalgorithmen
Variablen: Modelle können spezielle Variablen enthalten, die eindeutig und nur für sie verfügbar sind. Auf diese Variablen kann mit jedem im Modell verwendeten Ausdruck zugegriffen werden. Sie sind nützlich, um Algorithmen innerhalb eines Modells zu steuern und mehrere Aspekte des Modells durch Änderung einer einzigen Variable zu kontrollieren. Die Variablen können im Bedienfeld Variablen eingesehen und geändert werden.
Rücknahmeprotokoll: Dieses Bedienfeld registriert alles, was im Modellierer passiert, und macht es einfach, Dinge rückgängig zu machen, die man falsch gemacht hat.
27.5.1.5. Zu den verfügbaren Algorithmen
Einige Algorithmen, die über die Toolbox ausgeführt werden können, erscheinen nicht in der Liste der verfügbaren Algorithmen, wenn Sie ein Modell entwerfen. Um in ein Modell aufgenommen zu werden, muss ein Algorithmus die richtige Semantik haben. Wenn ein Algorithmus nicht über eine solche eindeutige Semantik verfügt (z. B. wenn die Anzahl der Output Layer nicht im Voraus bekannt ist), kann er nicht in einem Modell verwendet werden und erscheint nicht in der Liste der Algorithmen, die Sie im Dialogfeld des Modellierers finden können. Andererseits sind einige Algorithmen spezifisch für den Modellierer. Diese Algorithmen befinden sich in der Gruppe ‚Modellierungswerkzeuge‘.
27.5.2. Ein Modell erstellen
Das Erstellen eines Modells beinhaltet zwei grundlegende Schritte:
Definition von erforderlichen Eingaben. Diese Eingaben werden dem Paramterfenster hinzugefügt, sodass 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 Verarbeitungsumgebung zur Verfügung stehen, passiert.
Definition des Arbeitsablaufs. Der Arbeitsablauf wird definiert, indem Algorithmen hinzugefügt werden. In diesen wird festgelegt, wie sie die definierten Eingaben oder die von anderen Algorithmen im Modell erzeugten Ausgaben verwenden.
27.5.2.1. Definition von Eingaben
Der erste Schritt besteht darin, die Eingaben für das Modell zu definieren. Sie befinden sich im Bedienfeld Eingaben auf der linken Seite des Modellentwurfsfensters. Wenn Sie mit dem Mauszeiger über die Eingaben fahren, wird ein Tooltip mit zusätzlichen Informationen angezeigt. Eine vollständige Liste der im Modellentwurf verfügbaren Parameter und ihrer Entsprechung für die Skripterstellung finden Sie unter Eingabe- und Ausgabetypen für Verarbeitungsalgorithmen.
Wenn Sie auf ein Element doppelklicken, wird ein Dialog angezeigt, in dem Sie seine Eigenschaften definieren können. Je nach Parameter enthält der Dialog mindestens ein Grundelement (die Beschreibung, die der Benutzer bei der Ausführung des Modells sieht). Die Angabe einer Beschreibung ist Pflicht. Wenn Sie einen numerischen Wert hinzufügen, wie in der nächsten Abbildung zu sehen ist, müssen Sie, zusätzlich zur Beschreibung des Parameters, einen Standardwert und den Bereich der gültigen Werte festlegen.
Sie können Ihre Eingabe als zwingend für Ihr Modell definieren, indem Sie das Kontrollkästchen Zwingend erforderlich ankreuzen. Durch Ankreuzen des Kontrollkästchens :sup: Erweitert können Sie die Eingabe so einstellen, dass sie sich im Abschnitt Erweitert befindet. Dies ist besonders nützlich, wenn das Modell viele Parameter hat und einige davon nicht trivial sind, Sie diese aber dennoch wählen möchten.
Für jede hinzugefügte Eingabe wird der Modellierungsebene ein neues Element hinzugefügt.
Sie können Eingaben auch hinzufügen, indem Sie den Eingabetyp aus der Liste an die gewünschten Stelle im Modellierungsfenster ziehen. Wenn Sie einen Parameter einer bestehenden Eingabe ändern möchten, doppelklicken Sie einfach darauf, und es erscheint der gleiche Dialog wie bei der Erstellung.
Wenn Sie ein Modell innerhalb eines anderen Modells verwenden, werden die erforderlichen Ein- und Ausgaben in der Modellansicht angezeigt.
27.5.2.2. Definition des Arbeitsablaufs
Im folgenden Beispiel werden wir zwei Eingaben und zwei Algorithmen hinzufügen. Ziel des Modells ist es, die Höhenwerte eines DEM-Raster-Layers mit Hilfe des Algorithmus Drape
in einen Layer mit Linien zu kopieren und dann die Gesamtsteigung des Layers mit Hilfe des Algorithmus Climb Along Line
zu berechnen.
Auf der Registerkarte Eingaben wählen Sie die beiden Eingaben als Vektorlayer
für die Linie und Rasterlayer
für das DEM. Wir sind nun bereit, die Algorithmen zum Workflow hinzuzufügen.
Die Algorithmen finden Sie auf der Registerkarte Algorithmen, ähnlich gruppiert wie in der Verarbeitungs-Werkzeugkiste.
Um einen Algorithmus zu einem Modell hinzuzufügen, doppelklicken Sie auf seinen Namen oder ziehen Sie ihn per Drag & Drop, genau wie bei den Eingaben. Wie bei den Eingaben können Sie die Beschreibung des Algorithmus ändern und einen Kommentar hinzufügen. Beim Hinzufügen eines Algorithmus erscheint ein Ausführungsdialog, dessen Inhalt dem des Bedienfelds ähnelt, das beim Ausführen des Algorithmus aus der Toolbox angezeigt wird. Die folgende Abbildung zeigt die beiden Algorithmus-Dialoge Drapieren (Z-Wert von Raster übernehmen)
und Entlang Linie klettern
.
Wie Sie sehen können, gibt es jedoch einige Unterschiede. Neben jedem Parameter befindet sich ein Dropdown-Menü, mit dem Sie festlegen können, wie der Parameter während des Arbeitsablaufs verwendet werden soll:
Wert: erlaubt es Ihnen, dem Parameter einen statischen Wert zuzuweisen. Abhängig vom Parametertyp können Sie mit dem Widget eine Zahl (
5,0
), eine Zeichenkette (meinText
) eingeben, im QGIS-Projekt oder aus einem Ordner geladene Layer auswählen, Elemente aus einer Liste auswählen, …Vorberechneter Wert: öffnet das Dialogfeld Ausdruckseditor und ermöglicht es Ihnen, einen Ausdruck zu definieren, um den Parameter zu füllen. Modelleingaben sowie einige andere Layer-Statistiken stehen als Variablen zur Verfügung und werden oben im Dialogfeld „Suche“ des Ausdruckseditors aufgelistet. Der Ausdruck wird einmal ausgewertet, bevor der untergeordnete Algorithmus ausgeführt wird, und während der Ausführung dieses Algorithmus verwendet.
Modell Eingabe: ermöglicht die Verwendung einer Eingabe, die dem Modell als Parameter hinzugefügt wurde. Wenn Sie auf diese Option klicken, werden alle geeigneten Eingaben für den Parameter aufgelistet.
Algorithmus Ausgabe: erlaubt es, die Ausgabe eines anderen Algorithmus als Eingabe des aktuellen Algorithmus zu verwenden. Wie bei den Modelleingaben listet diese Option alle geeigneten Eingaben für den Parameter auf.
Der Ausgabeparameter verfügt ebenfalls über die oben genannten Optionen in seinem Dropdown-Menü:
Hinzufügen statischer Ausgaben für untergeordnete Algorithmen, z. B. Speichern der Ausgabe eines untergeordneten Algorithmus in einem vordefinierten Geopaket oder Postgres Layer
Verwendung ausdrucksbasierter Ausgabewerte für untergeordnete Algorithmen, z. B. automatische Generierung eines Dateinamens auf der Grundlage des heutigen Datums und Speichern der Ausgaben in dieser Datei
eine Modelleingabe verwenden, z. B. die Modelleingabe Datei/Ordner, um eine Ausgabedatei oder einen Ordner anzugeben
eine andere Algorithmusausgabe verwenden, z. B. die Ausgabe des Algorithmus Verzeichnis erstellen (aus Modellierwerkzeuge)
eine zusätzliche Option Modell Ausgabe macht die Ausgabe des Algorithmus im Modell verfügbar. Wenn ein vom Algorithmus erzeugter Layer nur als Eingabe für einen anderen Algorithmus verwendet werden soll, brauchen Sie dieses Textfeld nicht zu bearbeiten.
In der folgenden Abbildung sehen Sie die beiden als
Modelleingabe
definierten Eingabeparameter und den temporären Output Layer:
Sie finden auch einen zusätzlichen Parameter namens Abhängigkeiten, der beim Aufruf des Algorithmus aus der Toolbox nicht verfügbar ist. Mit diesem Parameter können Sie die Reihenfolge festlegen, in der die Algorithmen ausgeführt werden, indem Sie einen Algorithmus ausdrücklich als Elternteil des aktuellen Algorithmus definieren. Dadurch wird der übergeordnete Algorithmus vor dem aktuellen Algorithmus ausgeführt.
Wenn Sie die Ausgabe eines vorherigen Algorithmus als Eingabe Ihres Algorithmus verwenden, wird der vorherige Algorithmus implizit als übergeordneter Algorithmus des aktuellen festgelegt (und der entsprechende Pfeil im Modellentwurfsfenster platziert). In einigen Fällen kann ein Algorithmus jedoch von einem anderen Algorithmus abhängen, selbst wenn er kein Ausgabeobjekt von diesem verwendet (z.B. ein Algorithmus, der einen SQL-Satz auf einer PostGIS-Datenbank ausführt und ein anderer, der einen Layer in dieselbe Datenbank importiert). In diesem Fall wählen Sie einfach den vorherigen Algorithmus im Parameter Abhängigkeiten aus und sie werden in der richtigen Reihenfolge ausgeführt.
Sobald allen Parametern gültige Werte zugewiesen wurden, klicken Sie auf OK und der Algorithmus wird der Oberfläche hinzugefügt. Er wird mit den Elementen auf der Oberfläche (Algorithmen oder Eingaben) verknüpft, die Objekte liefern, die als Eingaben für den Algorithmus verwendet werden.
Elemente können mit dem Werkzeug Element auswählen/verschieben an eine andere Position auf der Kartenansicht gezogen werden. Dies ist nützlich, um die Struktur des Modells klarer und intuitiver zu gestalten. Sie können auch die Größe der Elemente ändern, indem Sie ihren Rand ziehen. Dies ist besonders nützlich, wenn die Beschreibung der Eingabe oder des Algorithmus lang ist. Wenn die Option aktiviert ist, kann die Größenänderung oder Verschiebung von Elementen an ein virtuelles Gitter gebunden werden, um den Algorithmus visuell besser zu strukturieren.
Die Verknüpfungen zwischen den Elementen werden automatisch aktualisiert, und am oberen und unteren Rand jedes Algorithmus befindet sich eine Schaltfläche +
. Wenn Sie auf die Schaltfläche klicken, werden alle Eingänge und Ausgänge des Algorithmus aufgelistet, so dass Sie sich einen schnellen Überblick verschaffen können.
Mit dem Werkzeug
können Sie der Modellansicht einen verschiebbaren Kasten hinzufügen. Dieses Objekt ist sehr nützlich bei großen Modellen, um zusammengehörige Elemente in der Kartenansicht zu gruppieren und den Arbeitsablauf übersichtlich zu halten. Zum Beispiel könnten wir alle Eingaben des Beispiels gruppieren:Sie können den Namen und die Farbe der Boxen ändern. Gruppenrahmen sind sehr nützlich, wenn sie zusammen mit dem Werkzeug
verwendet werden, mit dem Sie auf einen bestimmten Teil des Modells zoomen können. Sie können auch mit dem Mausrad hinein- und herauszoomen.Sie können die Reihenfolge der Eingaben und deren Auflistung im Hauptdialog des Modells ändern. Am unteren Ende des Bedienfeldes Eingaben
finden Sie die Schaltfläche Modell-Eingaben neu ordnen
. Wenn Sie darauf klicken, öffnet sich ein neuer Dialog, in dem Sie die Reihenfolge der Eingaben ändern können:
Es besteht auch die Möglichkeit, eine bestimmte Reihenfolge festzulegen, die die Ausgaben des Modells beim Laden der Ergebnisse in ein Projekt verwenden müssen. Dadurch kann der Modellersteller sicherstellen, dass die Layer in der Kartenansicht logisch angeordnet sind, wenn er ein Modell ausführt, z. B. indem er einen Vektorlayer über einen Rasterlayer oder einen Punktelayer über einen Polygonlayer legt. Der Modellersteller kann auch einen optionalen „Gruppennamen“ für die Ausgaben festlegen, um die Ausgaben innerhalb des Layer-Baums automatisch zu gruppieren, indem er einen neuen Gruppennamen verwendet oder sie einer bestehenden Gruppe hinzufügt. Im Modell
-Menü finden Sie den Eintrag Outputlayern neu ordnen ...
. Wenn Sie darauf klicken, öffnet sich ein neues Dialogfenster, in dem Sie die Reihenfolge der Output Layer ändern können:
Kommentare können auch zu Eingaben oder Algorithmen im Modellierer hinzugefügt werden. Dies kann über die Registerkarte Kommentare des Elements oder durch einen Rechtsklick erfolgen. In der gleichen Registerkarte kann eine Farbe für einzelne Modellkommentare manuell eingestellt werden. Kommentare sind nur in der Kartenansicht des Modellierers sichtbar und nicht im Dialog des endgültigen Algorithmus; sie können durch Deaktivieren von ausgeblendet werden.
Sie können Ihren Algorithmus jederzeit ausführen, indem Sie auf die Schaltfläche Modell ausführen klicken. Wenn Sie den Editor verwenden, um ein Modell auszuführen, werden alle Werte, die nicht den Standardwerten entsprechen, in den Eingaben gespeichert. Das bedeutet, dass bei einer späteren Ausführung des Modells über den Editor das Dialogfeld mit diesen Werten vorausgefüllt wird, wenn Sie es danach ausführen.
Um den Algorithmus aus der Toolbox zu verwenden, muss er gespeichert und der Modellierer-Dialog geschlossen werden, damit die Toolbox ihren Inhalt aktualisieren kann.
27.5.2.3. Ihr Modell dokumentieren
Sie müssen Ihr Modell dokumentieren, und das können Sie direkt im Modellierer tun. Klicken Sie auf die Schaltfläche Modellhilfe bearbeiten, und ein Dialogfeld wie das folgende wird angezeigt.
Auf der rechten Seite sehen Sie eine einfache HTML-Seite, die anhand der Beschreibung der Eingabeparameter und der Ergebnisse des Algorithmus erstellt wurde, zusammen mit einigen zusätzlichen Elementen wie einer allgemeinen Beschreibung des Modells oder seines Autors. Außerdem gibt es einen Abschnitt mit Beispielen, in den Sie Ihre eigenen Beispiele eingeben können, um die Verwendung des Modells zu erläutern. Wenn Sie den Hilfe-Editor zum ersten Mal öffnen, sind alle diese Beschreibungen leer, aber Sie können sie mithilfe der Elemente auf der linken Seite des Dialogs bearbeiten. Wählen Sie ein Element im oberen Teil aus und schreiben Sie die Beschreibung in das Textfeld darunter.
Modell-Hilfe wird als Teil eines Modells selbst gespeichert.
27.5.3. Speichern und laden von Modellen
27.5.3.1. Speicherung von Modellen
Verwenden Sie die Schaltfläche Modell speichern, um das aktuelle Modell zu speichern und die Schaltfläche Modell öffnen, um ein zuvor gespeichertes Modell zu öffnen. Modelle werden mit der Erweiterung .model3
gespeichert. Wenn das Modell bereits über das Modellierfenster gespeichert wurde, werden Sie nicht zur Eingabe eines Dateinamens aufgefordert. Da bereits eine Datei mit dem Modell verknüpft ist, wird diese Datei für nachfolgende Speicherungen verwendet.
Bevor Sie ein Modell speichern, müssen Sie in den Textfeldern im oberen Teil des Fensters einen Namen und eine Gruppe für das Modell eingeben.
Modelle, die im Ordner models
gespeichert sind (Standardordner, wenn Sie zur Eingabe eines Dateinamens zum Speichern des Modells aufgefordert werden), erscheinen in der Toolbox in der entsprechenden Rubrik. Wenn die Werkzeugkiste aufgerufen wird, durchsucht sie den Ordner models
nach Dateien mit der Erweiterung .model3
und lädt die darin enthaltenen Modelle. Da ein Modell selbst ein Algorithmus ist, kann es wie jeder andere Algorithmus zur Werkzeugkiste hinzugefügt werden.
Modelle können auch innerhalb des Projekts mit der Schaltfläche Modell im Projekt speichern gespeichert werden. Modelle, die mit dieser Methode gespeichert werden, werden nicht als :file:``.model3` Dateien auf die Platte geschrieben, sondern in die Projektdatei eingebettet.
Projektmodelle sind im Menü Projektmodelle der Toolbox und im Menüpunkt verfügbar.
Die Verarbeitungsmodellierung kann im Verarbeitungskonfigurationsdialog in der Modelle Gruppe eingestellt werden.
Modelle, die aus dem Ordner models
geladen wurden, erscheinen nicht nur in der Werkzeugkiste, sondern auch in der Algorithmenliste im Reiter Algorithms des Modellierfensters. Das bedeutet, dass Sie ein Modell als Teil eines größeren Modells einbinden können, genau wie andere Algorithmen.
Die Modelle werden im Browser Bedienfeld angezeigt und können von dort aus gestartet werden.
27.5.3.2. Exportieren eines Modells als Python Skript
Wie wir in einem späteren Kapitel sehen werden, können Processing-Algorithmen von der QGIS-Python-Konsole aus aufgerufen werden, und neue Processing-Algorithmen können mit Python erstellt werden. Eine schnelle Möglichkeit, ein solches Python-Skript zu erstellen, besteht darin, ein Modell zu erstellen und es dann als Python-Datei zu exportieren.
Klicken Sie dazu auf die Schaltfläche Als PythonSkript exportieren… in der Kartenansicht des Modells oder klicken Sie mit der rechten Maustaste auf den Namen des Modells in der Werkzeugkiste und wählen Sie Modell als Python-Algorithmus exportieren….
27.5.3.3. Exportieren eines Modells als Bild, PDF oder SVG-Datei
Ein Modell kann auch als Bild, SVG oder PDF (für Illustrationszwecke) exportiert werden, indem Sie auf Als Bild exportieren, Als PDF exportieren oder Als SVG exportieren klicken.
27.5.4. Ein Modell bearbeiten
Sie können das Modell, das Sie gerade erstellen, bearbeiten und dabei den Workflow und die Beziehungen zwischen den Algorithmen und Eingaben, die das Modell definieren, anpassen.
Wenn Sie mit der rechten Maustaste auf einen Algorithmus im Darstellungsbereich klicken, sehen Sie ein Kontextmenü wie das folgende:
Wird die Entfernen 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:
Wenn Sie die Option :guilabel: Bearbeiten wählen, wird der Parameterdialog des Algorithmus angezeigt, sodass Sie die Eingaben und Parameterwerte ändern können. Es werden nicht alle im Modell verfügbaren Eingabeelemente als verfügbare Eingaben angezeigt. Layer oder Werte, die bei einem weiter entwickelten Schritt des Arbeitsablaufes erzeugt wurden, sind nicht verfügbar, wenn sie zirkuläre Abhängigkeiten verursachen.
Wählen Sie die neuen Werte aus und klicken Sie wie gewohnt auf die Schaltfläche OK. Die Verbindungen zwischen den Modellelementen ändern sich im Darstellungsbereich entsprechend.
Mit Kommentar hinzufügen… können Sie dem Algorithmus einen Kommentar hinzufügen, um das Verhalten besser zu beschreiben.
Ein Modell kann teilweise ausgeführt werden, indem einige seiner Algorithmen deaktiviert werden. Wählen Sie dazu die Option Abschalten im Kontextmenü, das erscheint, wenn Sie mit der rechten Maustaste auf ein Algorithmenelement klicken. Der ausgewählte Algorithmus und alle Algorithmen im Modell, die von ihm abhängen, werden grau dargestellt und nicht als Teil des Modells ausgeführt.
Wenn Sie mit der rechten Maustaste auf einen Algorithmus klicken, der nicht aktiv ist, sehen Sie die Menüoption :guilabel: Aktivieren, mit der Sie den Algorithmus reaktivieren können.