GIS

QGIS: DEM을 이용한 다중방향 음영기복 제작 및 3D 가시화

유병혁 2021. 4. 11. 23:11

안녕하세요? 이번 글은 QGIS에서 DEM을 이용한 다중방향 음영기복 제작 및 3D 가시화 과정을 정리해 보겠습니다. DEM은 Digital Elevation Model의 약어로 '수치표고모형' 또는 '수치표고모델'로 불립니다. 이번 글은 open.gis.lab 블로그 글 중 '3D DEM Visualization In QGIS 3.0' 내용을 국내 지역 DEM으로 재현한 것입니다. 좋은 글을 공유해주신 open.gis.lab 님께 감사드립니다. 원본 글은 아래와 같습니다.

 

3D DEM Visualization in QGIS 3.0 — open.gis.lab

The other day I just happened to be looking through ESRI’s ArcUser magazine (Winter 2018) while waiting for a process to finish on my computer, and came across an article on visualizing DEM using multidirectional hillshade -  Create Amazing Hillshade Ef

opengislab.com

항공레이저측량 작업규정(국토지리정보원고시 제2016-429호, 2016. 2.12.) 제2조 제13호에서 수치표고모델(Digital Elevation Model)은, 수치지면자료(또는 불규칙삼각망자료)를 이용하여 격자형태로 제작한 지표모형으로 정의하고 있습니다.

 

국가법령정보센터 | 행정규칙 > 항공레이저측량 작업규정

 

www.law.go.kr

이번 실습에서는 국토교통부 국가공간정보포털에서 제공하는 수치표고모델(DEM)을 사용해 보겠습니다.

 

수치표고모델(DEM) - 오픈마켓

지형의 고도값을 수치로 저장함으로써 지형의 형상을 나타내는 지도

data.nsdi.go.kr

아래와 같이 해당 웹페이지에 접속해서,

제주특별자치도.zip 데이터를 내려받아 보겠습니다. *다운로드를 위해서는 로그인이 필요합니다.

제주특별자치도.zip 데이터를 압축해제하면 아래와 같이 압축파일 3개가 있습니다.

여기서 2014 제주특별자치도[img].zip 파일을 다시 압축해제합니다.

아래와 같이 2개 *.img 파일이 존재하는데요, 이 파일을 QGIS에서 열어 보겠습니다.

레이어 추가 결과는 다음과 같습니다. 일단, 2개 레이어를 하나로 병합해 보겠습니다.

상단 메뉴에서 '래스터 > 기타 사항 > 병합'을 클릭해 봅니다.

실행 창은 아래와 같습니다.

파라미터에서 '입력 레이어' 버튼을 클릭한 후,

아래와 같이 2개 레이어를 '전체 선택'해 줍니다.

'실행' 버튼을 클릭하면 '병합한 산출물'이 임시 파일로 생성됩니다.

레이어 명칭을 더블 클릭하면 '레이어 속성' 창이 실행됩니다. '원본' 탭을 보시면 '지정된 좌표계 (CRS, Coordinate Reference System)가 'Transverse Mercator'로 표시된 것을 확인하실 수 있습니다. 실제 DEM의 CRS는 EPSG:5186으로 정의되어 있습니다.

참고로 '좌표계 선택' 버튼을 클릭하고,

'5186'을 검색해서 'Korea 2000 / Central Belt 2010'을 지정하실 수 있습니다.

 

자, 그럼 DEM은 확보되었으니 '다중방향 음영기복'을 제작해 보겠습니다. '다중방향 음영기복'을 제작하기 전에 '전통적인 음영기복'을 이해할 필요가 있겠는데요, 아래 QGIS 문서를 참고하시면 됩니다.

 

24.1.10. 래스터 지형 분석 — QGIS Documentation 문서

© Copyright 2002-now, QGIS project. 최종 업데이트: 4월 11, 2021 09:28

docs.qgis.org

음영기복(hillshade)은 태양의 위치에 따라 레이어의 음영을 계산합니다. 태양의 수평 각도(방위각, azimuth)와 수직 각도(태양 고도) 둘 다 변경할 수 있는 옵션이 있습니다.

 

전통적인 음영기복(traditional hillshade)은 315도 방위각, 45도 고도에서 비추는 음영을 가시화(단일 광원)하는 반면, 다중방향 음영기복(multidirectional hillshade)은 225, 270, 315, 360도 방위각에서 비추는 음영의 조합을 가시화(4가지 광원)합니다. 

다중방향 음영기복 가시화를 위해 '병합한 산출물' 레이어를 우클릭한 후, '레이어 복제'를 생성합니다.

두 개 레이어 명칭을 아래와 같이 구분해 주겠습니다. 하나는 DEM, 다른 하나는 Hillshade로 변경했습니다.

먼저, Hillshade 레이어 속성을 실행한 후,

렌더링 유형을 '음영기복도'로 변환합니다.

다중 방향을 체크한 후,

리샘플링 중 확대는 'Billinear'로 변경해 주겠습니다.

결과는 다음과 같습니다. 이번에는 DEM 레이어 속성을 변경해 볼까요?!

DEM 레이어 속성에서,

렌더링 유형을 '단일 밴드 유사색상'으로 변경하고, 색상표는 'BrBG'로 지정해 줍니다.

색상 렌더링 중 혼합 모드는 '곱셈'으로 지정해 주겠습니다.

결과는 아래와 같습니다. 두 개 레이어가 잘 보이죠?!

이번에는 3차원 가시화를 진행해 보겠습니다. 상단 메뉴 중 '보기 > 새 3D 지도 뷰'를 실행합니다.

'환경 설정' 버튼을 클릭한 후,

지형에서 유형은 'DEM (래스터 레이어)를, 고도는 'DEM'을 선택해 줍니다.

결과는 다음과 같습니다.

3D 지도에서 아래와 같이 지형 타일에 작은 균열이 보이는 경우, '가장자리(skirt) 높이' 값을 올려 주시면 됩니다.

Skit height를 높이면, 균열을 숨기기 위해 지형 타일 주위에 수직 벽(vertical walls)을 추가하는 효과를 가지고 있습니다.

아래와 같이 균열이 제거되었습니다.

이번에는 보다 실감가는 3차원 가시화를 위해 'VworldSatellite' 레이어를 추가해 봅니다.

VworldSatellite 레이어 속성에서, 색상 렌더링 혼합 모드를 '중첩'으로 적용해 봅니다.

결과는 아래와 같습니다. 여기까지 QGIS에서 DEM을 이용한 다중방향 음영기복 제작과 3D 가시화 과정을 정리해 봤습니다.