SlideShare ist ein Scribd-Unternehmen logo
1 von 33
QGIS를 플랫폼으로 한 파이썬 기반
공간통계 구현 사례
장병진(가이아쓰리디), 이경주(한국교통대학교)
GEEPS
 연구/교육용 공간정보 기술 통합플랫폼 개발
연구
 목적: 연구와 교육지원을 목적으로 오픈소스 공간
정보 기술 연구 및 패키지화
 실체: QGIS를 연구/교육 활용목적 확장 연구
 설계: 국토연구원
 개발: 가이아쓰리디, 망고시스템
 2013 – 기초기술 정리
 2014 – 공간통계/공간분석 개발
 2015 – 연구/교육용 컨텐츠 및 패키지 개발
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 2
이경주
 본 연구 공간통계 체계 설계
 한국교통대학교 건설교통대학 도시공학과 교수
 뉴욕주립대학교에서 공간통계로 박사학위
 A Spatial Statistical Approach to Examining
Sprawled Urban Growth Patterns over Time in
The Framework of Geographic Information
System (GIS)
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 3
장병진(BJ Jang)
 본 연구 공간통계 개발
 Gaia3D Open GIS Team Manager
 OSGeo Charter Member
 Open Source GIS Korean Localizer
 Risk Surfer
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 4
공간통계???
통계의 목적
 미지의 결과를 추정
 서울 중소기업의 40세 여자 개발자는 몇 살까
지 살 수 있을까?
 특이한 상황인지 검정
 1990년생 남자로 현재 165Cm라면 작은 키인
가?
 샘플을 이용해 판단
 모평균의 추정
 모표준편차의 추정
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 6
공간현상 특성과 극복
 추계적(推計的, Stochastic)
 확률을 따르지만 정확히 예측 불가
 일반적인 사회현상의 특징
 일반통계적 방법론으로 극복 가능
 자기상관적(Autocorrelation)
 시공간적으로 인접해 있을수록 그 성향 및 속성 유
사할 가능성 높음
 일반통계의 변수 독립성 가정 위배  왜곡 가능성
 거리가 가까울수록 가중치 많이 부여하여 유사성
에 따른 정보손실 반영
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 7
공간통계 사례
 John Snow의 콜
레라 발생 분석
 이전까지는 전파
경로가 분명치 않
았음(공기? 접촉?)
 Snow가 특정 물
펌프 사용자를 중
심으로 수인성 전
염임을 균 발견 없
이 거의 완벽히 설
명
 공간통계와 공중
보건 분야의 시조
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 8
공간정보산업 변화
DB 구축
및 운영
업무용
시스템
웹을 통한
정보 조회
의사결정
지원
•수치지도 구축
•주제도 구축
•영상지도 구축
•KLIS
•UIS
•내비게이션
•Mashup
•Drill Down
•Convergence
•웹 지도
•지도 앱
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 9
개발환경 구성방법
필요 라이브러리
 Python, qgis, PyQt
 PySAL
 Python based Spatial Analysis Library
 NumPy와 SciPy를 기반으로 작성됨
 http://pysal.org
 NumPy
 과학 계산을 위한 기초 파이썬 패키지
 http://numpy.org
 SciPy
 수학, 과학, 통계 연산을 위한 파이썬 패키지
 http://scipy.org
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 11
R vs PySAL
 R
 가장 많이 사용되는 오픈소스 통계 패키지
 다양한 공간통계분석도 제공
 R 고유 스크립트로 개발
 PySAL
 공간분석용 파이썬 패키지
 공간통계가 강함
 파이썬으로 모든 개발 가능
 통일적인 언어체계로 공간통계부터 가시화까지 가
능
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 12
QGIS 설치
 1. QGIS를 다운로드 받아 설치
 http://qgis.org
 2. QGIS가 사용중인 파이썬 버전 확인
 OSGeo4W Shell을 관리자 권한으로 실행
 python 명령  버전확인
 3. OSGeo4W Setup 실행
 OSGeo4W Shell을 관리자 권한으로 실행 안 하면
