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.