22.3. De Toolbox

De Processing Toolbox is het hoofdelement van de GUI van Processing en die u waarschijnlijk het meeste gaat gebruiken in uw dagelijkse werk. Het geeft de lijst met alle beschikbare algoritmen weer, gegroepeerd in verschillende blokken, genaamd Providers, en aangepaste modellen en scripts die u kunt toevoegen om de set gereedschappen uit te breiden. Daarom is de Toolbox het toegangspunt om ze uit te voeren, ofwel als een enkel proces of als een batch-proces dat verschillende uitvoeringen van hetzelfde algoritme betreft op verschillende sets voor de invoer.

../../../_images/toolbox3.png

Fig. 22.6 Processing - Toolbox

Providers kunnen worden ge(de)activeerd in het dialoogvenster voor instellingen van Processing. Standaard zijn alleen providers die niet afhankelijk zijn van toepassingen van derde partijen (dat is, die welke alleen elementen van QGIS nodig hebben om te worden uitgevoerd) actief. Algoritmen die externe toepassingen nodig hebben zouden een aanvullende configuratie nodig kunnen hebben. Configureren van providers wordt in een later hoofdstuk van deze handleiding uitgelegd.

In het bovenste gedeelte van het dialogvenster Toolbox, vindt u ook een set gereedschappen:

  • werken met processingModel Modellen: Nieuw model maken…, Bestaand model openen… en Model toevoegen aan Toolbox…;

  • werken met pythonFile Scripts: Nieuw script maken…, Nieuw script uit sjabloon maken…, Bestaand script openen… en Script toevoegen aan Toolbox…;

  • openen van het paneel processingHistory Geschiedenis;

  • openen van het paneel processingResult Resultaten bekijken;

  • schakelen van de Toolbox naar modus Objecten op hun plaats bewerken met de knop processSelected Objecten op hun plaats bewerken: alleen de algoritmen die geschikt zijn om te worden uitgevoerd op de actieve laag zonder een nieuwe laag uit te voeren worden weergegeven;

  • openen van het dialoogvenster options Opties.

Onder deze werkbalk staat een search Zoek…-vak om u te helpen de gereedschappen die u nodig heeft eenvoudig te vinden. U kunt een woord of een frase in dat tekstvak invoeren. Onthoud dat, terwijl u typt, het aantal algoritmen in de Toolbox wordt gereduceerd tot net die welke in hun namen of sleutelwoorden de tekst bevatten die u heeft ingevoerd.

Notitie

Bovenin de lijst met algoritmen worden de meest recent gebruikte gereedschappen weergegeven; handig als u er een opnieuw dient uit te voeren.

../../../_images/toolbox_search.png

Fig. 22.7 Processing - Toolbox geeft de resultaten weer

Dubbelklik eenvoudigweg op de naam in de Toolbox om een gereedschap uit te voeren.

22.3.1. Het dialoogvenster Algoritme

Als u eenmaal hebt geklikt op de naam van het algoritme dat u wilt uitvoeren, zal een dialoogvenster, zoals dat in de afbeelding hieronder, worden weergegeven (in dit geval correspondeert het dialoogvenster met het algoritme van Centroids).

../../../_images/parameters_dialog.png

Fig. 22.8 Dialoogvenster algoritme - Parameters

Dit dialoogvenster wordt gebruikt om de waarden voor de invoer in te stellen die het algoritme nodig heeft om te worden uitgevoerd. Het geeft een lijst weer met waarden voor de invoer en parameters voor de configuratie die moeten worden ingesteld. Het heeft natuurlijk een andere inhoud, afhankelijk van de vereisten van het algoritme om te worden uitgevoerd, en wordt automatisch gemaakt, gebaseerd op deze vereisten.