여기서 오류
 Advanced Install 모드
 설치된 라이브러리들과 버전 확인
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 13
NumPy 설치
 NumPy Version > 1.8.0
 PySAL이 필요로 하는 버전보다 낮으면 업데이트
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 14
SciPy 설치
 윈도우에서는 파이썬 패키지관리에서 설치 안됨
 UC IRVINE에서 윈도우용 설치본 만들어 둠
 http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy
 Registry 수정 필요
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 15
PySAL 설치
 pip(PyPi, Python Package Index)로 설치
 SetupTools 설치
 pip 설치
 PySAL 설치
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 16
PyCharm 설치
 PyCharm 이란?
 파이썬 전용 통합개발환경
 Eclipse, Visual Studio와 역할 유사
 다운로드 및 설치
 http://www.jetbrains.com/pycharm/download/
 QGIS용 라이브러리도 사용하려면
 QGIS가 사용하는 파이썬의 경로와 변수를 배치파일을
통해 설정후 CyCharm 실행
 이를 배치파일로 만들어 간단히 실행
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 17
개발 진행 과정
 단위 로직 작성
 QGIS 파이썬 콘솔에서 테스트
 객체에 담긴 값을 확인해 검증
 모듈 로직 작성
 한 단위(통계로직 하나)를 하나의 파일로 개발
 PyCharm에서 인텔리센스의 도움을 받아 개발
 QGIS 파이썬 콘솔에서 전체 동작 확인
 플러그인 UI에 통합
 모듈 로직을 리팩토링 하여 UI와 결합
 사용자 입력값에 대한 검증 추가
 플러그인을 로드하여 전체 동작 검증
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 18
상세한 과정 보기
 생활코딩 QGIS 기반 공간통계 강의
 http://opentutorials.org/module/982
 현재 설치 및 기초부분까지 강의 진행
 GEEPS 프로젝트 홈페이지
 http://geeps.krihs.re.kr/study/spstat
 컨텐츠 채운 후 오픈 예정
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 19
공간통계 개발결과
Moran’s I Statistic
 자료의 공간자기상관의 전반적 경향을 추정
 전역적 𝐼로 전체 경향판단, 지역적 𝐼𝑖로 각 지역 판단
 정규화 하여 𝑍 값으로 변환후 유의성 판단
 수행과정
1. 자료 정제(필요 데이터 추출)
2. 기준거리에 따라 공간가중치(Weight) 계산
3. pysal.esda.moran 으로 전역통계량 계산
4. pysal.esda.moran_local로 지역통계량 계산
5. 기준거리를 증가시켜 2~4 과정 반복
6. 표 및 그래프로 표출
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 21
Moran’s I Statistic
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 22
Getis-Ord’s G Statistic
 ‘높은’ 값을 가지는 지역들이 군집하는 경향을 지수화
 전역적 𝐺로 전체 경향판단, 지역적 𝐺𝑖로 각 지역 판단
 정규화 하여 𝑍 값으로 변환후 유의성 판단
 수행과정
1. 자료 정제(필요 데이터 추출)
2. 기준거리에 따라 공간가중치(Weight) 계산 (0 혹은 1)
3. pysal.esda.getisord 으로 전역통계량 계산
4. pysal.esda.getisord_local로 지역통계량 계산
5. 기준거리를 증가시켜 2~4 과정 반복
6. 표 및 그래프로 표출
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 23
Getis-Ord’s G Statistic
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 24
Nearest Neighbor
Statistic
 공간사건의 발생이 무작위 분포와 얼마나 차이 나는지 지
수화
 보조적으로 최근린점을 연결하여 국지적 분포 시각화
 수행과정
