26.8. Processing gebruiken vanaf de opdrachtregel
QGIS heeft een gereedschap, genaamd QGIS Processing Executor
, dat u in staat stelt algoritmes en modellen van Processing (ingebouwd of verschaft via plug-ins) direct vanaf de opdrachtregel uit te voeren, zonder QGIS Desktop zelf te moeten starten.
Voer, vanuit een programma voor de opdrachtregel,, qgis_process
uit en u zou moeten krijgen:
QGIS Processing Executor - 3.27.0-Master 'Master' (3.27.0-Master)
Usage: C:\OSGeo4W\apps\qgis-dev\bin\qgis_process.exe [--help] [--version] [--json] [--verbose] [--no-python] [command] [algorithm id, path to model file, or path to Python script] [parameters]
Options:
--help or -h Output the help
--version or -v Output all versions related to QGIS Process
--json Output results as JSON objects
--verbose Output verbose logs
--no-python Disable Python support (results in faster startup)
Available commands:
plugins list available and active plugins
plugins enable enables an installed plugin. The plugin name must be specified, e.g. "plugins enable cartography_tools"
plugins disable disables an installed plugin. The plugin name must be specified, e.g. "plugins disable cartography_tools"
list list all available processing algorithms
help show help for an algorithm. The algorithm id or a path to a model file must be specified.
run runs an algorithm. The algorithm id or a path to a model file and parameter values must be specified.
Parameter values are specified after -- with PARAMETER=VALUE syntax.
Ordered list values for a parameter can be created by specifying the parameter multiple times,
e.g. --LAYERS=layer1.shp --LAYERS=layer2.shp
Alternatively, a '-' character in place of the parameters argument indicates that the parameters should be read from STDIN as a JSON object.
The JSON should be structured as a map containing at least the "inputs" key specifying a map of input parameter values.
This implies the --json option for output as a JSON object.
If required, the ellipsoid to use for distance and area calculations can be specified via the "--ELLIPSOID=name" argument.
If required, an existing QGIS project to use during the algorithm execution can be specified via the "--PROJECT_PATH=path" argument.
Notitie
Only installed plugins that advertise hasProcessingProvider=yes
in their metadata.txt
file are recognized and can be activated
or loaded by qgis_process tool.
De opdracht list
kan worden gebruikt om een lijst mt alle beschikbare providers en algoritmes op te halen.
qgis_process list
De opdracht help
kan worden gebruikt om meer informatie op te halen over opdrachten of algoritmes.
qgis_process help qgis:regularpoints
De opdracht run
kan worden gebruikt om een algoritme of model uit te voeren. Specificeer de naam van het algoritme of een pad naar een model als de eerste parameter.
qgis_process run native:buffer -- INPUT=source.shp DISTANCE=2 OUTPUT=buffered.shp
Als een parameter een lijst met waarden accepteert, stel dan dezelfde variabele meerdere keren in.
qgis_process run native:mergevectorlayers -- LAYERS=input1.shp LAYERS=input2.shp OUTPUT=merged.shp
While running an algorithm a text-based feedback bar is shown, and the operation can be cancelled via CTRL+C.
The run
command also supports further parameters.
--json
zal uitvoer naar stdout opmaken in een JSON-gestructureerde manier.--ellipsoid
zal de ellipsoïde instellen naar de gespecificeerde.--distance_units
zal de gespecificeerde eenheden voor afstand gebruiken.--area_units
zal de gespecificeerde eenheden voor gebied gebruiken.--project_path
zal het gespecificeerde project laden om het algoritme uit te voeren.
Complex input parameters, i.e. parameter types which are themselves specified
as a dictionary type object for algorithms, are supported by qgis_process.
To indicate that parameters will be specified via stdin,
the qgis_process command must follow the format (with a trailing -
in place of the usual arguments list).
qgis_process run algorithmId -
The JSON object must contain an “inputs” key, which is a map of the input parameter values. E.g.
echo "{'inputs': {'INPUT': 'my_shape.shp', 'DISTANCE': 5}}" | qgis_process run native:buffer -
Additionally, extra settings like the distance units, area units, ellipsoid and project path can be included in this JSON object:
{
'ellipsoid': 'EPSG:7019',
'distance_units': 'feet',
'area_units': 'ha',
'project_path': 'C:/temp/my_project.qgs'
'inputs': {'DISTANCE': 5, 'SEGMENTS': 8 ... }
}
Specifying input parameters via stdin implies automatically the JSON
output format for results.