이번 글은 QGIS 플러그인을 통해 가시권 분석(viewshed analysis)을 학습해 보겠습니다.
가시권 분석은 고도 래스터(elevation raster) 위에 주어진 관측점(observer point)에서 보이는 표면(visible surface)을 계산합니다.
일단, 아래와 같이 상단 메뉴 '플러그인 > 플러그인 관리 및 설치'를 클릭하고,
Viewshed Analysis 플러그인을 검색, 설치합니다.
이제 '플러그인 > Viewshed Analysis > Viewshed analysis'를 실행하면,
아래와 같이 Advanced viewshed analysis 창이 실행됩니다. 이제 기능들을 살펴볼까요?!
먼저, 가시권 분석을 위해서는 아래 요소들이 필수적입니다.
1. Elevation raster: 고도 래스터
2. Observation points: 관측점
3. Output file: 가시권 분석 결과 파일
자, 그러면 고도 래스터와 관측점 데이터를 준비해 볼까요?!
고도 래스터는 서울시 전체를 대상으로 하며, AW3D30 데이터를 사용하겠습니다.
서울시 행정구역으로 잘라낸 SEOUL_AW3D30.tif 파일을 아래와 같이 QGIS에 추가합니다.
전세계 30m급 수치표면모델(DSM) 'AW3D30' 다운로드 소개 | http://blog.daum.net/geoscience/1077
대한민국 최신 행정구역(SHP) 다운로드 | http://www.gisdeveloper.co.kr/?p=2332
이제 관측점이 필요한데요, 여기서는 '서울시 고도지구 위치정보'(SEOUL_OP.shp)를 이용하도록 하겠습니다.
Spreadsheet Layers 플러그인을 이용하여 엑셀을 쉐이프파일로 변환합니다. 이 때 SEOUL_OP.shp의 속성 필드로 ID를 정의하였습니다.
QGIS에서 엑셀 파일을 쉐이프 파일로 변환하기 | http://blog.daum.net/geoscience/1046
고도 래스터와 관측점이 준비되었습니다. 이제 플러그인을 실행해볼까요?!
Elevation raster, Observation points을 각각 지정하고 Output file은 SEOUL_OP_VA1로 명명해 보겠습니다.
먼저, Output을 Binary viewshed로 선택한 후 결과를 확인해 보겠습니다.
아래와 같이 ID를 기준으로 각 점에 대하여 단일 가시권 래스터가 다수 생성되었습니다.
이번에는 Options에서 'Cumulative(누적)'을 체크하고 실행해 보겠습니다(SEOUL_OP_VA_C).
Options에서 Cumulative(누적)을 체크하면, 단일 래스터에 전체 가시권의 합계가 계산됩니다.
이번에는 관측점을 하나만 설정(SEOUL_OSP.shp)하고, Output을 유형별로 실행해 보겠습니다.
Binary viewshed(이진 가시권): 보이는 영역은 1, 보이지 않는 영역은 0으로 계산됩니다.
Invisibility depth(비가시성 깊이): 보이지 않는 객체가 보이기 위해 달성해야 하는 크기를 측정합니다.
Horizon(지평선)은 보이는 영역의 가장자리에 해당하는 지형의 마지막 가시적 장소를 표현한 것입니다.
자, 이제 하나 남은 intervisibility(상호가시성)을 계산해볼까요?! 이를 위해 목표점 데이터를 확보하도록 하겠습니다.
여기서는 아래와 같이 '서울시 생태공원 위치정보(SEOUL_TP.shp)'를 선택하였습니다.
이제 Observation points는 단일 고도지구, Target points는 생태공원 위치정보로 정의되었습니다.
검색반경을 10배 더 정의하고 결과값을 확인해볼까요?!
아래와 같이 관측점과 목표점이 상호 가시성이 확보되어 네트워크로 표현되었습니다.