래스터가 표현하고 있는 지형에 대해 더 깊이 이해할 수 있게 해주는 특정한 래스터 형식이 있습니다. 수치 표고 모델(DEM)이 이런 점에서 특히 유용합니다. 이 강의에서는 지형 분석을 이용해서, 이전 모듈에서 다뤘던 주거 구역 개발에 대해 더 자세히 알아보도록 하겠습니다.
이 강의의 목표: 지형 분석을 이용해서 지형에 대해 더 많은 정보를 끌어내기.
지금 여러분의 맵에 있는 DEM이 지형의 표고를 보여주기는 하지만, 가끔은 조금 추상적으로 보일 수도 있습니다. 여러분에게 필요한 지형의 모든 3D 정보를 담고 있지만, 3D 오브젝트로 보이지는 않습니다. 이 지형을 좀 더 잘 표현하기 위해 음영기복도 를 계산할 수 있습니다. 음영기복도란 빛과 그림자를 이용해서 지형을 3D처럼 보이는 이미지로 생성한 래스터입니다.
DEM을 작업하려면 QGIS의 일체형 DEM (Terrain models) 분석 도구를 사용해야 합니다.
메뉴에서 Raster ‣ Analysis ‣ DEM (Terrain models) 항목을 클릭하십시오.
대화 창이 뜨면, Input file 이 DEM 레이어인지 확인하십시오.
Output file 을 exercise_data/residential_development 디렉터리의 hillshade.tif 로 설정하십시오.
또 Mode 옵션에서 Hillshade 를 선택하도록 합니다.
Load into canvas when finished 옆에 있는 체크박스를 체크하십시오.
다른 옵션은 그대로 놔둬도 됩니다.
OK 를 클릭해서 음영기복도를 생성합니다.
처리가 완료됐다는 메시지 창이 뜨면, 메시지 창의 OK 를 클릭해서 창을 닫으십시오.
DEM (Terrain models) 대화 창의 Close 를 클릭하십시오.
이제 다음과 같이 hillshade 라는 새 레이어가 생성되었습니다.
멋진 3D로 보입니다만, 좀 더 향상시킬 수 있을까요? 음영기복도 그 자체로는 마치 석고 모형처럼 보입니다. 다른, 좀 더 다채로운 래스터들과 어떻게 함께 사용할 수는 없을까요? 물론 할 수 있습니다. 음영기복도를 오버레이로서 사용한다면 말이죠.
음영기복도는 낮 동안의 특정 시간의 햇빛에 대한 유용한 정보를 제공할 수 있습니다. 하지만 맵을 더 보기 좋게 하기 위한 심미적 목적을 위해서도 사용할 수 있습니다. 이렇게 하려면 음영기복도를 거의 투명하게 설정하면 됩니다.
이전 강의에서처럼 원래 DEM 의 심볼에 Pseudocolor 배합을 쓰도록 변경하십시오.
DEM 과 hillshade 레이어를 제외한 모든 레이어를 비활성화하십시오.
Layers list 에서 DEM 을 클릭 & 드래그해서 hillshade 레이어 밑으로 옮기십시오.
hillshade 레이어의 Layer Properties 를 열고 Transparency 탭으로 가서 투명도를 설정하십시오.
Global transparency 를 50% 로 설정합니다.
Layer Properties 대화 창의 OK 를 클릭하십시오. 다음과 같은 화면을 보게 될 것입니다.
Layers list 에서 hillshade 레이어를 껐다 켰다 하면서 그 차이점을 살펴보십시오.
음영기복도를 이런 식으로 사용하면 경관의 지형을 향상시킬 수 있습니다. 만약 그 효과가 미미하다고 느껴진다면, hillshade 레이어의 투명도를 조절할 수 있습니다. 하지만 물론, 음영기복도가 밝아질수록 그 아래의 색상은 침침해질 것입니다. 여러분이 만족할 수 있는 균형을 찾아야 합니다.
작업 완료 시 맵을 저장하는 일을 잊지 마십시오.
주석
다음 두 가지 실습에서는 새 맵을 사용하십시오. DEM 래스터 데이터셋( exercise_data/raster/SRTM/srtm_41_19.tif )만을 불러오십시오. 여러분이 래스터 분석 도구를 이용해 작업할 때 문제를 단순화하기 위해서입니다. 이 맵을 exercise_data/raster_analysis.qgs 로 저장하십시오.
지형에 대해 알아두면 좋은 점 가운데 하나는 얼마나 가파르냐는 것입니다. 예를 들어 어떤 토지에 집을 짓고 싶다고 할 때, 그 토지는 어느 정도 평평해야 할 것입니다.
이 작업을 하려면 DEM (Terrain models) 도구의 Slope 모드를 사용해야 합니다.
이전처럼 도구를 여십시오.
다음과 같이 Mode 옵션에서 Slope 를 선택하십시오.
저장 경로를 exercise_data/residential_development/slope.tif 로 설정하십시오.
Load into canvas... 체크박스를 체크하십시오.
OK 를 클릭한 다음 처리가 완료되면 메시지 창을 닫고, Close 를 클릭해서 대화 창을 닫으십시오. 사용자 맵에 새 래스터가 로드됐을 것입니다.
Layers list 에서 새 래스터를 선택하고, Stretch Histogram to Full Dataset 버튼을 클릭하십시오. 이제 검은 픽셀은 평평한 지형, 하얀 픽셀은 가파른 지형을 나타내는 다음과 같은 경사도를 볼 수 있습니다.
지형의 향 이란 어떤 지형이 면하고 있는 방향을 말합니다. 현재의 연구 지역이 남반구에 있으므로, 햇빛을 받으려면 북쪽을 면하고 있는 비탈에 건물을 지어야 하겠죠.
지형의 향을 계산하려면 DEM (Terain models) 도구의 Aspect 모드를 사용하십시오.
벡터 분석 강의에서 마지막으로 다뤘던 부동산 중개업자 문제를 다시 떠올려보십시오. 그때의 구매자가 지금은 건물을 산 다음 부지 내에 작은 집을 짓고 싶어 한다고 해봅시다. 남반구에서 이런 개발에 이상적인 계획은 우선 5˚ 미만 경사의 북쪽을 면한 토지가 있어야 할 것입니다. 그러나 경사가 2˚ 미만인 경우, 향은 문제가 되지 않습니다.
다행히 여러분에게는 이미 경사는 물론 향을 보여주는 래스터가 있습니다. 그런데 이 두 가지 조건을 동시에 만족하는 곳을 알 도리가 없죠. 어떻게 이런 분석을 할 수 있을까요?
그 답은 Raster calculator 가 가지고 있습니다.
Raster > Raster calculator... 를 클릭해서 이 도구를 실행하십시오.
aspect 데이터셋을 사용하려면 왼쪽에 있는 Raster bands 목록에서 aspect@1 항목을 더블클릭하십시오. 아래쪽에 있는 Raster calculator expression 텍스트 란에 나타날 것입니다.
북쪽은 0˚이므로, 북쪽을 면한 지형을 원한다면 그 향이 270˚ 이상, 90˚ 이하여야 합니다.
Raster calculator expression 란에 다음 표현식을 입력하십시오.
aspect@1 <= 90 OR aspect@1 >= 270
산출물 파일 경로를 exercise_data/residential_development/ , 파일명을 aspect_north.tif 로 설정하십시오.
Add result to project 체크박스를 체크했는지 확인하십시오.
OK 를 클릭해서 처리를 시작합니다.
결과는 다음과 같을 것입니다.
이제 향 작업을 끝냈으니, DEM 레이어에 대한 두 가지 새로운 분석을 생성해봅시다.
먼저 경사가 2 ˚ 이하인 모든 지역을 구분해봅시다.
다음도 비슷합니다. 다만 경사가 5 ˚ 이하인 지역을 구해봅시다.
그 결과물을 exercise_data/residential_development/ 디렉터리 아래, slope_lte2.tif 및 slope_lte5.tif 파일로 저장합니다.
이제 다음과 같은 DEM 레이어의 세 가지 분석 래스터가 생겼습니다.
aspect_north : 북쪽을 면한 지형
slope_lte2: 경사가 2˚ 이하인 지형
slope_lte5: 경사가 5˚ 이하인 지형
이 레이어들의 조건을 만족하는 곳의 값은 1 로 동일합니다. 만족하지 않는 곳의 값도 0 으로 동일합니다. 따라서 이 래스터들 가운데 하나를 다른 래스터와 곱하면, 양쪽 모두의 값이 1 인 곳들을 얻을 수 있습니다.
만족해야 하는 조건은 다음과 같습니다. 경사가 5˚ 이하이며, 북쪽을 면하는 지형일 것, 다만 경사가 2˚ 이하인 곳은 해당 지형이 어느쪽을 면하든지 상관 없슴.
그러므로, 경사가 5˚ 이하 AND 북쪽을 면한 지형, OR 경사가 2˚ 이하인 지형을 찾아야 합니다. 그런 지형이 개발에 적합할 테니까요.
이 기준들을 만족하는 지역을 계산하려면,
Raster calculator 를 다시 실행합니다.
Raster bands 목록, Operators 버튼 및 사용자의 키보드를 이용해서 다음 표현식을 Raster calculator expression 텍스트 란에 입력하십시오.
( aspect_north@1 = 1 AND slope_lte5@1 = 1 ) OR slope_lte2@1 = 1
산출물의 경로를 exercise_data/residential_development/ , 파일명을 all_conditions.tif 로 설정하십시오.
Raster calculator 에 있는 OK 를 클릭하십시오. 결과는 다음과 같습니다.
앞의 이미지에서 볼 수 있듯이, 이렇게 결합된 분석의 결과물은 조건을 만족하는 수많은, 아주 작은 지역들로 이루어져 있습니다. 그러나 이 결과는 우리의 분석에 그다지 쓸모가 없습니다. 뭔가를 짓기에는 너무 작은 토지들이니까요. 이 쓸모 없는 작은 토지들을 제거해보겠습니다.
메뉴에서 Raster ‣ Analysis ‣ Sieve 항목을 클릭해서 Sieve 도구를 실행하십시오.
Input file 을 all_conditions 로, Output file 을 exercise_data/residential_development/ 디렉터리의 all_conditions_sieve.tif 파일로 설정하십시오.
Threshold 및 Pixel connections 의 값을 모두 8 로 설정한 다음 도구를 실행하십시오.
처리가 완료되면 캔버스에 새 레이어가 로드될 것입니다. 하지만 데이터를 보기 위해 히스토그램 구간 도구를 사용하면 다음과 같은 화면을 보게 됩니다.
무엇 때문일까요? 그 답은 이 새 래스터 파일의 메타데이터에 있습니다.
Layer Properties 대화 창의 Metadata 탭을 선택해서 메타데이터를 살펴보십시오. 맨 아래에 있는 Properties 부분을 보십시오.
이 래스터는, 추출되었던 원래 래스터와 마찬가지로, 1 과 0 값만을 가져야 하는데, 굉장히 큰 음수값의 STATISTICS_MINIMUM 값을 가지고 있습니다. 이 데이터를 조사해보면 이 숫자가 null 값 역할을 하고 있다는 사실을 알 수 있습니다. 우리는 필터링되지 않은 지역만을 원하니까, 이 null 값들을 0으로 바꿉시다.
다시 Raster Calculator 를 실행하고, 다음 표현식을 입력합니다.
(all_conditions_sieve@1 <= 0) = 0
이 표현식은 기존 0 값을 모두 보전하는 동시에 음수를 모두 0으로 변경할 것입니다. 1 값을 가진 지역은 그대로 남게 됩니다.
산출물의 경로를 exercise_data/residential_development/ , 파일명을 all_conditions_simple.tif 로 설정하십시오.
산출물은 다음과 같습니다.
우리가 기대한 산출물입니다. 이전 결과물을 단순화시킨 버전이죠. 어떤 도구의 결과물이 기대했던 것과 다를 경우, 문제를 해결 하는 데 메타데이터(및, 적용 가능할 경우 벡터 속성)을 살펴보는 작업이 필수적일 수도 있습니다.
DEM에서 모든 유형의 분석 결과를 추출하는 방법을 배웠습니다. 여기에는 음영기복도, 경사도, 향 계산이 포함됩니다. 또한 래스터 계산기를 이용해서 이 결과들을 더 심도 있게 분석하고 결합하는 방법도 배웠습니다.
이제 여러분은 두 가지 분석을 할 수 있습니다. 벡터 분석은 잠재적으로 적합한 계획을 보여주며, 래스터 분석은 잠재적으로 적합한 지형을 보여줍니다. 이들을 어떻게 결합해야 문제에 대한 최종 결론을 얻을 수 있을까요? 이것이 다음 모듈에서 시작하는 강의의 주제입니다.