18.17. Beginnen met Grafische modellen bouwen

Notitie

In deze les zullen we Grafische modellen bouwen gebruiken, een krachtige component die we kunnen gebruiken om een werkstroom te definiëren en een reeks algoritmen uit te voeren.

Een normale sessie met de gereedschappen voor Processing omvat meer dan het uitvoeren van één enkel algoritme. gewoonlijk worden verscheidene ervan uitgevoerd om een resultaat te krijgen, en de uitvoer van sommige van die algoritmen worden gebruikt als invoer voor sommige van de andere.

Door het gebruiken van Grafische modellen bouwen kan die werkstroom worden geplaatst in een model, wat in één enkele keer alle noodzakelijke algoritmen zal uitvoeren, aldus het gehele proces vereenvoudigend en het automatiseren.

We gaan een parameter, genaamd Topographic wetness index, om deze les te beginnen. Het algoritme dat dit berekent is genaamd Topographic wetness index (twi)

../../../_images/twi.png

Zoals u kunt zien zijn er twee verplichte invoeren: Slope en Catchment area. Er is ook een optionele invoer, maar die zullen we niet gebruiken, dus kunnen we die negeren.

De gegevens voor deze les bevat slechts een DEM, dus we hebben geen van de vereiste invoeren. We weten echter hoe we die beide kunnen berekenen vanuit die DEM, omdat we al algoritmen hebben gezien om de helling en het opvanggebied te berekenen. We kunnen dus eerst die lagen berekenen en ze dan gebruiken voor het algoritme TWI.

Hier zijn de dialoogvensters voor de parameters die u zou moeten gebruiken om de 2 tussenliggende lagen te berekenen.

Notitie

Helling moet worden berekend in radialen, niet in graden.

../../../_images/slope1.png ../../../_images/area.png

En dit is hoe u het dialoogvenster voor de parameters van het algoritme TWI zou moeten instellen.

../../../_images/twi_filled.png

Dit is het resultaat dat u zult verkrijgen (het standaard geïnverteerde palet enkelband pseudokleur is gebruikt voor het renderen). U kunt de verschafte stijl twi.qml gebruiken.

../../../_images/twi_layer.png

Wat we nu zullen proberen te doen is om een algoritme te maken dat de TWI berekent vanuit een DEM in slechts één enkele stap. Dat zal ons werk besparen voor het geval we later een laag TWI moeten berekenen uit een andere DEM, omdat we slechts één stap nodig hebben om het te doen in plaats van de 3 bovenstaande. Alle processen die we nodig hebben zijn te vinden in de Toolbox, dus wat we moeten doen is de werkstroom definiëren om ze te verpakken. Dat is waar Grafische modellen bouwen van pas komt.

Open Grafische modellen bouwen door het menuitem daarvan te selecteren in het menu Processing.

../../../_images/modeler.png

Twee dingen zijn nodig om een model te maken: de benodigde invoer instellen en het algoritme definiëren dat het bevat. Beide worden gedaan door elementen toe te voegen uit de twee tabs aan de linkerkant van het venster Grafische modellen bouwen: Invoer en Algoritmen

Laten we beginnen met de invoer. In dit geval hebben we niet veel toe te voegen. We hebben slechts een rasterlaag nodig met de DEM en dat zullen onze enige gegevens voor invoer zijn.

Dubbelklik op de invoer Raster Layer en u zult het volgende dialoogvenster zien.

../../../_images/raster_input.png

Hier moeten we de invoer definiëren die we willen. Omdat we verwachten dat deze rasterlaag een DEM zal zijn, zullen we die DEM noemen. Dat is de naam die de gebruiker van het model zal zien bij het uitvoeren. Omdat we die laag nodig hebben om te kunnen werken, zullen we het definiëren als een vereiste laag.

Hier is hoe het dialoogvenster zou moeten zijn geconfigureerd.

../../../_images/raster_input_filled.png

Klik op OK en de invoer zal verschijnen in het kaartvenster van Grafische modellen bouwen.

../../../_images/canvas_1.png

Laten we nu naar de tab Algoritmen gaan. Het eerste algoritme dat we moeten uitvoeren is het algoritme Slope, aspect, curvature. Zoek het op in de lijst met algoritmen, dubbelklik erop en u zult het dialoogvenster zien dat hieronder wordt weergegeven.

../../../_images/slope_modeler.png

