GIS

QGIS 실전 플러그인 개발 - (3) Plugin Builder 3로 플러그인 템플릿 생성

유병혁 2024. 12. 8. 10:56

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 세 번째로, "Plugin Builder 3로 플러그인 템플릿 생성"에 대해 다룹니다.

Plugin Builder 3 플러그인

Plugin Builder 3 플러그인은 여러 화면으로 구성된 "마법사(wizard)" 형식의 인터페이스를 제공하며, 이를 통해 플러그인 템플릿을 쉽게 생성할 수 있습니다. Plugin Builder 3 사용법과 관련해서는 아래 두 글을 추천드립니다.

 

QGIS Plugin Builder — QGIS Plugin Builder 3.0.x documentation

Concepts Plugin Builder provides you a working template from which you can create your own plugin. The steps to using Plugin Builder are fairly simple: Open the Plugin Builder from within QGIS Fill out the required information for the selected plugin templ

g-sherman.github.io

 

Creating a QGIS Plugin - CUOSGwiki

Disclaimer This tutorial assumes a basic knowledge of GIS environments and Python syntax. Originally authored by a student in 2019, the current version of this tutorial includes revisions made by John Foster in September, 2021. Please see the page history

dges.carleton.ca

 

"플러그인 > 플러그인 관리 및 설치"를 선택한 뒤, "Plugin Builder 3" 플러그인을 설치하시면 됩니다. 설치를 완료한 후에는 "플러그인 > Plugin Builder > Plugin Builder"를 실행하시면 됩니다.

 

Plugin Builder 대화 상자

"GeoQuery for QGIS" 플러그인에 대해 아래와 같이 정보를 입력해 봅니다.

Class name: GeoQueryPlugin
Plugin name: GeoQuery for QGIS
Description: This plugin seamlessly integrates the Vworld Search API to retrieve coordinates and attributes based on keywords, adding them as layers to QGIS.
Module name: geoquery
Version number: 0.1
Minimum QGIS version: 3.0
Author/Company: Byeong-Hyeok Yu
Email address: bhyu@knps.or.kr

 

플러그인에 대한 간단한 설명도 입력합니다.

This plugin uses the Vworld Search API to retrieve x, y coordinates for places and addresses and adds them as layers to QGIS. By enabling real-time coordinate retrieval through keyword input and automatic integration with QGIS, it enhances mapping efficiency.

 

다음은 템플릿 설정입니다.

 

플러그인 템플릿은 "Tool button with dialog"를 선택하겠습니다.

 

아래 설정에 따르면, 플러그인은 메뉴 바의 "Plugins > GeoQuery for QGIS > GeoQuery Tool" 위치에 추가됩니다.

Template: Tool button with dialog
Text for the menu item: GeoQuery Tool
Menu: Plugins

 

다음으로 "Additional components(추가 구성 요소)" 설정이 있습니다. 플러그인의 빌드와 배포에는 Make보다 pb_tool 사용을 강력히 권장합니다.

다음은 "Publication Information(게시 정보)"입니다. 새 플러그인을 게시하기 위해 반드시 작성해야 하는 필드로, 플러그인의 승인과 사용자의 원활한 사용을 지원합니다.

 

끝으로 플러그인 템플릿 파일을 저장할 출력 디렉토리를 선택합니다. 이제 "Generate" 버튼을 클릭합니다.

C:\Users\bhyu\AppData\Roaming\QGIS\QGIS3\profiles\default\python\plugins

해당 디렉터리에 다양한 플러그인 템플릿 파일들이 자동으로 생성된 것을 확인할 수 있습니다! 이후 실습에서는 플러그인의 핵심 로직 구현을 위해 geoquery.py 파일을, 사용자 인터페이스 설계를 위해 geoquery_dialog_base.ui 파일을 수정해 보겠습니다.

 

QGIS를 실행하고, Plugin Manager에서 "GeoQuery for QGIS"를 체크해 줍니다.

 

"메뉴 바 > 플러그인 > GeoQuery for QGIS > GeoQuery Tool"을 실행하면 빈 대화상자가 표시됩니다. 다음 글에서는 Qt Designer로 사용자 인터페이스를 설계해 보겠습니다.