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

.

Grafische modellen bouwen

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.

Grafische modellen bouwen kan worden geopend vanuit het menu Processing.

Grafische modellen bouwen heeft een werkruimte waar de structuur van het model en de werkstroom die het vertegenwoordigt worden weergegeven. In het linker gedeelte van het venster kan een paneel met twee tabs worden gebruikt om nieuwe elementen aan het model toe te voegen.

Figure Processing 16:

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

Modeler win

Het maken van een model omvat twee stappen:

  1. Definitie van noodzakelijke invoer. Deze invoer zal worden toegevoegd aan het venster Parameters, zodat de gebruiker zijn waarden kan instellen bij het uitvoeren van het model. Het model zelf is een algoritme, dus het venster Parameters wordt automatisch gegenereerd zoals dat gebeurd met alle beschikbare algoritmen in het framework Processing.

  2. Definitie van de werkstroom. Met behulp van de invoergegevens van het model wordt de werkstroom gedefinieerd door het toevoegen van algoritmen en selecteren hoe zij deze invoer gebruiken of hoe zij de uitvoer, reeds gegenereerd door andere algoritmen in het model, gebruiken.

Definitie van invoer

De eerste stap om een model te maken is het definiëren van de invoer die het nodig heeft. De volgende elementen worden gevonden in de tab Invoer aan de linkerkant van het venster Grafische modellen bouwen:

  • Rasterlaag

  • Vectorlaag

  • Tekenreeks

  • Tabelveld

  • Tabel

  • Bereik

  • Getal

  • Booleaanse waarde

  • Bestand

Na dubbelklikken op een van deze elementen wordt een dialoogvenster weergegeven om de karakteristieken te definiëren. Afhankelijk van de parameter zelf, kan het dialoogvenster slechts één basiselement bevatten (de beschrijving, wat datgene is dat de gebruiker zal zien bij het uitvoeren van het model) of meerdere. Bijvoorbeeld bij het toevoegen van een numerieke waarde, zoals kan worden gezien in de volgende afbeelding, los van de beschrijving van de parameter, moet u een standaard waarde en een bereik van geldige waarden instellen.

Figure Processing 17:

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

Model Parameters win

Voor elke toegevoegde invoer wordt een nieuw element toegevoegd aan de werkruimte van Grafische modellen bouwen.

Figure Processing 18:

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

Model Parameters win

U kunt ook invoer toevoegen door het type invoer te slepen vanuit de lijst en neer te zetten in het venster van Grafische modellen bouwen, op de positie waar u het wilt plaatsen.

Definitie van de werkstroom

Als de invoer eenmaal is gedefinieerd, is het tijd om de algoritmen te definiëren die daarop moeten worden toegepast. Algoritmen kunnen worden gevonden op de tab Algoritmen, gegroepeerd op nagenoeg dezelfde wijze als in de 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

Zoals u ziet zijn er enkele verschillen. In plaats van het vak voor het uitvoerbestand dat werd gebruikt om het pad voor de uitvoer van lagen en tabellen in te stellen, wordt hier een eenvoudig tekstvak gebruikt. Als de laag, gegenereerd door het algoritme, slechts een tijdelijk resultaat is dat zal worden gebruikt als de invoer voor een ander algoritme en niet zou moeten worden bewaard als uiteindelijk resultaat, bewerk dan dat tekstvak niet. Door er iets in te typen betekent het dat het resultaat het eindpunt is en de tekst die u invoert zal de beschrijving voor de uitvoer zijn, wat de uitvoer zal zijn die de gebruiker zal zien bij het uitvoeren van het model.

Selecteren van de waarde van elke parameter gaat ook een beetje anders, omdat er belangrijke verschillen zijn tussen de context van Grafische modellen bouwen en die van de Toolbox. Laten we eens kijken hoe we de waarden voor elk type parameter invullen.

  • 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.
  • Numerieke waarden. Letterlijke waarden kunnen direct in het tekstvak worden ingevuld. Maar dit tekstvak is ook een lijst die kan worden gebruikt om elke van de numerieke invoerwaarden voor het model in te voeren. In dat geval zal de parameter, bij het uitvoeren van het model, de waarde aannemen die door de gebruiker is ingevuld.

  • Tekenreeks. Net als in het geval van numerieke waarden kunnen letterlijke waarden worden ingevuld, of er kan een tekenreeks voor invoer worden geselecteerd.

  • Tabelveld. De velden van de ouder-tabel of laag hoeven niet bekend te zijn op het moment van ontwerpen, omdat zij afhankelijk zijn van de selectie van de gebruiker, elke keer als het model wordt uitgevoerd. Type de naam van een veld direct in het tekstvak, of gebruik de lijst om een tabelveld voor invoer te selecteren dat al is toegevoegd aan het model om de waarde voor deze parameter in te stellen. De geldigheid van het geselecteerde veld zal bij de uitvoering worden gecontroleerd.

In alle gevallen zult u een aanvullende parameter aantreffen, genaamd Ouder-algoritmen dat niet beschikbaar is bij het aanroepen van het algoritme in de Toolbox. Deze parameter stelt u in staat de volgorde te definiëren waarin de algoritmen worden uitgevoerd door expliciet één algoritme als een ouder van het huidige te definiëren, wat forceert dat het ouder-algoritme wordt uitgevoerd vóór het huidige.

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.

