De QGIS commando’s

Processing bevat een praktisch gereedschap dat u in staat stelt algoritmen uit te voeren zonder de Toolbox te hoeven gebruiken, slechts door het intypen van de naam van het algoritme dat u wilt uitvoeren.

Dit gereedschap staat bekend als de QGIS Commando’s en het is slechts een eenvoudig tekstvak met automatisch aanvullen waar u de opdracht typt die u wilt uitvoeren.

../../../_images/commander1.png

De QGIS commando’s

Commando’s wordt gestart vanuit het menu Processing of, meer praktisch, door te drukken op Shift + Ctrl + M (u kunt die standaard sneltoets wijzigen in de configuratie van QGIS, als u een andere wenst). Druk eenvoudigweg op ESC om het te sluiten. Naast het uitvoeren van algoritmen van Processing geeft Commando’s u toegang tot de meeste functionaliteiten in QGIS, wat betekent dat het u een praktische en efficiënte manier biedt voor het uitvoeren van taken van QGIS en u in staat stelt QGIS te beheren met gereduceerd gebruik van knoppen en menu’s.

Daarnaast is Commando’s te configureren, dus kunt u uw aangepaste opdrachten toevoegen en ze slechts een paar toetsaanslagen verwijderd hebben, wat het een krachtig gereedschap maakt dat u helpt productiever te worden in uw dagelijkse werk met QGIS.

Beschikbare opdrachten

De beschikbare opdrachten in Commando’s vallen in de volgende categorieën:

  • Processing algoritmen. Deze worden weergegeven als Processing algoritme: <naam van het algoritme>.

  • Menu-items. Deze worden weergegeven als Menu item: <tekst voor menuitem>. Alle beschikbare menu-items voor de interface van QGIS zijn beschikbaar, zelfs als zij zijn opgenomen in een submenu.

  • Functies voor Python. U kunt korte functies voor Python maken die dan zullen worden opgenomen in de lijst met beschikbare opdrachten. Zij worden weergegeven als Function: <naam van de functie>.

Begin, om een van de bovenstaande uit te voeren, eenvoudigweg te typen en selecteer dan het corresponderende element uit de lijst met beschikbare opdrachten die verschijnt na het filteren van de gehele lijst met opdrachten met de tekst die u heeft ingevoerd.

In het geval van het aanroepen van een functie in Python kunt u het item selecteren in de lijst, welke wordt voorafgegaan door Function: (bijvoorbeeld Function: removeall), of eenvoudigweg de naam van de functie te typen (``removeall in het voorgaande voorbeeld). Het is niet nodig haakjes te plaatsen achter de naam van de functie.

Aangepaste functies maken

Aangepaste functies worden toegevoegd door hun corresponderende code voor Python toe te voegen aan het bestand commands.py dat kan worden gevonden in de map .qgis2/processing/commander in uw gebruikersmap. Het is slechts een eenvoudig bestand van Python waar u de functies kunt toevoegen die u nodig hebt.

Het bestand is gemaakt met enkele voorbeeldfuncties als U Commando’s voor de eerste keer opent. Als u Commando’s nog nooit heeft gestart, kunt u het bestand zelf maken. Gebruik uw favoriete tekstbewerker om het bestand met opdrachten te bewerken. U kunt ook de ingebouwde bewerker gebruiken door de opdracht edit aan te roepen in Commando’s. Het zal de bewerker openen met het bestand voor de opdrachten en u kunt het direct bewerken en uw wijzigingen opslaan.

U kunt bijvoorbeeld de volgende functie toevoegen, die alle lagen verwijderd:

from qgis.gui import *

def removeall():
    mapreg = QgsMapLayerRegistry.instance()
    mapreg.removeAllMapLayers()

Wanneer u de functie eenmaal heeft toegevoegd zal die beschikbaar zijn in Commando’s, en u kunt hem uitvoeren door te typen removeall. Er is niets anders nodig dan het schrijven van de functie zelf.

Functies kunnen parameters opnemen. Voeg *args toe aan uw definitie van de functie om argumenten te kunnen opnemen. Bij het aanroepen van de functie vanuit Commando’s, moeten parameters worden doorgegeven door ze te scheiden door spaties.

Hier is een voorbeeld van een functie die een laag laadt en een parameter opneemt met de bestandsnaam van de te laden laag.

import processing

def load(*args):
  processing.load(args[0])

Als u de laag wilt laden vanuit /home/myuser/points.shp, typ dan in het tekstvak van Commando’s.

``load /home/myuser/points.shp``