이전 글에서는 processing.run('native:buffer')를 사용해 하나의 버퍼를 생성하는 방법을 정리했습니다.
이번에는 한 단계 확장해
여러 개의 거리 값을 반복문으로 자동 실행하는 방법을 정리합니다.
핵심 차이점은
for 반복문을 사용해 버퍼를 자동 생성했다는 점입니다.
1. 실행 구조

- 다양한 거리(5m ~ 5000m)의 버퍼가 자동 생성
- 각각 다른 레이어 이름으로 메모리 레이어 생성
- 실행 시간도 함께 출력
화면에서 확인 가능합니다.
2 . 실행 코드 예시 (반복문 적용)
아래 코드는 그대로 실행 가능한 구조입니다.
import processing
import time
start = time.time()
# 입력 shp
shpPath_two_points = r'C:\Users\wnsgu\Downloads\강의자료_ver.2\Section.01&03\SHP\01.buffer\two_points_5186.shp'
# 여러 거리 값
buffer_distances = [5000, 3000, 1500, 1000, 500, 200, 100, 50, 30, 5]
for buffer_distance in buffer_distances:
output_temp_buffer = f'memory:distance_practice_{buffer_distance}'
bufferParams = {
'INPUT': shpPath_two_points,
'DISTANCE': buffer_distance,
'OUTPUT': output_temp_buffer
}
buffer = processing.run('native:buffer', bufferParams)
QgsProject.instance().addMapLayer(buffer['OUTPUT'])
print(f"{buffer_distance}m 버퍼 완료")
print("총 실행 시간:", time.time() - start)
3. 코드 해석
1) 거리 리스트 생성: 한 번에 여러 거리 값을 정의
2) for 반복문 실행: 거리 하나씩 자동 적용
3) 동적 레이어 이름 생성: f-string을 사용해 거리별 레이어 구분
4) 실행 시간 확인: 대량 처리 시 성능 비교 가능
4. 정리
for 반복문을 활용하면 QGIS Python 콘솔에서 여러 거리의 버퍼를 한 번에 자동 생성할 수 있습니다.
'공간 분석 > 공간 분석 기초' 카테고리의 다른 글
| QGIS Python으로 Clip 자동화하기 (0) | 2026.02.28 |
|---|---|
| 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 |