1. i 번째 점의 점의 최근린점 탐색
2. 찾은 최근린점을 연결하고 최근린거리합에 합산
3. 1~2를 모든 점에 대해 수행
4. 최근린거리합을 바탕으로 최근린 통계량 계산
분석대상지면적포인트수 


A,N
r
rr
Z
A
N
ρ
ρN
0.26
r
ρ
r
r
r
R
var
expobs
Rvarexp
exp
obs
,,,
2
1
,
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 25
Nearest Neighbor
Statistic
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 26
K-function
 지리적 사건들의 공간적 군집을 지수화
 각 사건에서 반경(ℎ)내의 사건수의 합을 밀도로 나누어 계산
 수행과정
1. h를 최소거리로 설정하고 시작
2. 모든 점을 돌며 반경 h내의 점 수 파악하여 합산후 밀도 산정
3. 원 데이터와 동일한 무작위 점을 찍어 2의 방법으로 밀도 계산하는 몬
테카를로 시뮬레이션 n(999)번 실시
4. 원 데이터 밀도가 시뮬레이션 밀도 중 몇번째에 해당하는지로 확률값
평가
5. h를 최대거리까지 점차 증가시키며 2~3의 과정 반복
6. 모든 결과를 표로 그려 공간적 군집도가 의미 있는 거리 파악
 2
2
hπ
λ
hλπ
E 
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 27
K-function
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 28
Knox Statistic
 시공간 상에서 발생하는 점들의 군집도 추정
 수행과정
1. 원 데이터의 모든 점을 돌며 기준 시간/공간 거리내의 점 수 파
악하여 합산
2. 원 데이터에서 무작위로 시간을 섞어 1의 시공간내 점 수 파악
하는 몬테카를로 시뮬레이션 n(999)번 수행
3. 원 데이터의 기준 시공간내 점 수가 전체 시뮬레이션에서 몇 번
째인지 파악하여 확률값 산정



 




 

 
otherwise
dttif
T
otherwise
dxxif
S
TS
STN
tji
ij
sji
ij
n
i
n
j
ijij
,0
,1
,
,0
,1
,
2
)( 1 1
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 29
Knox Statistic
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 30
Spatial Scan Statistic
 특정한 사건이 많이 발생하는 공간적인 범위 판단
 수행과정
1. 모든 지역에 대해 그 지역의 사건수와 그 외 지역 사건수가 얼마나 다른
지 나타내는 우도비(LR) 계산
2. 가장 우도비가 높은 지역부터 인근 지역순으로 합쳐가며 우도비가 가
장 높게 합쳐지는 지역을 파악
3. 각 지역의 인구수에 비례되도록 무작위로 사건을 만들어 n(999)번 몬
테카를로 시뮬레이션
4. 원 데이터의 우도비가 시뮬레이션 중 몇 번째에 해당하는지 판단하여
확률값 산정
5. 나머지 지역중 우도비가 높은 2, 3번째 군집 파악
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 31
Spatial Scan Statistic
QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 32
감사합니다!!!

Weitere ähnliche Inhalte

Was ist angesagt?

공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습BJ Jang
 
QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)Byeong-Hyeok Yu
 
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판BJ Jang
 
전자해도세미나
전자해도세미나전자해도세미나
전자해도세미나Jiyoon Kim
 
Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028BJ Jang
 
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발MinPa Lee
 
PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS MinPa Lee
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화MinPa Lee
 
공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정JungHwan Yun
 
전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)Kyu-sung Choi
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 SANGHEE SHIN
 
오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeoSANGHEE SHIN
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초 slhead1
 
오픈소스 GIS 교육 - PostGIS
오픈소스 GIS 교육 - PostGIS오픈소스 GIS 교육 - PostGIS
오픈소스 GIS 교육 - PostGISJungHwan Yun
 
LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료JungHwan Yun
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현MinPa Lee
 
공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정BJ Jang
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례BJ Jang
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석MinPa Lee
 

Was ist angesagt? (20)