Hoewel het aantal en type parameters afhankelijk is van de karakteristieken van het algoritme, is de structuur voor alle ongeveer hetzelfde. De parameters in de tabel kunnen van een van de volgende types zijn.

  • Een rasterlaag, om te selecteren uit een lijst van al dergelijke lagen die beschikbaar zijn (momenteel geopend zijn) in QGIS. De selectie bevat ook een knop aan de rechterkant om u bestandsnamen te laten selecteren die lagen vertegenwoordigen die momenteel niet geladen zijn in QGIS.

  • Een vectorlaag, om te selecteren uit een lijst van alle beschikbare vectorlagen in QGIS. Lagen die niet zijn geladen in QGIS kunnen ook worden geselecteerd, net als in het geval van rasterlagen, maar alleen als het algoritme geen tabelveld vereist uit de attributentabel van de laag. In dat geval kunnen alleen geopende lagen worden geselecteerd, omdat zij geopend moeten zijn om de lijst met beschikbare veldnamen op te kunnen halen.

    U zult een knop voor doorlopen zien bij elke vectorlaag om te selecteren, zoals weergegeven in de afbeelding hieronder.

    ../../../_images/vector_iterator.png

    Fig. 22.9 Knop Vector-iteratie

    Als het algoritme er verscheidene van bevat, zult u in staat zijn er slechts één van te schakelen. Als de knop die correspondeert met een vectorinvoer wordt geschakeld, zal het algoritme iteratief worden uitgevoerd op elk van zijn objecten, in plaats van slechts één keer voor de gehele laag, net zoveel uitvoer producerend als het aantal keren dat het algoritme wordt uitgevoerd. Dit maakt het mogelijk het proces te automatiseren als alle objecten in een laag afzonderlijk moeten worden verwerkt.

Notitie

Standaard zal het dialoogvenster Parameters een beschrijving weergeven van het CRS van elke laag, tezamen met de naam ervan. Als u deze aanvullende informatie niet wilt zien, kunt u die functionaliteit in het dialoogvenster met instellingen voor Processing uitschakelen, door de optie Algemeen ‣ CRS-definitie van laag in selectievakken weergeven niet te selecteren.

  • Een tabel, om te selecteren uit een lijst van alle beschikbare in QGIS. Niet ruimtelijke tabellen worden in QGIS geladen als vectorlagen en worden in feite ook als zodanig behandeld door het programma. Momenteel is de lijst van beschikbare tabellen, die u zult zien bij het uitvoeren van een algoritme dat één ervan nodig heeft, beperkt tot tabellen die afkomstig zijn uit bestanden in dBase (.dbf) of indelingen van Comma-Separated Values (.csv).

  • Een optie, om te kiezen uit een selectielijst met mogelijke opties.

  • Een numerieke waarde, die moet worden ingevoerd in een draaivak. In sommige contexten (als de parameter van toepassing is op het niveau van het object en niet dat van de laag), zult u een knop dataDefined Data-gedefinieerde ‘override’ er naast vinden, die u in staat stelt de expressiebouwer te openen en een rekenkundige expressie in te voeren om variabele waarden voor de parameter te maken. Sommige nuttige variabelen die zijn gerelateerd aan in QGIS geladen gegevens kunnen aan uw expressie worden toegevoegd, dus kunt u een waarde selecteren die is afgeleid van één van deze variabelen, zoals de grootte van een cel van een laag of de meest noordelijk gelegen coördinaat van een andere.

../../../_images/number_selector.png