Dit dialoogvenster lijkt erg op dat wat u krijgt als u het algoritme uitvoert vanuit de Toolbox, maar het element dat u kunt gebruiken als waarde voor de parameters worden niet uit het huidige project van QGIS genomen, maar vanuit het model zelf. Dat betekent dat, in dit geval, we niet alle rasterlagen van ons project beschikbaar hebben voor het veld Elevation, maar slechts die welke zijn gedefinieerd in ons model. Omdat we slechts één enkele rasterinvoer hebben toegevoegd, genaamd DEM, zal dat de enige rasterlaag zijn die we zullen zien in de lijst die correspondeert met de parameter Elevation.

Uitvoer gegenereerd door een algoritme wordt een beetje anders afgehandeld als het algoritme wordt gebruikt als deel van een model. In plaats van het bestandspad te selecteren waar u elke uitvoer wilt opslaan, hoeft u slechts te specificeren dat de uitvoer een tussenliggende laag is (en dat u het niet wilt behouden nadat het model is uitgevoerd), of dat het het uiteindelijke is. In dit geval zijn alle door dit algoritme geproduceerde lagen tussenliggende. We zullen er slechts één van gebruiken (de hellingslaag), maar we willen die niet behouden, omdat we die slechts nodig hebben om de laag TWI te berekenen, die het uiteindelijke resultaat is dat we willen verkrijgen.

Wanneer lagen geen uiteindelijk resultaat zijn, zou u het corresponderende veld moeten laten zoals het is. Anders moet u een naam invoeren die zal worden gebruikt om de laag te identificeren in het dialoogvenster voor de parameters dat zal worden weergegeven wanneer u het model later uitvoert.

Er is niet veel te selecteren in dit eerste dialoogvenster, omdat we slechts één laag in ons model hebben (De invoer DEM die we gemaakt hebben). In feite is de standaard configuratie van het dialoogvenster de juiste in dit geval, dus u hoeft alleen maar op OK te drukken. Dit is wat u zult hebben in het kaartvenster van Grafische modellen bouwen.

../../../_images/canvas_2.png

Het tweede algoritme dat we moeten toevoegen aan ons model is het algoritme Catchment area. We zyllen het algoritme, genaamd Catchment area (Paralell) gebruiken. We zullen opnieuw de laag DEM gebruiken als invoer, en geen van de uitvoeren die het produceert is de uiteindelijke, dus hier is hoe u het overeenkomstige dialoogvenster in moet vullen.

../../../_images/area_modeler.png

Nu zou uw model er zo uit moeten zien.

../../../_images/canvas_3.png

De laatste stap is om het algoritme Topographic wetness index toe te voegen, met de volgende configuratie.

../../../_images/twi_modeler.png

In dit geval zullen we niet de DEM gebruiken als invoer, maar in plaats daarvan zullen we de lagen voor de helling en het opvanggebied gebruiken die zijn berekend door de algoritmen die we eerder toevoegden. Als u nieuwe algoritmen toevoegt, komt de uitvoer die zij produceren beschikbaar voor andere algoritmen, en door ze te gebruiken koppelt u de algoritmen, wat de werkstroom maakt.

In dit geval is de uitvoerlaag TWI de uiteindelijke laag, dus moeten we dat aangeven. Voer, in het overeenkomstige tekstvak, de naam in die u wilt hebben weergegeven voor deze uitvoer.

Nu is uw model voltooid en zou er zo uit moeten zien.

../../../_images/canvas_4.png

Voer een naam en een naam voor de groep in in het bovenste gedeelte van het venster Grafische modellen bouwen, en sla het dan op door te klikken op de knop Opslaan.

../../../_images/model_name.png

U kunt het overal opslaan waar u wilt en het later openen, maar als u het opslaat in de map Models (wat de map is die u zult zien als het dialoogvenster Opslaan verschijnt), zal uw model ook in de Toolbox beschikbaar zijn. Blijf dus in die map en sla het model op onder de bestandsnaam die uw voorkeur heeft.

Sluit nu het dialoogvenster Grafische modellen bouwen en ga naar de Toolbox. In het item Models zult u uw model vinden.

../../../_images/toolbox1.png

U kunt het net als elk normaal algoritme uitvoeren, door erop te dubbelklikken.

../../../_images/model_dialog.png

Zoals u kunt zien bevat het dialoogvensters voor de parameters de invoer die u had toegevoegd aan het model, tezamen met de uitvoer die u als uiteindelijk heeft ingesteld bij het toevoegen van de overeenkomstige algoritmen.

Voer het uit met behulp van de DEM als invoer en u zult de laag TWI in slechts één stap krijgen.