mcpField
C
cli-anything-qgis

cli-anything-qgis

github.com/hkudsデータ・データベース57.6k543 回インストール5 週間前に更新
リポジトリ

cli-anything-qgis について

cli-anything-qgisは、実際のQGISランタイムを使ってプロジェクトを調査・編集するコマンドラインツールです。ベクターレイヤー、地物、印刷レイアウト、処理アルゴリズムを扱い、自動化向けのJSON出力にも対応します。

主な機能

  1. 01QGISプロジェクトの作成・読み込み・確認
  2. 02ベクターレイヤーの作成と地物の追加
  3. 03地図やラベルを含むレイアウトの作成
  4. 04レイアウトをPDFまたは画像に出力
  5. 05処理アルゴリズムの確認と実行

活用シーン

  1. 01コマンドラインで地図プロジェクトを作成・編集
  2. 02WKTと属性を使って空間地物を追加
  3. 03地図レイアウトを作成して出力
  4. 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: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

コメント