cli-anything-qgis 是做什麼的?
當您需要從終端機透過真實的 QGIS 執行環境檢查或修改 QGIS 專案時,請使用此技能。
需求
- 已安裝 QGIS,且
qgis_process位於PATH中 - 執行 CLI 的 Python 環境必須可匯入 PyQGIS
- Python 3.10+
Agent 指引
- 偏好使用
--json進行所有機器驅動的操作。 - 對一次性指令,在操作既有專案時請加上
--project <路徑>。 - 不帶子指令執行
cli-anything-qgis會啟動有狀態的 REPL。 - 版面匯出由真實的 QGIS 處理演算法支援:
native:printlayouttopdfnative:printlayouttoimage
此 CLI 涵蓋的功能
- 建立、開啟、儲存及檢查
.qgs/.qgz專案 - 建立可寫入的 GeoPackage 後端向量圖層
- 透過 WKT 幾何與 typed
key=value屬性新增圖徵 - 建立印刷版面配置並加入地圖/標籤項目
- 將版面匯出為 PDF 或圖片
- 檢查並執行通用的
qgis_process演算法 - 檢查連線狀態與歷史記錄
指令群組
project
new -o/--output [--title] [--crs]open 路徑save [路徑]infoset-crs CRS
layer
create-vector --name --geometry --crs [--field 名稱:類型 ...]listinfo 圖層remove 圖層
feature
add --layer 圖層 --wkt WKT [--attr key=value ...]list --layer 圖層 [--limit N]
layout
create --name [--page-size] [--orientation]listinfo 版面remove 版面add-map --layout 版面 --x --y --width --height [--extent xmin,ymin,xmax,ymax]add-label --layout 版面 --text 文字 --x --y --width --height [--font-size N]
export
presetspdf 輸出檔案 --layout 版面 [--dpi] [--force-vector] [--force-raster] [--georeference/--no-georeference] [--overwrite]image 輸出檔案 --layout 版面 [--dpi] [--overwrite]
process
listhelp 演算法IDrun 演算法ID [--param KEY=VALUE ...]
session
statushistory [--limit N]
範例
建立專案並新增可寫入圖層
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
新增圖徵並檢查
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
建立並匯出版面
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
檢查或執行處理演算法
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
互動式流程範例:
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