안녕하세요? 이번 글은 QGIS에서 'GDAL 가시권 분석(Viewshed)' 기능 사용법을 정리해 보겠습니다. 공간 처리 툴박스에서 'viewshed'를 검색해 보시면, 아래와 같이 GDAL과 GRASS의 2개 기능을 확인하실 수 있습니다. 이중 'GDAL > 래스터 기타 > 가시권 분석' 기능을 다뤄 봅니다.
GDAL은 Geospatial Data Abstraction Library(지리공간 데이터 추상화 라이브러리)의 약어입니다. 현재 저는 QGIS 3.22 버전을 사용하고 있는데요, 해당 QGIS 버전의 GDAL 버전은 'OSGeo4W Shell'에서 아래 명령어로 확인하실 수 있습니다. *아래와 같이 GDAL 3.4.0임을 확인합니다.
가시권 분석(Viewshed)은 GDAL 3.1.0 버전의 새 기능으로, 입력 래스터 DEM으로부터 가시권 래스터를 계산합니다. 이때 계산상 알고리즘은 아래 논문을 따릅니다.
Generating Viewsheds without Using Sightlines. Wang, Jianjun, Robinson, Gary J., and White, Kevin. Photogrammetric Engineering and Remote Sensing. p81.
https://www.asprs.org/wp-content/uploads/pers/2000journal/january/2000_jan_87-90.pdf
GDAL 가시권 분석은 'gdal_viewshed' 프로그램을 사용하며 해당 GDAL 문서는 다음 링크와 같습니다. 해당 문서내용과 기능을 비교해 가며 실습을 진행해 보겠습니다.
자, 실습을 위해서는 DEM이 필요하겠죠?! 저는 아래 링크 실습을 통해 제작했던 경기도 안양시 DEM을 사용하겠습니다.
'공간 처리 툴박스 > GDAL > 래스터 기타 > 가시권 분석'을 실행합니다.
아래와 같이 입력 레이어는 DEM을, 밴드 번호는 DEM에 해당하는 단일 밴드를 지정합니다.
관찰자 위치는 X위치, Y위치 순으로 지정해 줍니다.
198885.720483,533139.986780 [EPSG:5186]
관찰자 높이, 대상 높이는 DEM 높이 단위(height unit)로 지정해 줍니다.
*현재 DEM units이 'DEM 거리단위'로 번역되어 있는데요, Transifex(https://www.transifex.com/)에서 'DEM 단위'로 변경 사항을 저장해 봤습니다.
이어서 가시영역을 분석할 관찰자로부터의 최대 거리는 '1킬로미터'를 지정해 보겠습니다.
산출물은 아래와 같이 파일 경로, 이름을 지정해봅니다. 자, 가시권 분석을 실행해 볼까요?!
아래와 같이 가시권 분석 래스터가 생성되었습니다.
레이어 속성 창에서 심볼을 조정한 후, VworldGray 레이어를 중첩시킨 결과입니다.
여기까지 QGIS에서 제공되는 'GDAL 가시권 분석(Viewshed)' 기능 사용법을 실습해 봤습니다. 더 많은 가시권 분석 기능을 사용하고자 하시면 크로아티아 고고학자 Zoran Cuckovic(조란 추코비치) 님이 개발하신 'Visibility Analysis(가시성 분석)' 플러그인을 사용하시면 됩니다.