Fig. 22.10 Op expressie gebaseerde invoer

  • Een bereik, met waarden min en max die moeten worden ingevoerd in twee tekstvakken.

  • Een tekst-tekenreeks, om te worden ingevoerd in een tekstvak.

  • Een veld, om te kiezen uit de attributentabel van een vectorlaag of één enkele tabel, geselecteerd in een andere parameter.

  • Een coördinaten referentiesysteem. U kunt het selecteren uit de meest recent gebruikte uit de keuzelijst of uit het dialoogvenster Keuze Coördinaten ReferentieSysteem dat verschijnt als u klikt op de knop aan de rechterkant.

  • Een bereik, dat moet worden ingevoerd met vier getallen die de grenzen xmin, xmax, ymin, ymax vertegenwoordigen. Klikken op de knop aan de rechterkant van de selectie voor de waarde laat een pop-upmenu verschijnen dat u opties geeft om:

    • de waarde te selecteren uit een laag of het huidige bereik van het kaartvenster;

    • of het te definiëren door het direct op het kaartvenster te slepen.

    ../../../_images/extent.png

    Fig. 22.11 Bereikselectie

    Als u de eerste optie selecteert, zult u een venster zoals het volgende zien.

    ../../../_images/extent_list.png

    Fig. 22.12 Bereik-lijst

    Als u de tweede optie selecteert, zal het venster Parameters zichzelf verbergen, zodat u kunt klikken en slepen in het kaartvenster. Als u de geselecteerde rechthoek heeft gedefinieerd zal het dialoogvenster opnieuw verschijnen en de waarden bevatten in het tekstvak voor het bereik.

    ../../../_images/extent_drag1.png

    Fig. 22.13 Bereik slepen

  • Een lijst met elementen (raster- of vectorlagen, tabellen, velden) om uit te kiezen. Klik op de knop links van de optie om een dialoogvenster zoals het volgende te zien. Meervoudig selecteren is toegestaan en als het dialoogvenster wordt gesloten, wordt het aantal geselecteerde items weergegeven in de widget Tekstvak parameter.

    ../../../_images/multiple_selection.png

    Fig. 22.14 Meervoudige selecties

  • Een kleine tabel om te worden bewerkt door de gebruiker. Deze worden gebruikt om parameters te definiëren zoals tabellen voor opzoeken of samengevouwde kernen, naast andere.

    Klik op de knop aan de rechterkant om de tabel te zien en de waarden ervan te bewerken.

    ../../../_images/fixed_table.png

    Fig. 22.15 Vaste tabel

    Afhankelijk van het algoritme kan het aantal rijen, al dan niet, worden aangepast met de knoppen aan de rechterkant van het venster.

Notitie

Sommige algoritmen vereisen veel parameters om te kunnen worden uitgevoerd, bijv. in de Raster calculator moet u handmatig de celgrootte, het bereik en het CRS specificeren. U kunt het handmatig kiezen van alle parameters vermijden als het algoritme de parameter Verwijzingslaag heeft. Met die parameter kunt u de verwijzingslaag kiezen en alle eigenschappen daarvan (celgrootte, bereik, CRS) zullen worden gebruikt.

Naast de tab Parameters is er ook een andere tab, genaamd Log (zie afbeelding hieronder). Informatie die wordt verschaft door het algoritme gedurende de uitvoering ervan wordt in deze tab weggeschreven en stelt u in staat de uitvoering te volgen en in de gaten te houden en meer details te verkrijgen over het algoritme als het wordt uitgevoerd. Onthoud dat niet alle algoritmen informatie naar deze tab wegschrijven, en veel ervan zouden geluidloos kunnen worden uitgevoerd, zonder enige uitvoer te produceren anders dan de uitvoerbestanden.

../../../_images/algdialoglog.png

Fig. 22.16 Dialoogvenster algoritme - Log

Aan de onderzijde van de tab Log vindt u de knoppen Log opslaan naar bestand, Log naar klembord kopiëren en Log leegmaken. Deze zijn in het bijzonder handig als u het keuzevak Dialoogvenster open houden na uitvoeren van een algoritme in het gedeelte Algemeen van de opties van Processing hebt geselecteerd.

Aan de rechterkant van het dialoogvenster ziet u een korte beschrijving van het algoritme, wat u zal helpen het doel ervan te begrijpen en de basisideeën erachter. Als een dergelijke beschrijving niet beschikbaar is zal het paneel met de beschrijving niet worden weergegeven.

Voor een meer gedetailleerd Help-bestand, dat een beschrijving zou kunen bevatten van alle parameters die het gebruikt, of voorbeelden, vindt u een knop Help aan de onderzijde van het dialoogvenster die u brengt naar de Processing providers en algoritmen of naar de documentatie van de provider (voor enkele providers van derde-partijen).

22.3.1.1. Een opmerking over projecties