공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습공간SQL을 이용한 공간자료분석 기초실습
공간SQL을 이용한 공간자료분석 기초실습
 
QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)QGIS 실습 (총 7차시)
QGIS 실습 (총 7차시)
 
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
Open Source GIS 기초교육 4일차 - GeoServer 기초 2014년 7월판
 
GeoServer 기초
GeoServer 기초GeoServer 기초
GeoServer 기초
 
전자해도세미나
전자해도세미나전자해도세미나
전자해도세미나
 
Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028Geo server 성능향상을 위한 튜닝 기법 20111028
Geo server 성능향상을 위한 튜닝 기법 20111028
 
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
Java 기반의 오픈 소스 GIS를 지원하는 국내 공간 DBMS 드라이버 개발
 
PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS PostGIS - National Education Center for GIS: Open Source GIS
PostGIS - National Education Center for GIS: Open Source GIS
 
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화오픈소스GIS를 활용한 서버기반 공간분석과 시각화
오픈소스GIS를 활용한 서버기반 공간분석과 시각화
 
공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정공간정보거점대학 PostGIS 고급과정
공간정보거점대학 PostGIS 고급과정
 
전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)전자해도 표준과 뷰어 (최규성)
전자해도 표준과 뷰어 (최규성)
 
QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현 QGIS 고급 및 PyQGIS - 김기웅, 임영현
QGIS 고급 및 PyQGIS - 김기웅, 임영현
 
오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo오픈 소스 GIS와 OSGeo
오픈 소스 GIS와 OSGeo
 
QGIS 기초
QGIS 기초 QGIS 기초
QGIS 기초
 
오픈소스 GIS 교육 - PostGIS
오픈소스 GIS 교육 - PostGIS오픈소스 GIS 교육 - PostGIS
오픈소스 GIS 교육 - PostGIS
 
LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료LX 공간정보아카데미 PostGIS 강의자료
LX 공간정보아카데미 PostGIS 강의자료
 
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
GeoTools와 GeoServer를 이용한 KOPSS Open API의 구현
 
공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정공간정보거점대학 1.geo server_고급과정
공간정보거점대학 1.geo server_고급과정
 
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
[Foss4 g2013 korea]postgis와 geoserver를 이용한 대용량 공간데이터 기반 일기도 서비스 구축 사례
 
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
[QGIS] 수치지도를 이용한 DEM 생성과 지형분석
 

Andere mochten auch

공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반MinPa Lee
 
PyQGIS 개발자 쿡북
PyQGIS 개발자 쿡북PyQGIS 개발자 쿡북
PyQGIS 개발자 쿡북BJ Jang
 
Spasial temporal dinamika dan risiko zonasi demam berdarah
Spasial temporal dinamika dan risiko zonasi demam berdarahSpasial temporal dinamika dan risiko zonasi demam berdarah
Spasial temporal dinamika dan risiko zonasi demam berdarahImam Bachtiar
 
PMI를 활용한 twitter 데이터에서의 이슈 키워드 추출
PMI를 활용한 twitter 데이터에서의 이슈 키워드 추출PMI를 활용한 twitter 데이터에서의 이슈 키워드 추출
PMI를 활용한 twitter 데이터에서의 이슈 키워드 추출Jo Hyun Je
 
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServerMinPa Lee
 
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발MinPa Lee
 
Geoestadística con R
Geoestadística con RGeoestadística con R
Geoestadística con RJorge Sanz
 

Andere mochten auch (7)

공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
공간정보아카데미 - 오픈소스GIS 분석가과정 - QGIS 공간분석일반
 
PyQGIS 개발자 쿡북
PyQGIS 개발자 쿡북PyQGIS 개발자 쿡북
PyQGIS 개발자 쿡북
 
Spasial temporal dinamika dan risiko zonasi demam berdarah
Spasial temporal dinamika dan risiko zonasi demam berdarahSpasial temporal dinamika dan risiko zonasi demam berdarah
Spasial temporal dinamika dan risiko zonasi demam berdarah
 
