cli-anything-qgis について
cli-anything-qgisは、実際のQGISランタイムを使ってプロジェクトを調査・編集するコマンドラインツールです。ベクターレイヤー、地物、印刷レイアウト、処理アルゴリズムを扱い、自動化向けのJSON出力にも対応します。
主な機能
- 01QGISプロジェクトの作成・読み込み・確認
- 02ベクターレイヤーの作成と地物の追加
- 03地図やラベルを含むレイアウトの作成
- 04レイアウトをPDFまたは画像に出力
- 05処理アルゴリズムの確認と実行
活用シーン
- 01コマンドラインで地図プロジェクトを作成・編集
- 02WKTと属性を使って空間地物を追加
- 03地図レイアウトを作成して出力
- 04QGIS処理アルゴリズムを実行
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-qgisインストール後、Claude Code で/cli-anything-qgisを入力して読み込まれたか確認します。
詳細
cli-anything-qgis
実際の QGIS ランタイムを通じて、ターミナルから QGIS プロジェクトを検査または変更する必要がある場合にこのスキルを使用します。
要件
qgis_processがPATHに通った状態で QGIS がインストールされていること- CLI を実行する Python 環境から PyQGIS をインポートできること
- Python 3.10 以上
エージェント向けガイダンス
- 機械駆動の用途では常に
--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 対応