공간 분석/공간 분석 기초

QGIS Python에서 addMapLayer() 기능

Data Jun 2026. 2. 28. 16:16

QGIS Python 콘솔에서 processing.run()으로 분석을 실행하면
결과는 “객체”로 반환됩니다.

 

하지만 이 상태에서는 지도 화면에 자동으로 보이지 않습니다.

 

그 결과를 실제 화면에 추가하는 코드가 바로 아래 한 줄입니다.

QgsProject.instance().addMapLayer(buffer['OUTPUT'])

 

1. 코드 해석

이 한 줄을 단계별로 보면 다음과 같습니다.

 

 1) QgsProject.instance()

 

현재 열려 있는 QGIS 프로젝트 객체를 불러옵니다.
즉, 지금 작업 중인 프로젝트 환경을 의미합니다.

 

 2) .addMapLayer()

 

해당 프로젝트에 레이어를 추가하는 함수입니다.

 

 3) buffer['OUTPUT']

 

processing.run()의 결과 딕셔너리에서
실제로 생성된 출력 레이어 객체를 가져옵니다.

 

2. 왜 필요한가?

processing.run()은 결과를 반환만 할 뿐
자동으로 지도에 추가하지 않습니다.

 

즉,

buffer = processing.run(...)

까지만 하면 결과는 메모리에 존재하지만 화면에는 보이지 않습니다.

 

addMapLayer()가 있어야
비로소 지도에 표시됩니다.

 

3. 정리

QgsProject.instance().addMapLayer(buffer['OUTPUT'])는 처리 결과 레이어를 현재 QGIS 프로젝트에 추가