QGIS 기반 공간통계

QGIS 플러그인 만들기

이제 좀 그럴듯한 그림을 만들어 내기는 했으나, QGIS에서 부른 레이어의 컬럼명이 바뀌거나 기준거리를 변경해 보고 싶을 때 코드를 고칠 수 밖에 없는 문제가 있다. 이를 조금 수정하여 GUI를 통하여 필요한 값들을 받을 수 있도록 변경해 보자.

 

이를 위해서는 우선 Plugin Builder라는 QGIS 플러그인을 설치해 주어야 한다.

 

QGIS 메뉴에서 플러그인 - 플러그인 관리 및 설치 메뉴를 선택하여 플러그인 관리자를 띄우자.

 

플러그인 관리자에서 설치되지 않음 항목을 선택하고 검색 부분에 ‘plugin builder’라는 검색어를 입력하면 Plugin Builder를 찾을 수 있다. 이 플러그인을 설치해 주자.

 

플러그인 관리자 창을 닫고 QGIS 메뉴에서 보면 Plugin Builder라는 메뉴가 추가된 것을 확인할 수 있다.

 

플러그인 - Plugin Builder - Plugin Builder 메뉴를 선택하여 Plugin Builder를 실행하자.

 

QGIS Plugin Builder 대화상자에 아래 그림처럼 정보를 채워 넣자.

[확인]을 누르면 저장 위치를 물어보는데 C:\사용\<사용자명>\.qgis2\python\plugins 폴더를 선택하면 된다.

<사용자명>은 로그인한 사용자의 ID나 이름이 되는데 사람마다 다를 것이다.

 

이 때 주의 할 것이 사용자 명이 영문이 아닌 경우 아래와 같은 오류가 발생하고 플러그인이 만들어 지지 않는다는 것이다.

이 때는 영문으로 계정명을 만들어 앞의 과정들을 실행해야 한다.

 

정상적으로 플러그인 템플릿이 생기면 아래 그림과 같은 안내가 나온다.

이 메시지의 2번과 3번 내용이 특히 중요하다. 이 두 과정을 수행하지 않으면 플러그인에 오류가 생겨 정상 실행이 안된다.

 

이 과정들을 싱행하기 위해 바탕화면 혹은 시작메뉴의 OSGeoW Shell을 실행하자.

 

도스창이 뜨면 Plugin Builder Results에 플러그인이 생성된 것으로 나와있던 폴더로 cd 명령을 이용해 이동하자.

위의 결과와 같다면 cd C:\Users\BJ\.qgis2\python\plugins\MoranTest 라 입력하면 된다.

이동 후 Plugin Builder Results의 2번인 ‘Compile the ui using pyuic4’를 해야 하는데, 그 내용만으로는 무엇을 해야할지 알기 어렵다.

 

도스창에서 일단 위 그림처럼 make라는 명령을 내려보자. 위 그림처럼 pyuic4 명령을 찾지 못했다는 오류가 발생하지만 중요한 단서를 보여준다.

 

오류에 나온 pyuic4 -o ui_morantest.py ui_morantest.ui 라는 명령을 그대로 복사해 도스창에 붙여 넣으면 이상하게 정상실행되며 UI가 컴파일 된다.

 

다음은 3번의 리소스파일 컴파일 차례인데 여기서는 위 그림처럼 make 명령으로 잘 컴파일이 된다.

 

이제 실행중이던 QGIS Dessktop을 종료 후 다시 실행해 주자.

플러그인 메뉴에 보면 Moran’s I Statistic 메뉴가 생겨있고 그 아래에 Run Test 메뉴가 생겨있다.

 

Run Test 메뉴를 선택하면 아래 그림처럼 빈 대화상자가 뜨게 된다.

이제 자동으로 생성된 템플릿에 이전에 개발해둔 공간통계 코드를 붙여주기만 하면 된다.

 

댓글

댓글 본문