Was macht cli-anything-qgis?
Verwenden Sie diese Fähigkeit, wenn Sie QGIS-Projekte über das Terminal mit der echten QGIS-Laufzeit inspizieren oder bearbeiten möchten.
Voraussetzungen
- QGIS installiert mit
qgis_processimPATH - PyQGIS importierbar aus der Python-Umgebung, die das CLI ausführt
- Python 3.10+
Anleitung für Agenten
- Für maschinelle Verwendung
--jsonbevorzugen. - Für einmalige Befehle
--project <Pfad>übergeben, wenn auf einem vorhandenen Projekt gearbeitet wird. cli-anything-qgisohne Unterbefehl startet einen zustandsbehafteten REPL.- Der Layoutexport wird durch echte QGIS-Verarbeitungsalgorithmen unterstützt:
native:printlayouttopdfnative:printlayouttoimage
Was dieses CLI abdeckt
.qgs-/qgz-Projekte erstellen, öffnen, speichern und inspizieren- beschreibbare, auf GeoPackage basierende Vektor-Layer erstellen
- Features hinzufügen per WKT-Geometrie und typisierten
Schlüssel=Wert-Attributen - Drucklayouts erstellen und Karten-/Beschriftungselemente hinzufügen
- Layouts als PDF oder Bild exportieren
- generische
qgis_process-Algorithmen inspizieren und ausführen - Sitzungsstatus und -verlauf inspizieren
Befehlgruppen
project
new -o/--output [--title] [--crs]open PFADsave [PFAD]infoset-crs CRS
layer
create-vector --name --geometry --crs [--field name:typ ...]listinfo LAYERremove LAYER
feature
add --layer LAYER --wkt WKT [--attr schlüssel=wert ...]list --layer LAYER [--limit N]
layout
create --name [--page-size] [--orientation]listinfo LAYOUTremove LAYOUTadd-map --layout LAYOUT --x --y --width --height [--extent xmin,ymin,xmax,ymax]add-label --layout LAYOUT --text TEXT --x --y --width --height [--font-size N]
export
presetspdf AUSGABE --layout LAYOUT [--dpi] [--force-vector] [--force-raster] [--georeference/--no-georeference] [--overwrite]image AUSGABE --layout LAYOUT [--dpi] [--overwrite]
process
listhelp ALGORITHMUS_IDrun ALGORITHMUS_ID [--param SCHLÜSSEL=WERT ...]
session
statushistory [--limit N]
Beispiele
Ein Projekt erstellen und einen beschreibbaren Layer hinzufügen
cli-anything-qgis --json project new -o demo.qgz --title "Demo" --crs EPSG:4326
cli-anything-qgis --json --project demo.qgz layer create-vector \
--name places \
--geometry point \
--field name:string \
--field score:int
Features hinzufügen und inspizieren
cli-anything-qgis --json --project demo.qgz feature add \
--layer places \
--wkt "POINT(1 2)" \
--attr name=HQ \
--attr score=5
cli-anything-qgis --json --project demo.qgz feature list --layer places --limit 10
Ein Layout erstellen und exportieren
cli-anything-qgis --json --project demo.qgz layout create --name Main
cli-anything-qgis --json --project demo.qgz layout add-map --layout Main --x 10 --y 20 --width 180 --height 120
cli-anything-qgis --json --project demo.qgz layout add-label --layout Main --text "Demo map" --x 10 --y 8 --width 100 --height 10
cli-anything-qgis --json --project demo.qgz export pdf output.pdf --layout Main --overwrite
Verarbeitungsalgorithmen inspizieren oder ausführen
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=places \
--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
Beispiel für interaktiven Ablauf:
project new -o demo.qgz --title "Demo"
layer create-vector --name places --geometry point --field name:string
feature add --layer places --wkt "POINT(1 2)" --attr name=HQ
layout create --name Main
session status
quit