QGIS 기반 공간통계

QGIS Python 콘솔에서 실행하기

QGIS에서 파이썬으로 만든 코드를 실행하는 가장 기본적인 방법은 Python 콘솔을 이용하는 것이다.

테스트를 위해 앞에서 설치한 QGIS Desktop 프로그램을 실행해 주자.

플러그인 메뉴에서 Python 콘솔을 선택하면 QGIS 창의 하단에 파이썬 콘솔이 나타난다.

QGIS의 파이썬 콘솔에서는 일반적인 파이썬 콘솔에서 하는 모든 명령이 가능하다. 더욱이 일반 파이썬 콘솔에서는 불가능한 QGIS 내부 객체 즉 레이어나 도형객체 들과의 정보교환 및 상호작용이 가능하다.

 

여기에 전 챕터에서 해 본 PySAL의 Moran’s I 샘플을 실행해 보자.

 

아래의 소스를 복사해 파이썬 콘솔 하단의 >>> 표시가 있는 창에 붙여 넣으면 된다.

import pysal

import numpy as np

from pysal import Moran

 

w = pysal.open(pysal.examples.get_path("stl.gal")).read()

f = pysal.open(pysal.examples.get_path("stl_hom.txt"))

y = np.array(f.by_col['HR8893'])

 

mi = Moran(y,  w)

"%7.5f" % mi.I

"%7.5f" % mi.EI

 

아래 그림처럼 파이썬 코드가 실행되어 I 값과 EI 값이 출력된 것을 확인할 수 있다.

간단히 다시 코드를 되짚어 보자면, import 명령을 이용해 필요한 라이브러리들을 쓸 수 있게 하고, 지역간 상관관계를 기록한 stl.sal 파일을 Weight로 만들어 w 라는 변수에 기록하고, 각 지역의 값이 든 stl_hom.txt 파일을 읽어 그 중 HR8893 이라는 컬럼을 읽어 y 라는 변수에 기록하였다.

이렇게 wight와 변수 세트 y를 만든 것을 mi = Moran(y, w) 라는 코드로 PySAL의 Moran 라이브러리로 분석하여 결과를 mi 라는 변수에 저장한 것이다.

이 중 최종 결과인 I 지수가 mi.I에 잘 저장되었는지 결과를 보고, 공간자기상관관계의 판단 기준이 되는 Moran’s I 지수의 기대값 mi.EI를 확인해 보는 것으로 코드가 끝난다.

 

이렇게 파이썬 콘솔에 직접 코드를 입력하는 방법은 mi.z 와 같이 입력하면 각 Moran’s I 지수 산출을 위해 사용한 중간값인 각 지역별 z 값을 알 수 있는 등 코드를 위해 사용할 수 있는 여러가지 요소를 직접 확인하고 마음것 테스트 해 볼 수 있는 장점이 있다.


하지만, 큰 프로그램을 체계적으로 만들기 위해서는 파이썬 콘솔에서만은 불가능하다. 파일에 코드를 기록해 놓고 주석도 달아가며 지속적으로 고쳐나가는 과정이 필요하다.

댓글

댓글 본문
작성자
비밀번호
버전 관리
BJ Jang
현재 버전
선택 버전
graphittie 자세히 보기