2024/12/08 9

QGIS 실전 플러그인 개발 - (6) 리소스 파일 컴파일하기

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 여섯 번째로, "리소스 파일 컴파일하기"에 대해 다룹니다. 이 과정에서 GeoQuery Tool의 아이콘을 변경해 봅니다.리소스 파일 컴파일플러그인 템플릿 폴더에 icon.png 파일이 포함되어 있으므로, 이를 새 이미지로 교체하면 플러그인 아이콘이 바로 변경될 것으로 기대할 수 있습니다. 그러나 실제로는 resources.qrc 파일이 컴파일되어 생성된 resource.py 파일에 아이콘 이미지가 하드코딩되어 있기 때문에, 현재 설정에서는 아이콘을 변경하려면 해당 파일을 다시 컴파일해야 합니다.OSGeo4W Shellicon.png를 변경한 상태에서 OSGeo4W Shell을 실행하고 아래와 같이 명령 줄을 실행합니다.cd C:\Users..

GIS 2024.12.08

QGIS 실전 플러그인 개발 - (5) 플러그인의 핵심 로직 구현

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 다섯 번째로, "플러그인의 핵심 로직 구현"에 대해 다룹니다. 이번에는 geoquery.py 파일을 변경하여 플러그인의 핵심 로직을 구현합니다.핵심 로직 구현두 번째 글에서 작성한 Python 코드를 적용하되, 일부 코드만 변경해주시면 되겠습니다. QGIS 실전 플러그인 개발 - (2) Vworld API를 활용한 Python 코드 작성안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 두 번째로, "Vworld API를 활용한 Python 코드 작성"에 대해 다룹니다.라이브러리 호출먼저 HTTP 요청, 데이터 파싱, QGIS 작업, 그리고 Pyfoss4g.tistory.comimport requestsimport jsonfro..

GIS 2024.12.08

QGIS 실전 플러그인 개발 - (4) Qt Designer로 사용자 인터페이스 설계

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 네 번째로, "Qt Designer로 사용자 인터페이스 설계"에 대해 다룹니다.Qt DesignerQt Designer는 Qt 위젯을 기반으로 사용자 인터페이스를 생성하는 애플리케이션입니다. QGIS를 설치하면 Qt Designer도 함께 설치되므로, 별도의 추가 설치 없이 바로 실행할 수 있습니다. Qt Designer를 실행하고 "geoquery_dialog_base.ui" 파일을 열어보겠습니다.  다음과 같이 "geoquery_dialog_base.ui" 파일을 열었습니다. 아래와 같은 순서로 사용자 인터페이스를 설계해 봅니다."Display Widgets > Label"을 추가하고 "text: Keyword:"를 입력합니다."Inpu..

GIS 2024.12.08

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

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 세 번째로, "Plugin Builder 3로 플러그인 템플릿 생성"에 대해 다룹니다.Plugin Builder 3 플러그인Plugin Builder 3 플러그인은 여러 화면으로 구성된 "마법사(wizard)" 형식의 인터페이스를 제공하며, 이를 통해 플러그인 템플릿을 쉽게 생성할 수 있습니다. Plugin Builder 3 사용법과 관련해서는 아래 두 글을 추천드립니다. QGIS Plugin Builder — QGIS Plugin Builder 3.0.x documentationConcepts Plugin Builder provides you a working template from which you can create your own ..

GIS 2024.12.08

QGIS 실전 플러그인 개발 - (2) Vworld API를 활용한 Python 코드 작성

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 두 번째로, "Vworld API를 활용한 Python 코드 작성"에 대해 다룹니다.라이브러리 호출먼저 HTTP 요청, 데이터 파싱, QGIS 작업, 그리고 PyQt를 활용한 GUI 및 데이터 유형 관리를 위해 필요한 라이브러리를 호출합니다.import requestsimport jsonfrom qgis.core import *from qgis.utils import ifacefrom PyQt5.QtCore import QVariantQGIS 맵 캔버스의 BBox 반환 함수다음으로, QGIS 맵 캔버스의 범위(BBox)를 반환하는 함수를 정의합니다. 이 BBox는 응답 결과의 좌표계를 기준으로 적용되므로, 먼저 사용할 좌표계를 정의해야 합니..

GIS 2024.12.08

QGIS 실전 플러그인 개발 - (1) Vworld 검색 API 인증키 발급

안녕하세요? 이번 글은 "QGIS 실전 플러그인 개발" 시리즈의 첫 번째로, "Vworld 검색 API 인증키 발급"에 대해 다룹니다. 학습에 앞서, QGIS 플러그인의 표준 구조를 이해할 수 있는 "첫 번째 QGIS 플러그인 만들기" 시리즈를 먼저 읽어보시길 추천드립니다. "첫 번째 QGIS 플러그인 만들기" 시리즈 글 소개안녕하세요? "첫 번째 QGIS 플러그인 만들기" 시리즈 글을 작성했습니다. 이 시리즈는 Spatial Thoughts의 우자발 간디(Ujaval Gandhi) 님의 "Building Your First QGIS Plugin (Full Workshop)" 내용을 재정리foss4g.tistory.comQGIS 실전 플러그인 개발지금부터 QGIS 플러그인을 개발해 보겠습니다. 이번 플러..

GIS 2024.12.08

"첫 번째 QGIS 플러그인 만들기" 시리즈 글 소개

안녕하세요? "첫 번째 QGIS 플러그인 만들기" 시리즈 글을 작성했습니다. 이 시리즈는 Spatial Thoughts의 우자발 간디(Ujaval Gandhi) 님의 "Building Your First QGIS Plugin (Full Workshop)" 내용을 재정리한 것입니다. 유익한 콘텐츠를 공유해 주신 우자발 간디 님께 감사드립니다. Building Your First QGIS Plugin (Full workshop)Get a Text Editor Any kind of software development requires a good text editor. If you already have a favorite text editor or an IDE (Integrated Development En..

GIS 2024.12.08