17.17. Beginnen met Grafische modellen ontwerpen
Notitie
In deze les zullen we Grafische modellen ontwerpen gebruiken, een krachtige component die we kunnen gebruiken om een werkstroom te definiëren en een reeks algoritmes 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 algoritmes worden gebruikt als invoer voor sommige van de andere.
Door het gebruiken van Grafische modellen ontwerpen kan die werkstroom worden geplaatst in een model, wat in één enkele keer alle noodzakelijke algoritmes zal uitvoeren, aldus het gehele proces vereenvoudigend en het automatiseren.
We gaan, om deze les te beginnen, een parameter berekenen, genaamd Topographic wetness index. Het algoritme dat dit berekent is genaamd Topographic wetness index (twi).
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 algoritmes 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.
En dit is hoe u het dialoogvenster voor de parameters van het algoritme TWI zou moeten instellen.
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.
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 drie 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 ontwerpen van pas komt.
Open Grafische modellen bouwen door het menuitem daarvan te selecteren in het menu Processing.
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 Algoritmes.
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.
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.We zullen het definiëren als een vereiste laag, omdat we die laag nodig hebben om te kunnen werken.
Hier is hoe het dialoogvenster zou moeten zijn geconfigureerd.
Klik op OK en de invoer zal verschijnen in het kaartvenster van Grafische modellen bouwen.
Laten we nu naar de tab Algoritmes gaan.
Het eerste algoritme dat we moeten uitvoeren is het algoritme Slope, aspect, curvature. Zoek het op in de lijst met algoritmes, dubbelklik erop en u zult het dialoogvenster zien dat hieronder wordt weergegeven.
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 gemaakt 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 in dit geval de juiste, dus u hoeft alleen maar op OK te drukken. Dit is wat u nu zult hebben in het kaartvenster van Grafische modellen bouwen.
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.
Nu zou uw model er zo uit moeten zien.
De laatste stap is om het algoritme Topographic wetness index toe te voegen, met de volgende configuratie.
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 algoritmes die we eerder toevoegden. Als u nieuwe algoritmes toevoegt, komt de uitvoer die zij produceren beschikbaar voor andere algoritmes, en door ze te gebruiken koppelt u de algoritmes, 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.
Voer een naam en een naam voor de groep, in het bovenste gedeelte van het venster Grafische modellen bouwen, in.
Sla het op door te klikken op de knop Opslaan. 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.
U kunt het net als elk normaal algoritme uitvoeren, door erop te dubbelklikken.
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 algoritmes.
Voer het uit met behulp van de DEM als invoer en u zult de laag TWI in slechts één stap krijgen.