GGRS: Geoscience, GIS, & Remote Sensing

QGIS 3.4에서 SAGA를 이용한 수문학적 분석(hydrological analysis)

작성일 작성자 유병혁

안녕하세요? 이번 글은 QGIS 3.4에서 DEM 확보부터 유역 추출까지 일련의 과정을 정리해 보겠습니다.


이에 앞서, Wang & Liu 알고리즘을 이용한 유역 추출 방법은 아래 글을 참고하시기 바랍니다: 

QGIS 3.4: 수치표고모형(DEM)으로부터 유역(basin) 추출하기 | http://blog.daum.net/geoscience/1380


*QGIS에서 수문학적 분석(hydrological analysis)을 수행하는 방법은 아래 글이 참고가 되실 것 같습니다.

[1] QGIS Training Manual » 18. The QGIS processing guide » 18.16. Hydrological analysis

[2] Open Source Software for Preprocessing GIS Data for Hydrological Models

[3] Exploring the Hydrological Tools in QGIS


아울러 용어 이해와 관련해서는 K-water가 제공하는 물백과사전이 도움이 됩니다.

물백과사전 | https://www.water.or.kr/encyclopedia/encyclopedia/encyclopedia.do


그럼 시작해볼까요?! 이번에 수행할 수문학적 분석 흐름은 다음 순서와 같습니다:



먼저 DEM 타일을 다운로드 받기 위해 연구지역을 설정해 보겠습니다. XYZ Tiles에서

OpenStreetMap Standard 레이어를 추가하고 '소백산국립공원' 영역을 확대해 봅니다.


SRTM Downloader 플러그인을 실행하고,

QGIS 3.4에서 SRTM Downloader 플러그인 사용하기 | http://blog.daum.net/geoscience/1298


현재 캔버스 범위에 해당하는 DEM 타일 2장을 다운로드 합니다.


아래와 같이 소백산국립공원 영역의 DEM 타일 2장을 내려받았습니다.


DEM 타일을 병합해서 단일 DEM을 생성해 보겠습니다. '래스터 > 기타 사항 > Build virtual raster'를 실행합니다.

이 기능은 타일을 실제로 병합하는 것이 아니라 가상으로 병합한 결과를 제시해 줍니다. 타일 갯수가 많은 경우

물리적 파일의 크기가 커지므로 가상 파일(virtual file)을 만드는 것이 좋습니다.


아래 실행 창에서,


Input layers를 클릭하고 DEM 타일 2장을 선택해 줍니다.


병합해서 생성할 단일 DEM도 지정해 줍니다.


Resolution 설정은 Average를 유지해 줍니다. 사용 중인 SRTM DEM의 해상도는 1도 간격입니다.


'Place each input file into a separate band'는 체크 해제합니다. 이 부분을 체크할 경우 레이어 스택이 적용됩니다.


Resampling algorithm은 Nearest Neighbour 설정을 유지해 줍니다. 사실 SRTM DEM은 재표집이 적용되지 않습니다.


자, 이제 Build virtual raster를 실행해볼까요?!


아래와 같이 DEM 타일이 병합되어 단일 DEM이 생성되었습니다.


레이어 패널에서 단일 DEM을 제외한 나머지 레이어를 삭제해 주겠습니다.


이번에는 DEM을 재 투영해 보겠습니다. '래스터 > 투영 > 워프(재투영)'을 클릭합니다.


아래 '워프(재투영)' 창에서,


대상 좌표계를 EPSG:5179로 설정해 보겠습니다.


사용할 리샘플링 방법은 '최근린 이웃'을 선택해 줍니다.


산출 밴드 용 NODATA 값은 -9999을, 대상 지리참조 단위의 산출 파일 해상도는 30(미터)을,


끝으로 재투영될 DEM을 정의하고 워프(재투영)을 실행해 봅니다.


실행 후 프로젝트 좌표계도 클릭하여 EPSG:5179로 변경해 줍니다.


이제 아래와 같이 재투영이 적용되었습니다. 이번에는 연구지역으로 DEM을 잘라내 보겠습니다.


아래와 같이 연구지역인 소백산국립공원 범위로 확대한 후,


'래스터 > 추출 > 범위로 래스터 자르기'를 클릭해서,


'범위로 래스터 자르기' 창에서,


잘라낼 영역을 '지도 범위 사용'으로 지정해 줍니다.


파일명은 아래와 같이 지정했습니다. 결과를 확인해볼까요?!


아래와 같이 소백산국립공원 일원으로 DEM이 잘라졌습니다. 본격적으로 수문학적 분석을 진행해 보겠습니다.


먼저, 공간 처리 툴박스에서 'fill sinks'를 검색하고 'Fill sinks (wang & liu)'를 실행해 봅니다.


아래와 같이 창이 실행되었는데요, 수문학적으로 보정된 DEM을 생성하는 과정입니다.


Filled DEM을 아래와 같이 지정하고,


Flow Directions(흐름 방향)도 지정해 보겠습니다.


이제 'Fill sinks (wang & liu)'를 실행하면,


다음과 같이 수문학적으로 보정된 DEM과 흐름 방향 래스터가 동시에 생성됩니다.


이번에는 'Catchment area'를 검색해서 실행해 보겠습니다. Catchment area는 흐름 누적(flow accumulation)에 해당됩니다.


아래와 같이 방법을 설정하고 Catchment area를 생성해 보겠습니다.


결과는 아래와 같습니다. 이어서 수계망(channel network)을 생성해 보겠습니다.


마찬가지로 공간 처리 툴박스에서 검색을 통해 'Channel network'를 실행합니다.


아래와 같이 Catchment Area 레이어에 임계치를 적용하여 수계망을 생성합니다.


수계망 생성 결과는 아래와 같습니다. 이제 유역만 추출해 보면 되겠죠?!


이번에는 'Watershed basins'을 실행합니다.


앞서 계산한 수계망을 지정하고 Watershed basins을 실행하면,


아래와 같이 유역이 추출됩니다. 여기까지 QGIS 3.4에서 SAGA를 이용한 수문학적 분석 과정을 정리해 봤습니다.



맨위로
통합 검색어 입력폼