关于 cli-anything-qgis
cli-anything-qgis 是通过终端和真实 QGIS 运行环境检查、修改项目的命令行工具。它涵盖矢量图层、要素、打印布局和处理算法,并支持以 JSON 输出供自动化使用。
主要功能
- 01创建、打开和检查 QGIS 项目
- 02创建矢量图层并添加要素
- 03制作包含地图和标签的布局
- 04将布局导出为 PDF 或图像
- 05检查并运行处理算法
适用场景
- 01从命令行新建或调整地图项目
- 02通过 WKT 和属性录入空间要素
- 03生成并导出地图打印布局
- 04运行 QGIS 处理算法
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-qgis安装后在 Claude Code 中输入/cli-anything-qgis确认已加载。
详细介绍
cli-anything-qgis
当你需要通过真实的 QGIS 运行时从终端检查或修改 QGIS 项目时,使用此技能。
要求
- 已安装 QGIS,且
qgis_process位于PATH中 - 运行 CLI 的 Python 环境可以导入 PyQGIS
- Python 3.10+
Agent 指南
- 对于所有机器驱动的用途,优先使用
--json。 - 对于一次性命令,在操作现有项目时传入
--project <path>。 - 不带子命令运行
cli-anything-qgis会启动一个有状态的 REPL。 - 布局导出由真实的 QGIS 处理算法提供支持:
native:printlayouttopdfnative:printlayouttoimage
此 CLI 涵盖的内容
- 创建、打开、保存和检查
.qgs/.qgz项目 - 创建可写的、由 GeoPackage 支持的矢量图层
- 通过 WKT 几何和带类型的
key=value属性添加要素 - 创建打印布局并添加地图/标签项
- 将布局导出为 PDF 或图像
- 检查并运行通用的
qgis_process算法 - 检查会话状态和历史
命令组
project
new -o/--output [--title] [--crs]open PATHsave [PATH]infoset-crs CRS
layer
create-vector --name --geometry --crs [--field name:type ...]listinfo LAYERremove LAYER
feature
add --layer LAYER --wkt WKT [--attr key=value ...]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 OUTPUT --layout LAYOUT [--dpi] [--force-vector] [--force-raster] [--georeference/--no-georeference] [--overwrite]image OUTPUT --layout LAYOUT [--dpi] [--overwrite]
process
listhelp ALGORITHM_IDrun ALGORITHM_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
评论
支持 Markdown