Klik, als eenmaal aan alle parameters geldige waarden zijn toegewezen, op [OK] en het algoritme zal worden toegevoegd aan de werkruimte. Het zal worden gekoppeld aan alle andere elementen in de werkruimte, algoritme of invoer, dat objecten verschaft die worden gebruikt als invoer voor dat algoritme.

Elementen kunnen naar een andere positie binnen de werkruimte worden gesleept, om de manier waarop de modelstructuur wordt weergegeven te wijzigen en het duidelijker en meer intuïtief te maken. Koppelingen tussen elementen worden automatisch bijgewerkt. U kunt in- en uitzoomen met behulp van het muiswiel.

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.

Opslaan en laden van modellen

Gebruik de knop [Opslaan] om het huidige model op te slaan en de knop [Open model] om een eerder opgeslagen model te openen. Modellen worden opgeslagen met de extensie .model. Als het model eerder werd opgeslagen vanuit het venster Grafische modellen bouwen, zult u niet naar ene bestandsnaam worden gevraagd. Omdat er al een bestand is geassocieerd met dat model, zal hetzelfde bestand worden gebruikt voor volgende opslag.

Vóór het opslaan van een model moet u een naam en een groep er voor invoeren, met behulp van de tekstvakken in het bovenste gedeelte van het venster.

Modellen die zijn opgeslagen in de map models (de standaard map als u wordt gevraagd naar een bestandsnaam om het model op te slaan) zullen in de corresponderende tak in de Toolbox verschijnen. Wanneer de Toolbox wordt gestart, zoekt het in de map models naar bestanden met de extensie .model en laadt de modellen die zij bevatten. Omdat een model in zichzelf een algoritme is, kan het aan de Toolbox worden toegevoegd, net als elk ander algoritme.

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

Modellen die zijn geladen uit de map models verschijnen niet alleen in de Toolbox, maar ook in de boom met algoritmen op de tab Algoritmen van het venster Grafische modellen bouwen. Dat betekent dat u een model kunt invoegen als deel van een groter model, net zoals u alle andere algoritmen kunt toevoegen.

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.

Bewerken van een model

U kunt het model, dat u momenteel maakt, bewerken, de werkstroom opnieuw definiëren en de relaties tussen de algoritmen en invoer die het model zelf definiëren.

Als u met rechts klikt op een algoritme in de werkruimte dat het model vertegenwoordigt, zult u een contextmenu zien zoals dat wat hieronder wordt weergegeven:

Figure Processing 22:

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

Modeler Right Click win

Selecteren van de optie Remove zal het geselecteerde algoritme verwijderen. Een algoritme kan alleen worden verwijderd als er geen andere algoritmen van afhankelijk zijn. Dat is, als er geen uitvoer van het algoritme wordt gebruikt in een ander als invoer. Als u probeert een algoritme te verwijderen waarvan andere afhankelijk zijn, zal een waarschuwingsbericht, zoals die welke hieronder wordt weergegeven, worden getoond:

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.

Selecteer de nieuwe waarden en klik dan op de knop [OK] zoals gewoonlijk. De verbindingen tussen de elementen van het model zullen overeenkomstig wijzigen in de werkruimte van Grafische modellen bouwen.

Bewerken van Help-bestanden Grafische modellen bouwen en meta-informatie

U kunt vanuit Grafische modellen bouwen uw modellen documenteren. Klik gewoon op de knop [Help model bewerken] en een dialoogvenster, zoals dat wat hieronder wordt weergegeven, zal verschijnen.

Figure Processing 25:

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

Help Edition win

Aan de rechterkant ziet u een eenvoudige HTML-pagina, die is gemaakt met behulp van de beschrijving van de parameters voor de invoer en de uitvoer van het algoritme, tezamen met enkele aanvullende items zoals een algemene beschrijving van het model of de auteur ervan. De eerste keer dat u de bewerker voor de Help opent, zijn al deze beschrijvingen leeg, maar u kunt ze bewerken met behulp van de elementen aan de linkerkant van het dialoogvenster. Selecteer een element in het bovenste gedeelte en schrijf dan de beschrijving ervan in het tekstvak onderin.

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.

Over beschikbare algoritmen

Het zal u zijn opgevallen dat sommige algoritmen die uitgevoerd kunnen worden vanuit de Toolbox niet verschijnen in de lijst van beschikbare algoritmen wanneer u een model ontwerpt. Een algoritme moet een juiste semantiek hebben, zoals juist zijn gekoppeld aan andere in de werkstroom, om te kunnen worden opgenomen in een model. Als een algoritme niet een dergelijke goed-gedefiniëerde semantiek heeft (als bijvoorbeeld het aantal uit te voeren lagen niet vooruit bekend is), dan is het niet mogelijk om het in een model te gebruiken, en dus,verschijnt het niet in de lijst met algoritmen die u zult zien in het dialoogvenster Grafische modellen bouwen.

Aanvullend zult u in Grafische modellen bouwen enkele algoritmen zien die niet worden aangetroffen in de Toolbox. Deze algoritmen zijn bedoeld om exclusief als deel van een model te worden gebruikt, en zij zijn niet van belang in enige andere. Het algoritme ‘Calculator’ is een voorbeeld daarvan. Het is slechts een eenvoudige rekenkundige calculator die u kunt gebruiken om numerieke waarden aan te passen (ingevoerd door de gebruiker of gegenereerd door een ander algoritme). Dit gereedschap is echt handig binnen een model, maar buiten die context, heeft het niet veel betekenis.