Viktigt
Översättning är en gemenskapsinsats du kan gå med i. Den här sidan är för närvarande översatt till 100.00%.
23.8. Använda bearbetning från kommandoraden
QGIS levereras med ett verktyg som heter QGIS Processing Executor
som gör att du kan köra Processing-algoritmer och modeller (inbyggda eller tillhandahållna av tillägg) direkt från kommandoraden utan att starta QGIS Desktop själv.
Från ett kommandoradsverktyg, kör qgis_process
och du bör få:
QGIS Processing Executor - 3.35.0-Master 'Master' (3.35.0-Master)
Usage: C:\OSGeo4W\apps\qgis-dev\bin\qgis_process.exe [--help] [--version] [--json] [--verbose] [--no-python] [--skip-loading-plugins] [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)
--skip-loading-plugins Avoid loading enabled plugins (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.
When passing parameters as a JSON object from STDIN, these extra arguments can be provided as an "ellipsoid" and a "project_path" key respectively.
Observera
Endast installerade tillägg som annonserar hasProcessingProvider=yes
i sin metadata.txt
-fil känns igen och kan aktiveras eller laddas av qgis_process-verktyget.
Råd
Innan du anropar qgis_process på ett system utan fönsterhanterare (t.ex. en huvudlös server) bör du ställa in:
export QT_QPA_PLATFORM=offscreen
Kommandot list
kan användas för att få en lista över alla tillgängliga leverantörer och algoritmer.
qgis_process list
Kommandot help
kan användas för att få ytterligare information om kommandon eller algoritmer.
qgis_process help qgis:regularpoints
Kommandot run
kan användas för att köra en algoritm eller modell. Ange namnet på algoritmen eller en sökväg till en modell som första parameter.
qgis_process run native:buffer -- INPUT=source.shp DISTANCE=2 OUTPUT=buffered.shp
Om en parameter accepterar en lista med värden kan du ange samma variabel flera gånger.
qgis_process run native:mergevectorlayers -- LAYERS=input1.shp LAYERS=input2.shp OUTPUT=merged.shp
När en algoritm körs visas ett textbaserat feedbackfält och operationen kan avbrytas via CTRL+C.
Kommandot run
har även stöd för ytterligare parametrar.
--json
formaterar utdata från stdout på ett JSON-strukturerat sätt.--ellipsoid
kommer att ställa in ellipsoiden till den angivna.--distance_units
kommer att använda de angivna avståndsenheterna.--area_units
kommer att använda de angivna areaenheterna.--project_path
kommer att ladda det angivna projektet för att köra algoritmen.
Komplexa inmatningsparametrar, dvs. parametertyper som själva specificeras som ett objekt av typen dictionary för algoritmer, stöds av qgis_process. För att ange att parametrar kommer att anges via stdin måste kommandot qgis_process följa formatet (med en efterföljande -
i stället för den vanliga argumentlistan).
qgis_process run algorithmId -
JSON-objektet måste innehålla en ”inputs”-nyckel, som är en karta över värdena för inparametrarna. T.ex.
echo "{'inputs': {'INPUT': 'my_shape.shp', 'DISTANCE': 5}}" | qgis_process run native:buffer -
Dessutom kan extra inställningar som avståndsenheter, ytenheter, ellipsoid och projektväg inkluderas i detta JSON-objekt:
{
'ellipsoid': 'EPSG:7019',
'distance_units': 'feet',
'area_units': 'ha',
'project_path': 'C:/temp/my_project.qgs'
'inputs': {'DISTANCE': 5, 'SEGMENTS': 8 ... }
}
Om du anger inparametrar via stdin innebär det automatiskt att JSON
används som utdataformat för resultaten.