Uitvoering van algoritmen van Processing worden altijd uitgevoerd in het coördinaten referentiesysteem (CRS) van de invoerlaag. Vanwege de directe mogelijkheden voor opnieuw projecteren van QGIS, hoewel twee lagen elkaar lijken te overlappen en overeenkomen, hoeft dat niet waar te zijn als hun originele coördinaten werden gebruikt zonder ze opnieuw te projecteren in een algemeen coördinatensysteem. Altijd wanneer u meer dan één laag als invoer gebruikt voor een QGIS eigen algoritme, vector of raster, zullen de lagen allemaal opnieuw worden geprojecteerd om overeen te komen met het coördinaten referentiesysteem van de eerste invoerlaag.

Dat is echter minder waar voor de meeste externe toepassingen waarvan algoritmen worden weergegeven in het framework Processing omdat die ervan uitgaan dat alle lagen reeds in een overeenkomend coördinaten referentiesysteem staan en klaar zijn om te worden geanalyseerd.

Standaard zal het dialoogvenster Parameters een beschrijving weergeven van het CRS van elke laag, tezamen met de naam ervan, wat het eenvoudig maakt lagen te selecteren die hetzelfde CRS delen om te worden gebruikt als invoerlagen. Als u deze aanvullende informatie niet wilt zien, kunt u die functionaliteit in het dialoogvenster Opties uitschakelen, door de optie CRS-definitie van laag in selectievakken weergeven niet te selecteren.

Wanneer u probeert een algoritme uit te voeren met twee of meer lagen als invoer, waarvan de CRS-en niet overeenkomen, zal een dialoogvenster met een waarschuwing worden weergegeven. Dat komt door de optie Waarschuwen vóór uitvoeren als de parameter CRS niet overeen komt.

U kunt nog steeds het algoritme uitvoeren, maar weet dat dat in de meeste gevallen verkeerde resultaten zal produceren, zoals lege lagen, omdat de invoerlagen elkaar niet overlappen.

Tip

Algoritmen voor Processing gebruiken om tussentijds opnieuw te projecteren

Wanneer een algoritme niet met succes uitgevoerd kan worden op meerdere invoerlagen vanwege niet-overeenkomende CRS-en, gebruik dan het interne algoritme van QGIS, zoals Laag opnieuw projecteren, om opnieuw projecteren van de lagen naar hetzelfde CRS uit te voeren vóór het uitvoeren van het algoritme dat deze uitvoer gebruikt.

22.3.2. Gegevensobjecten gegenereerd door algoritmen

Gegevensobjecten gegenereerd door een algoritme kunnen van één van de volgende typen zijn:

  • Een rasterlaag

  • Een vectorlaag

  • Een tabel

  • Een HTML-bestand (gebruikt voor tekst en grafische uitvoer)

Deze worden allemaal opgeslagen op schijf en de tabel met parameters zal een tekstvak bevatten dat overeenkomt met elk van deze uitvoeren, waar u het kanaal voor uitvoer kunt typen om het op te slaan. Een kanaal voor uitvoer bevat de informatie die nodig is om de resulterende object ergens op te kunnen slaan. In het meest normale geval, zult u het opslaan naar een bestand, maar in het geval van vectorlagen en wanneer zij worden gegenereerd door eigen algoritmen (algoritmen die geen externe toepassingen gebruiken) kunt u ook opslaan naar een database van PostGIS, geoPackage of SpatiaLite, of naar een geheugenlaag.

Klik, om een kanaal voor uitvoer te selecteren, eenvoudigweg op de knop aan de rechterkant van het tekstvak, en u zult een klein contextmenu met de beschikbare opties zien.

In de meeste gevallen zult u willen selecteren dat u wilt opslaan naar een bestand. Als u die optie selecteert, zult u in een dialoogvenster Opslaan als worden gevraagd naar het gewenste pad om het bestand op te slaan. Ondersteunde bestandsextensies worden in de selectie voor de bestandsindeling in het dialoogvenster weergegeven, afhankelijk van het soort uitvoer en het algoritme.