PMI를 활용한 twitter 데이터에서의 이슈 키워드 추출
PMI를 활용한 twitter 데이터에서의 이슈 키워드 추출PMI를 활용한 twitter 데이터에서의 이슈 키워드 추출
PMI를 활용한 twitter 데이터에서의 이슈 키워드 추출
 
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer[FOSS4G Korea 2016] Workshop - Advanced GeoServer
[FOSS4G Korea 2016] Workshop - Advanced GeoServer
 
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
[제86회 Open Technet]OGC 표준 기반의 공간자료 분석과 시각화 기술 개발
 
Geoestadística con R
Geoestadística con RGeoestadística con R
Geoestadística con R
 

Mehr von BJ Jang

Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료BJ Jang
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료BJ Jang
 
2017년 나의 계획
2017년 나의 계획2017년 나의 계획
2017년 나의 계획BJ Jang
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습BJ Jang
 
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리BJ Jang
 
QGIS 소개 및 ArcMap과의 비교
QGIS 소개 및 ArcMap과의 비교QGIS 소개 및 ArcMap과의 비교
QGIS 소개 및 ArcMap과의 비교BJ Jang
 
Open Source based GIS devlopment cases by Gaia3D_20150417
Open Source based GIS devlopment cases by Gaia3D_20150417Open Source based GIS devlopment cases by Gaia3D_20150417
Open Source based GIS devlopment cases by Gaia3D_20150417BJ Jang
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
Managing Multi-DBMS on a Single UI , a Web-based Spatial DB Manager-FOSS4G A...
Managing Multi-DBMS on a Single UI, a Web-based Spatial DB Manager-FOSS4G A...Managing Multi-DBMS on a Single UI, a Web-based Spatial DB Manager-FOSS4G A...
Managing Multi-DBMS on a Single UI , a Web-based Spatial DB Manager-FOSS4G A...BJ Jang
 
올챙이 국제스타 만들기 20141023
올챙이 국제스타 만들기 20141023올챙이 국제스타 만들기 20141023
올챙이 국제스타 만들기 20141023BJ Jang
 
Github를 이용한 협동개발 20141001
Github를 이용한 협동개발 20141001Github를 이용한 협동개발 20141001
Github를 이용한 협동개발 20141001BJ Jang
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...BJ Jang
 
[Foss4 g2013]the architecture of mobile traffic map service final
[Foss4 g2013]the architecture of mobile traffic map service final[Foss4 g2013]the architecture of mobile traffic map service final
[Foss4 g2013]the architecture of mobile traffic map service finalBJ Jang
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환BJ Jang
 

Mehr von BJ Jang (14)

Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
Mago3D Barcelona ICGC(카탈루니아 지형 및 지질연구소) 발표자료
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료
 
2017년 나의 계획
2017년 나의 계획2017년 나의 계획
2017년 나의 계획
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
[FOSS4G Korea 2016] GeoHash를 이용한 지형도 변화탐지와 시계열 관리
 
QGIS 소개 및 ArcMap과의 비교
QGIS 소개 및 ArcMap과의 비교QGIS 소개 및 ArcMap과의 비교
QGIS 소개 및 ArcMap과의 비교
 
Open Source based GIS devlopment cases by Gaia3D_20150417
Open Source based GIS devlopment cases by Gaia3D_20150417Open Source based GIS devlopment cases by Gaia3D_20150417
Open Source based GIS devlopment cases by Gaia3D_20150417
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
Managing Multi-DBMS on a Single UI , a Web-based Spatial DB Manager-FOSS4G A...
Managing Multi-DBMS on a Single UI, a Web-based Spatial DB Manager-FOSS4G A...Managing Multi-DBMS on a Single UI, a Web-based Spatial DB Manager-FOSS4G A...
Managing Multi-DBMS on a Single UI , a Web-based Spatial DB Manager-FOSS4G A...
 
