26.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 algoritmes 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.
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 alleen elementen van QGIS nodig hebben om te worden uitgevoerd) actief. Algoritmes 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 Modellen: Nieuw model maken…, Bestaand model openen… en Model toevoegen aan Toolbox…;
werken met Scripts: Nieuw script maken…, Nieuw script uit sjabloon maken…, Bestaand script openen… en Script toevoegen aan Toolbox…;
schakelen van de Toolbox naar modus Objecten op hun plaats bewerken met de knop Objecten op hun plaats bewerken: alleen de algoritmes die geschikt zijn om te worden uitgevoerd op de actieve laag zonder een nieuwe laag uit te voeren worden weergegeven;
Onder deze werkbalk staat een 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 algoritmes 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 algoritmes worden de meest recent gebruikte gereedschappen weergegeven; handig als u er een opnieuw dient uit te voeren.
Dubbelklik eenvoudigweg op de naam in de Toolbox om een gereedschap uit te voeren.
26.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 Fig. 26.8 hieronder, worden weergegeven (in dit geval correspondeert het dialoogvenster met het algoritme van Centroids
).
Het dialoogvenster geeft twee tabs weer (Parameters en Log) in het linkerdeel, de beschrijving van het algoritme rechts, en een set knoppen aan de onderkant.
26.3.1.1. Typen parameters
De tab Parameters wordt gebruikt om de waarden voor de invoer in te stellen waarmee het algoritme moet 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 uit te voeren algoritme, 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 vectorlaag te selecteren uit een lijst van beschikbare vectorlagen (momenteel geopend) in QGIS. U kunt ook niet geladen lagen gebruiken: druk op de knop … van de widget aan de rechterkant en selecteer:
Bestand selecteren…: selecteert het bestand op schijf met de bestandsverkenner van het besturingssysteem
Bladeren naar laag…: opent het paneel Browser dat het mogelijk maakt de lagen direct te selecteren uit databronnen (PostgreSQL, SQL Server, Oracle, …), webservices (WFS, AFS, …) of bestanden op schijf.
Notitie
Standaard zal de widget van de laag het CRS weergeven met zijn naam. Als u deze aanvullende informatie niet wilt zien, kunt u die functionaliteit in het dialoogvenster met instellingen voor Processing uitschakelen, door de optie
niet te selecteren.De vector invoerwidget heeft ook de volgende mogelijkheden:
een knop Doorloop : Indien ingeschakeld zal het algoritme iteratief worden uitgevoerd op elk van zijn objecten, in plaats van slechts één keer voor de gehele laag, wat net zoveel uitvoeren maakt als dat het algoritme wordt uitgevoerd. Dit maakt het mogelijk het proces te automatiseren als alle objecten op een laag afzonderlijk moeten worden verwerkt. Als het algoritme verschillende vectors voor de invoer bevat die u kunt doorlopen, zal het doorlopen alleen worden verwerkt op de eerste ingeschakelde parameter, in de volgorde waarin de parameters zijn gedeclareerd in het algoritme.
knop Geavanceerde opties om instellingen aan te passen om te gebruiken met die specifieke parameter. Deze instellingen omvatten:
Ongeldige objecten filteren: staat de standaard methode, voor afhandelen van objecten met ongeldige geometrieën, toe om te worden overschreven
Verwerkte objecten beperken: optionele begrenzing voor het aantal objecten dat vanuit de bron moet worden verwerkt
Het is ook mogelijk de uitvoering van het algoritme op de vectorlaag te beperken met zijn keuze Alleen geselecteerde objecten.
Een tabel om te selecteren uit een lijst met alle beschikbare in QGIS. Niet-ruimtelijke tabellen worden net als vectorlagen in QGIS geladen en gebruikt dezelfde widget.
Een rasterlaag om te selecteren uit een lijst van alle beschikbare rasterlagen in QGIS. De selectie bevat ook een knop … aan de rechterkant om u bestandsnamen te laten selecteren die lagen weergeven die momenteel niet geladen zijn in QGIS.
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 Data-bepaalde ‘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.
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, een tekstvak dat een rechthoek definieert met zijn hoekcoördinaten in de indeling
xmin
,xmax
,ymin
,ymax
. Druk op de knop Op huidig bereik kaartvenster instellen om het bereik van het kaartvenster te gebruiken. Klikken op de pijl aan de rechterkant van de selectie voor de waarde laat een pop-upmenu verschijnen dat u opties geeft om:: vult het tekstvak met de coördinaten van het begrenzingsvak van een uit de geladen lagen te selecteren laag
: vult het tekstvak met de coördinaten van een kaartitem, geselecteerd in een lay-out in het huidige project
: vult het tekstvak met de coördinaten van een opgeslagen Favoriete plaats
In kaartvenster tekenen: het venster Parameters zal 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.
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.
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.
Afhankelijk van het algoritme kan het aantal rijen, al dan niet, worden aangepast met de knoppen aan de rechterkant van het venster.
Notitie
Sommige algoritmes 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.
26.3.1.2. Loggen van de uitvoering
Naast de tab Parameters is er ook een andere tab, genaamd Log (zie Fig. 26.15 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. Informatie over het uitvoeren van het algoritme wordt ook uitgevoerd in het .
Onthoud dat niet alle algoritmes informatie naar de tab Log wegschrijven, en veel ervan zouden geluidloos kunnen worden uitgevoerd, zonder enige uitvoer te produceren anders dan de uitvoerbestanden. Controleer in dat geval het paneel Logboekmeldingen.
Aan de onderzijde van de tab Log vindt u de knoppen voor 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.
26.3.1.3. Andere gereedschappen
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 kunnen 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 algoritmes of naar de documentatie van de provider (voor enkele providers van derde-partijen).
Het menu
verschaft functies om de configuratie, die is gedefinieerd in het dialoogvenster, opnieuw te gebruiken zonder het algoritme uit te voeren:Als opdracht voor Python kopiëren: maakt het gemakkelijk om het equivalent van de opdracht van PyQGIS te kopiëren om het gereedschap uit te voeren met de parameters die zijn gedefinieerd in het dialoogvenster.
Als opdracht voor qgis_process kopiëren: maakt het maken van een opdracht voor qgis_process , inclusief zijn instellingen voor de omgeving, zoals eenheden voor afstanden, eenheden voor gebied, ellipsoïde, en enkele moeilijkere waarden voor parameters zoals uitvoer naar GeoPackage met specifieke lagen, gemakkelijker.
Als JSON kopiëren: alle instellingen voor de opdracht worden gekopieerd naar de indeling
JSON
, klaar om te worden gebruikt door qgis_process. Dit is een handige manier om de verwachte indeling van de opdrachten te bekijken, zelfs voor complexe parameters (zoals parameters voor TIN interpolatie). U kunt ze gemakkelijk opslaan en ze later terugplaatsen door de waarden te plakken.Instellingen plakken in de indeling
JSON
De knop Uitvoeren als een Batch proces… activeert de modus In batch verwerken wat het mogelijk maakt meerdere instanties van het algoritme te configureren en uit te voeren met een variëteit aan parameters. Een knop Als enkel proces uitvoeren… helpt u terug te schakelen vanuit de modus Batch.
Wanneer de uitvoering van een algoritme is voltooid (ofwel met succes of niet), wordt een nieuwe knop Parameters wijzigen weergegeven, zolang de tab Log actief is.
26.3.1.4. Een opmerking over projecties
Uitvoering van algoritmes 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 algoritmes 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
Algoritmes 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.
26.3.2. Gegevensobjecten gegenereerd door algoritmes
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 algoritmes (algoritmes 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 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 algoritmes 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
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).