De indeling van de uitvoer wordt gedefinieerd door de extensie van de bestandsnaam. De ondersteunde indelingen zijn afhankelijk van wat door het algoritme zelf wordt ondersteund. Selecteer eenvoudigweg de corresponderende bestandsextensie (of voeg die toe, als u in plaats daarvan het bestandspad direct intypt) om een indeling te selecteren. Als de extensie van het bestandspad dat u invoerde niet overeenkomt met een van de ondersteunde indelingen, zal een standaard extensie worden toegevoegd aan het bestandspad, en de bestandsindeling die correspondeert met die extensie zal worden gebruikt om de laag of de tabel op te slaan. Standaard extensies zijn: .dbf voor tabellen, .tif voor rasterlagen en .gpkg voor vectorlagen. Deze kunnen worden aangepast in het dialoogvenster Opties, door één van de door QGIS ondersteunde indelingen te selecteren.

Als u geen bestandsnaam invoert in het tekstvak voor de uitvoer (of de overeenkomende optie in het contextmenu selecteert) zal het resultaat worden opgeslagen als een tijdelijk bestand in de corresponderende standaard bestandsindeling en het zal worden verwijderd als u QGIS afsluit (wees u daarvan bewust als u uw project opslaat en het tijdelijke lagen bevat).

U kunt een standaardmap instellen voor gegevensobjecten van uitvoer. Ga naar het dialoogvenster Opties (u kunt het openen vanuit het menu Extra ‣ Opties ‣ Processing), en in de groep Algemeen vindt u een parameter genaamd Map voor uitvoer. Deze map voor uitvoer wordt gebruikt als het standaardpad in het geval dat u slechts een bestandsnaam typt, zonder pad (d.i. mynbestand.shp) bij het uitvoeren van een algoritme.

Bij het uitvoeren van een algoritme dat een vectorlaag in iteratieve modus gebruikt, wordt het ingevoerde bestandspad gebruikt als het basispad voor alle gegenereerde bestanden, die worden benoemd met behulp van de basisnaam en de toevoeging van een getal dat de index van de iteratie vertegenwoordigt. De bestandsextensie (en indeling) wordt gebruikt voor alle op die manier gegenereerde bestanden.

Apart van rasterlagen en tabellen, genereren algoritmen ook afbeeldingen en tekst als HTML-bestanden. Deze resultaten worden weergegeven aan het einde van de uitvoering van het algoritme in een nieuw dialoogvenster. Dit dialoogvenster zal de resultaten behouden die door een algoritme zijn geproduceerd gedurende de huidige sessie, en kan op elk moment worden weergegeven via het menu Processing ‣ Resultaten bekijken in het hoofdmenu van QGIS.

Sommige externe toepassingen zouden bestanden (zonder bepaalde beperkingen voor de extensie) als uitvoer kunnen hebben, maar zij behoren niet tot de hierboven vermelde categorieën. Deze bestanden voor uitvoer zullen niet worden verwerkt door QGIS (geopend of opgenomen in het huidige project van QGIS), omdat zij meestal niet corresponderen met bestandsindelingen of elementen die worden ondersteund door QGIS. Dit is, bijvoorbeeld, het geval met bestanden van LAS, gebruikt voor de gegevens van LiDAR. De bestanden worden gemaakt maar u zult niets zien in uw nieuwe werksessie van QGIS.

Voor alle andere typen van uitvoer zult u een tekstvak vinden dat u kunt gebruiken om het algoritme te vertellen om het bestand te laden als het eenmaal is gegenereerd door het algoritme of niet. Standaard worden alle bestanden geopend.

Optionele uitvoeren worden ondersteund. Dat is, alle uitvoeren worden gemaakt. Echter, u kunt het corresponderende tekstvak deselecteren als u niet geïnteresseerd bent in een bepaalde uitvoer, wat er in essentie voor zorgt dat het zich gedraagt als een optionele uitvoer (met andere woorden: de laag wordt toch gemaakt, maar als u het tekstvak leeg laat, zal die worden opgeslagen in een tijdelijk bestand en worden verwijderd als u QGIS afsluit).