Que fait cli-anything-qgis ?
Utilisez cette compétence lorsque vous devez inspecter ou modifier des projets QGIS depuis le terminal via le moteur QGIS réel.
Prérequis
- QGIS installé avec
qgis_processdans lePATH - PyQGIS importable depuis l'environnement Python exécutant le CLI
- Python 3.10+
Conseils pour l'agent
- Privilégiez
--jsonpour toute utilisation automatisée. - Pour les commandes uniques, passez
--project <chemin>lorsque vous travaillez sur un projet existant. - Lancer
cli-anything-qgissans sous-commande démarre un REPL avec état. - L'exportation de mise en page est basée sur les algorithmes de traitement QGIS réels :
native:printlayouttopdfnative:printlayouttoimage
Ce que couvre ce CLI
- créer, ouvrir, enregistrer et inspecter des projets
.qgs/.qgz - créer des couches vectorielles modifiables basées sur GeoPackage
- ajouter des entités avec géométrie WKT et attributs typés
clé=valeur - créer des mises en page et ajouter des éléments de carte/légende
- exporter des mises en page au format PDF ou image
- inspecter et exécuter des algorithmes
qgis_processgénériques - inspecter l'état et l'historique de la session
Groupes de commandes
project
new -o/--output [--title] [--crs]open CHEMINsave [CHEMIN]infoset-crs CRS
layer
create-vector --name --geometry --crs [--field nom:type ...]listinfo COUCHEremove COUCHE
feature
add --layer COUCHE --wkt WKT [--attr clé=valeur ...]list --layer COUCHE [--limit N]
layout
create --name [--page-size] [--orientation]listinfo MISE_EN_PAGEremove MISE_EN_PAGEadd-map --layout MISE_EN_PAGE --x --y --width --height [--extent xmin,ymin,xmax,ymax]add-label --layout MISE_EN_PAGE --text TEXTE --x --y --width --height [--font-size N]
export
presetspdf SORTIE --layout MISE_EN_PAGE [--dpi] [--force-vector] [--force-raster] [--georeference/--no-georeference] [--overwrite]image SORTIE --layout MISE_EN_PAGE [--dpi] [--overwrite]
process
listhelp ID_ALGORITHMErun ID_ALGORITHME [--param CLÉ=VALEUR ...]
session
statushistory [--limit N]
Exemples
Créer un projet et ajouter une couche modifiable
cli-anything-qgis --json project new -o demo.qgz --title "Démo" --crs EPSG:4326
cli-anything-qgis --json --project demo.qgz layer create-vector \
--name lieux \
--geometry point \
--field nom:string \
--field score:int
Ajouter des entités et les inspecter
cli-anything-qgis --json --project demo.qgz feature add \
--layer lieux \
--wkt "POINT(1 2)" \
--attr nom=Siège \
--attr score=5
cli-anything-qgis --json --project demo.qgz feature list --layer lieux --limit 10
Créer et exporter une mise en page
cli-anything-qgis --json --project demo.qgz layout create --name Principale
cli-anything-qgis --json --project demo.qgz layout add-map --layout Principale --x 10 --y 20 --width 180 --height 120
cli-anything-qgis --json --project demo.qgz layout add-label --layout Principale --text "Carte démo" --x 10 --y 8 --width 100 --height 10
cli-anything-qgis --json --project demo.qgz export pdf output.pdf --layout Principale --overwrite
Inspecter ou exécuter des algorithmes de traitement
cli-anything-qgis --json process help native:buffer
cli-anything-qgis --json --project demo.qgz process run native:buffer \
--param INPUT=/tmp/demo_data.gpkg|layername=lieux \
--param DISTANCE=1 \
--param SEGMENTS=8 \
--param END_CAP_STYLE=0 \
--param JOIN_STYLE=0 \
--param MITER_LIMIT=2 \
--param DISSOLVE=false \
--param OUTPUT=/tmp/buffer.geojson
REPL
cli-anything-qgis
Exemple de flux interactif :
project new -o demo.qgz --title "Démo"
layer create-vector --name lieux --geometry point --field nom:string
feature add --layer lieux --wkt "POINT(1 2)" --attr nom=Siège
layout create --name Principale
session status
quit