cli-anything-qgis은(는) 무엇을 하나요?
실제 QGIS 런타임을 통해 터미널에서 QGIS 프로젝트를 검사하거나 수정해야 할 때 이 스킬을 사용하세요.
요구 사항
- QGIS가 설치되어 있고
qgis_process가PATH에 있어야 함 - CLI를 실행하는 Python 환경에서 PyQGIS를 임포트할 수 있어야 함
- Python 3.10+
에이전트 가이드
- 모든 기계 주도 사용에는
--json을 선호하세요. - 단발성 명령의 경우 기존 프로젝트에서 작업할 때
--project <경로>를 전달하세요. - 하위 명령 없이
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