mcpField
C
cli-anything-qgis

cli-anything-qgis

github.com/hkuds数据与数据库57.6k543 次安装5 周前更新
代码仓库

关于 cli-anything-qgis

cli-anything-qgis 是通过终端和真实 QGIS 运行环境检查、修改项目的命令行工具。它涵盖矢量图层、要素、打印布局和处理算法,并支持以 JSON 输出供自动化使用。

主要功能

  1. 01创建、打开和检查 QGIS 项目
  2. 02创建矢量图层并添加要素
  3. 03制作包含地图和标签的布局
  4. 04将布局导出为 PDF 或图像
  5. 05检查并运行处理算法

适用场景

  1. 01从命令行新建或调整地图项目
  2. 02通过 WKT 和属性录入空间要素
  3. 03生成并导出地图打印布局
  4. 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:printlayouttopdf
    • native:printlayouttoimage

此 CLI 涵盖的内容

  • 创建、打开、保存和检查 .qgs / .qgz 项目
  • 创建可写的、由 GeoPackage 支持的矢量图层
  • 通过 WKT 几何和带类型的 key=value 属性添加要素
  • 创建打印布局并添加地图/标签项
  • 将布局导出为 PDF 或图像
  • 检查并运行通用的 qgis_process 算法
  • 检查会话状态和历史

命令组

project
  • new -o/--output [--title] [--crs]
  • open PATH
  • save [PATH]
  • info
  • set-crs CRS
layer
  • create-vector --name --geometry --crs [--field name:type ...]
  • list
  • info LAYER
  • remove LAYER
feature
  • add --layer LAYER --wkt WKT [--attr key=value ...]
  • list --layer LAYER [--limit N]
layout
  • create --name [--page-size] [--orientation]
  • list
  • info LAYOUT
  • remove LAYOUT
  • add-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
  • presets
  • pdf OUTPUT --layout LAYOUT [--dpi] [--force-vector] [--force-raster] [--georeference/--no-georeference] [--overwrite]
  • image OUTPUT --layout LAYOUT [--dpi] [--overwrite]
process
  • list
  • help ALGORITHM_ID
  • run ALGORITHM_ID [--param KEY=VALUE ...]
session
  • status
  • history [--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