GIS

QGIS에서 경사방향-경사 지도(Aspect-Slope Map) 제작하기

유병혁 2017. 11. 30. 05:01

이번 글은 QGIS에서 경사방향-경사 지도(Slope-Aspect Map) 제작과정을 정리해 보겠습니다.

이것은 최근에 흥미롭게 본 아래 글을 참조하여 작성한 것입니다.

Aspect-Slope Maps in QGIS | https://kingsgeocomputation.org/2016/03/16/aspect-slope-maps-in-qgis/


경사방향-경사 지도는 지형(또는 연속적인 면)의 경사방향(direction)과 경사(steepness)를 동시에 보여줍니다.
경사방향 범주는 색상(hue)으로, 경사도 등급은 채도(saturation)로 표현됩니다.


앞서 Esri 블로그에서는 ArcGIS를 이용하여 경사방향-경사 지도 제작과정을 아래와 같이 정리한 바가 있는데요,

제가 참조한 글은 이것을 QGIS에서 구현한 것입니다. 저는 여기에 QGIS 스타일 기능의 장점을 보완하였습니다.


Esri 블로그: Aspect-slope map (2008)
https://blogs.esri.com/esri/arcgis/2008/05/23/aspect-slope-map/

Esri 블로그: New Aspect-Slope Raster Function Now Available (2017)
https://blogs.esri.com/esri/arcgis/2017/03/28/new-aspect-slope-raster-function-now-available/


먼저, 경사방향-경사 지도 제작을 위한 시험 데이터를 다운로드 받도록 하겠습니다. 저는 변산반도 국립공원

지역을 선택했는데요, 국립공원 경계와 해당지역의 수치표면모델(DSM)은 아래 출처데이터를 이용했습니다.


1. 공원경계 데이터 다운로드: Protected Planet | https://www.protectedplanet.net/

2. 공원지역 수치표면모델(DSM) AW3D30 | http://www.eorc.jaxa.jp/ALOS/en/aw3d30/


일단, Protected Planet에서 Byeonsanbando로 검색하여 국립공원 경계를 다운로드 받았습니다.

Byeonsanbando in Republic Of Korea | https://www.protectedplanet.net/byeonsanbando-national-park


일단 아래 DSM 데이터를 경사방향(Aspect)과 경사(Slope) 데이터로 각각 변환해 보겠습니다.


'래스터 > 분석 > DEM (지형 모델)'을 통해 아래와 같이 경사 래스터를 생성합니다. 이 때 경사는 도단위 대신 백분율로 표시합니다.


이번에는 경사방향 래스터를 생성했습니다.


자, 이번에는 앞서 생성한 경사, 경사방향 래스터를 규칙에 따라 재분류하도록 하겠습니다.

이를 위해, QGIS 공간처리 툴박스에서 GRASS GIS 7 commands > Raster (r.*) > r.reclass를 이용합니다.

r.reclass | https://grass.osgeo.org/grass70/manuals/r.reclass.html


먼저, 경사 래스터는 아래와 같은 재분류 규칙을 갖습니다.

0-5 : 10
5-20 : 20
20-40 : 30
40-highest value : 40


재분류 규칙(reclass rules)을 새 txt 파일을 생성한 후, 아래와 같이 r.reclass에서 사용하는 문법으로 작성합니다.


r.reclass 실행 시 위 재분류 규칙 txt 파일을 반영하여 경사 래스터를 재분류합니다.


이번에는 경사방향 래스터를 재분류해 볼까요?! 재분류 규칙은 아래와 같습니다.

0-22.5 : 1
22.5-67.5 : 2
67.5-112.5 : 3
112.5-157.5 : 4
157.5-202.5 : 5
202.5-247.5 : 6
247.5-292.5 : 7
292.5-337.5 : 8
337.5-359.5 : 1


마찬가지로 r.reclass에 재분류 규칙 txt 파일을 반영하여 아래와 같이 경사방향 래스터를 재분류합니다.


자, 이제 '래스터 > 래스터 계산기'에서 경사 재분류와 경사방향 재분류를 더해주면 '경사방향-경사 지도'가 제작됩니다.


아직까지 '그레이 레벨'이라 크게 와닿지 않는데요, 이 지도에 경사방향-경사 래스터의 색상표를 적용해 보겠습니다.

해당 래스터의 '레이어 속성 > 스타일 탭'으로 이동한 후, '렌더(Render) 유형 > 단일 밴드 가상 색채'로 정의합니다.


색상 보간 콤보박스를 펼쳐 보면, 이산, 선형, 엄밀로 구분되는데요, 여기서는 '엄밀'을 선택합니다.

3개 선택의 차이는 아래와 같습니다.

  • 선형(linear) (INTERPOLATED) : 실제 픽셀값 위아래의 색상 맵 항목들로부터 선형적으로 보간된 색상이 산출됩니다.
  • 이산(discrete) (DISCRETE) : 색상 맵 항목에서 동일하거나 높은 값으로 색상이 산출됩니다.
  • 동일(exact) (EXACT) : 색상을 보간하지 않고, 색상 맵 항목과 동일한 값을 가진 픽셀만 그립니다.
    출처: http://docs.qgis.org/2.18/ko/docs/pyqgis_developer_cookbook/raster.html

색상표는 수동으로 값을 추가할 수도 있지만, 색상표 txt 파일을 작성한 후 불러올 수도 있습니다.


위 txt 파일을 불러오면 아래와 같이 색상표가 반영됩니다.


이제 '경사방향-경사 지도(Aspect-Slope Map)'가 제작되었습니다. 지형의 경사방향과 경사를 색상과 채도로 한번에 표현할 수 있습니다.


이렇게 작성된 색상표는 '스타일 > 스타일 저장하기'를 통해 'QGIS 레이어 스타일 파일(*.qml)'로 저장할 수 있습니다.

slope-aspect_color.qml


또한 ArcGIS의 *.lyr 파일처럼 QGIS도 '레이어 정의 파일로 저장'할 수 있는데요, 이 때 확장자는 'QGIS 레이어 정의 파일(*.qlr)'입니다.


slope-aspect_color.qml
0.0MB