올챙이 국제스타 만들기 20141023
올챙이 국제스타 만들기 20141023올챙이 국제스타 만들기 20141023
올챙이 국제스타 만들기 20141023
 
Github를 이용한 협동개발 20141001
Github를 이용한 협동개발 20141001Github를 이용한 협동개발 20141001
Github를 이용한 협동개발 20141001
 
Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...Big size meteorological data processing and mobile displaying system using ...
Big size meteorological data processing and mobile displaying system using ...
 
[Foss4 g2013]the architecture of mobile traffic map service final
[Foss4 g2013]the architecture of mobile traffic map service final[Foss4 g2013]the architecture of mobile traffic map service final
[Foss4 g2013]the architecture of mobile traffic map service final
 
Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환Proj4를 이용한 좌표계 변환
Proj4를 이용한 좌표계 변환
 

[Foss4 g2014 korea] qgis를 플랫폼으로 한 파이썬기반 공간통계 구현 사례

  • 1. QGIS를 플랫폼으로 한 파이썬 기반 공간통계 구현 사례 장병진(가이아쓰리디), 이경주(한국교통대학교)
  • 2. GEEPS  연구/교육용 공간정보 기술 통합플랫폼 개발 연구  목적: 연구와 교육지원을 목적으로 오픈소스 공간 정보 기술 연구 및 패키지화  실체: QGIS를 연구/교육 활용목적 확장 연구  설계: 국토연구원  개발: 가이아쓰리디, 망고시스템  2013 – 기초기술 정리  2014 – 공간통계/공간분석 개발  2015 – 연구/교육용 컨텐츠 및 패키지 개발 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 2
  • 3. 이경주  본 연구 공간통계 체계 설계  한국교통대학교 건설교통대학 도시공학과 교수  뉴욕주립대학교에서 공간통계로 박사학위  A Spatial Statistical Approach to Examining Sprawled Urban Growth Patterns over Time in The Framework of Geographic Information System (GIS) QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 3
  • 4. 장병진(BJ Jang)  본 연구 공간통계 개발  Gaia3D Open GIS Team Manager  OSGeo Charter Member  Open Source GIS Korean Localizer  Risk Surfer QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 4
  • 6. 통계의 목적  미지의 결과를 추정  서울 중소기업의 40세 여자 개발자는 몇 살까 지 살 수 있을까?  특이한 상황인지 검정  1990년생 남자로 현재 165Cm라면 작은 키인 가?  샘플을 이용해 판단  모평균의 추정  모표준편차의 추정 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 6
  • 7. 공간현상 특성과 극복  추계적(推計的, Stochastic)  확률을 따르지만 정확히 예측 불가  일반적인 사회현상의 특징  일반통계적 방법론으로 극복 가능  자기상관적(Autocorrelation)  시공간적으로 인접해 있을수록 그 성향 및 속성 유 사할 가능성 높음  일반통계의 변수 독립성 가정 위배  왜곡 가능성  거리가 가까울수록 가중치 많이 부여하여 유사성 에 따른 정보손실 반영 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 7
  • 8. 공간통계 사례  John Snow의 콜 레라 발생 분석  이전까지는 전파 경로가 분명치 않 았음(공기? 접촉?)  Snow가 특정 물 펌프 사용자를 중 심으로 수인성 전 염임을 균 발견 없 이 거의 완벽히 설 명  공간통계와 공중 보건 분야의 시조 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 8
  • 9. 공간정보산업 변화 DB 구축 및 운영 업무용 시스템 웹을 통한 정보 조회 의사결정 지원 •수치지도 구축 •주제도 구축 •영상지도 구축 •KLIS •UIS •내비게이션 •Mashup •Drill Down •Convergence •웹 지도 •지도 앱 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 9
  • 11. 필요 라이브러리  Python, qgis, PyQt  PySAL  Python based Spatial Analysis Library  NumPy와 SciPy를 기반으로 작성됨  http://pysal.org  NumPy  과학 계산을 위한 기초 파이썬 패키지  http://numpy.org  SciPy  수학, 과학, 통계 연산을 위한 파이썬 패키지  http://scipy.org QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 11
  • 12. R vs PySAL  R  가장 많이 사용되는 오픈소스 통계 패키지  다양한 공간통계분석도 제공  R 고유 스크립트로 개발  PySAL  공간분석용 파이썬 패키지  공간통계가 강함  파이썬으로 모든 개발 가능  통일적인 언어체계로 공간통계부터 가시화까지 가 능 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 12
  • 13. QGIS 설치  1. QGIS를 다운로드 받아 설치  http://qgis.org  2. QGIS가 사용중인 파이썬 버전 확인  OSGeo4W Shell을 관리자 권한으로 실행  python 명령  버전확인  3. OSGeo4W Setup 실행  OSGeo4W Shell을 관리자 권한으로 실행 안 하면 여기서 오류  Advanced Install 모드  설치된 라이브러리들과 버전 확인 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 13
  • 14. NumPy 설치  NumPy Version > 1.8.0  PySAL이 필요로 하는 버전보다 낮으면 업데이트 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 14
  • 15. SciPy 설치  윈도우에서는 파이썬 패키지관리에서 설치 안됨  UC IRVINE에서 윈도우용 설치본 만들어 둠  http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy  Registry 수정 필요 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 15
  • 16. PySAL 설치  pip(PyPi, Python Package Index)로 설치  SetupTools 설치  pip 설치  PySAL 설치 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 16
  • 17. PyCharm 설치  PyCharm 이란?  파이썬 전용 통합개발환경  Eclipse, Visual Studio와 역할 유사  다운로드 및 설치  http://www.jetbrains.com/pycharm/download/  QGIS용 라이브러리도 사용하려면  QGIS가 사용하는 파이썬의 경로와 변수를 배치파일을 통해 설정후 CyCharm 실행  이를 배치파일로 만들어 간단히 실행 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 17
  • 18. 개발 진행 과정  단위 로직 작성  QGIS 파이썬 콘솔에서 테스트  객체에 담긴 값을 확인해 검증  모듈 로직 작성  한 단위(통계로직 하나)를 하나의 파일로 개발  PyCharm에서 인텔리센스의 도움을 받아 개발  QGIS 파이썬 콘솔에서 전체 동작 확인  플러그인 UI에 통합  모듈 로직을 리팩토링 하여 UI와 결합  사용자 입력값에 대한 검증 추가  플러그인을 로드하여 전체 동작 검증 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 18
  • 19. 상세한 과정 보기  생활코딩 QGIS 기반 공간통계 강의  http://opentutorials.org/module/982  현재 설치 및 기초부분까지 강의 진행  GEEPS 프로젝트 홈페이지  http://geeps.krihs.re.kr/study/spstat  컨텐츠 채운 후 오픈 예정 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 19
  • 21. Moran’s I Statistic  자료의 공간자기상관의 전반적 경향을 추정  전역적 𝐼로 전체 경향판단, 지역적 𝐼𝑖로 각 지역 판단  정규화 하여 𝑍 값으로 변환후 유의성 판단  수행과정 1. 자료 정제(필요 데이터 추출) 2. 기준거리에 따라 공간가중치(Weight) 계산 3. pysal.esda.moran 으로 전역통계량 계산 4. pysal.esda.moran_local로 지역통계량 계산 5. 기준거리를 증가시켜 2~4 과정 반복 6. 표 및 그래프로 표출 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 21
  • 22. Moran’s I Statistic QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 22
  • 23. Getis-Ord’s G Statistic  ‘높은’ 값을 가지는 지역들이 군집하는 경향을 지수화  전역적 𝐺로 전체 경향판단, 지역적 𝐺𝑖로 각 지역 판단  정규화 하여 𝑍 값으로 변환후 유의성 판단  수행과정 1. 자료 정제(필요 데이터 추출) 2. 기준거리에 따라 공간가중치(Weight) 계산 (0 혹은 1) 3. pysal.esda.getisord 으로 전역통계량 계산 4. pysal.esda.getisord_local로 지역통계량 계산 5. 기준거리를 증가시켜 2~4 과정 반복 6. 표 및 그래프로 표출 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 23
  • 24. Getis-Ord’s G Statistic QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 24
  • 25. Nearest Neighbor Statistic  공간사건의 발생이 무작위 분포와 얼마나 차이 나는지 지 수화  보조적으로 최근린점을 연결하여 국지적 분포 시각화  수행과정 1. i 번째 점의 점의 최근린점 탐색 2. 찾은 최근린점을 연결하고 최근린거리합에 합산 3. 1~2를 모든 점에 대해 수행 4. 최근린거리합을 바탕으로 최근린 통계량 계산 분석대상지면적포인트수    A,N r rr Z A N ρ ρN 0.26 r ρ r r r R var expobs Rvarexp exp obs ,,, 2 1 , QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 25
  • 26. Nearest Neighbor Statistic QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 26
  • 27. K-function  지리적 사건들의 공간적 군집을 지수화  각 사건에서 반경(ℎ)내의 사건수의 합을 밀도로 나누어 계산  수행과정 1. h를 최소거리로 설정하고 시작 2. 모든 점을 돌며 반경 h내의 점 수 파악하여 합산후 밀도 산정 3. 원 데이터와 동일한 무작위 점을 찍어 2의 방법으로 밀도 계산하는 몬 테카를로 시뮬레이션 n(999)번 실시 4. 원 데이터 밀도가 시뮬레이션 밀도 중 몇번째에 해당하는지로 확률값 평가 5. h를 최대거리까지 점차 증가시키며 2~3의 과정 반복 6. 모든 결과를 표로 그려 공간적 군집도가 의미 있는 거리 파악  2 2 hπ λ hλπ E  QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 27
  • 28. K-function QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 28
  • 29. Knox Statistic  시공간 상에서 발생하는 점들의 군집도 추정  수행과정 1. 원 데이터의 모든 점을 돌며 기준 시간/공간 거리내의 점 수 파 악하여 합산 2. 원 데이터에서 무작위로 시간을 섞어 1의 시공간내 점 수 파악 하는 몬테카를로 시뮬레이션 n(999)번 수행 3. 원 데이터의 기준 시공간내 점 수가 전체 시뮬레이션에서 몇 번 째인지 파악하여 확률값 산정               otherwise dttif T otherwise dxxif S TS STN tji ij sji ij n i n j ijij ,0 ,1 , ,0 ,1 , 2 )( 1 1 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 29
  • 30. Knox Statistic QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 30
  • 31. Spatial Scan Statistic  특정한 사건이 많이 발생하는 공간적인 범위 판단  수행과정 1. 모든 지역에 대해 그 지역의 사건수와 그 외 지역 사건수가 얼마나 다른 지 나타내는 우도비(LR) 계산 2. 가장 우도비가 높은 지역부터 인근 지역순으로 합쳐가며 우도비가 가 장 높게 합쳐지는 지역을 파악 3. 각 지역의 인구수에 비례되도록 무작위로 사건을 만들어 n(999)번 몬 테카를로 시뮬레이션 4. 원 데이터의 우도비가 시뮬레이션 중 몇 번째에 해당하는지 판단하여 확률값 산정 5. 나머지 지역중 우도비가 높은 2, 3번째 군집 파악 QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 31
  • 32. Spatial Scan Statistic QGIS를 플랫폼으로 한 파이썬기반 공간통계 구현 사례 32