QGIS에서 버퍼(Buffer)를 GUI로 클릭해서 실행하는 대신,
Python 콘솔을 활용하면 반복 작업을 자동화하고 실행 시간을 측정할 수 있습니다.
이번 글에서는 실제 실행 화면을 기준으로
- shp 경로 지정
- native:buffer 실행
- 메모리 레이어 생성
- 처리 시간 출력
까지 전체 흐름을 정리합니다.
1. 작업 화면 구조
화면 구성은 다음과 같습니다.
- 하단: Python 콘솔
- 우측: 스크립트 편집 창
- 상단 지도: 버퍼 결과 레이어 표시

2. 실행 코드 전체 예시
아래 코드는 그대로 실행 가능한 형태입니다.
import processing
import time
# 실행 시간 확인
start = time.time()
# 입력 shp 경로 (Windows는 r'' 권장)
shpPath_two_points = r'~path\Section.01&03\SHP\01.buffer\two_points_5186.shp'
# 버퍼 거리
buffer_distance = 300
# 출력 메모리 레이어
output_buffer = 'memory:distance_practice'
# 파라미터 구성
bufferParams = {
'INPUT': shpPath_two_points,
'DISTANCE': buffer_distance,
'OUTPUT': output_buffer
}
# 버퍼 실행
buffer = processing.run('native:buffer', bufferParams)
# 결과 지도에 추가
QgsProject.instance().addMapLayer(buffer['OUTPUT'])
# 실행 시간 출력
print("버퍼 소요 시간:", time.time() - start)
3. 코드 흐름 이해하기
1) 입력 데이터 지정: Shapefile 경로를 문자열로 지정합니다.
2) 파라미터 딕셔너리 구성: processing.run()은 반드시 딕셔너리 형태로 입력을 받습니다.
3) 메모리 레이어 출력: memory를 사용하면 디스크에 저장하지 않고 즉시 결과 확인 가능.
4) 실행 시간 측정: 대용량 데이터 처리 시 성능 비교에 유용합니다.
4. 정리
QGIS Python 콘솔에서 processing.run('native:buffer')를 활용하면 버퍼 작업을 자동화하고 실행 시간까지 효율적으로 관리할 수 있습니다.
'공간 분석 > 공간 분석 기초' 카테고리의 다른 글
| QGIS Python에서 addMapLayer() 기능 (0) | 2026.02.28 |
|---|---|
| QGIS Python 콘솔로 다중 Buffer 자동화하기: 반복문 활용 방법 (0) | 2026.02.28 |
| QGIS Python 콘솔로 공간 처리 알고리즘 파악하기 (0) | 2026.02.28 |
| QGIS에서 유효하지 않은 객체 처리 설정 방법 (0) | 2026.02.28 |
| K-means 클러스터링이란? (0) | 2025.12.14 |