지형데이터 작업

경고

This tutorial is now obsolete. A new and updated version is available at Working with Terrain Data (QGIS3)

지형 혹은 해발고 자료는 GIS분석에 매우 유용하고 지도에서도 종종 사용됩니다. QGIS는 지형을 처리하는 훌륭한 기능이 포함되어 있습니다. 이 예제에서는 등고선, 음영과 같은 해발고 자료로부터 단계적으로 다양한 결과물을 생성해 나갈 것입니다.

과업 개요

이 예제에서는 에베레스트산 주변지역의 등고선과 음영지도를 만듭니다.

기타 스킬

  • 사용가능한 지형데이터의 검색과 다운로드

  • KML 포맷으로 벡터 레이어를 내보내 구글어스에서 보기를 합니다.

데이터 획득

이 예제에서는 USGS의 GMTED2010 데이터셋으로 작업을 할 것입니다. 이 데이터는 USGS Earthexplorer 에서 다운로드 할 수 있습니다. `GMTED (Global Multi-resolution Terrain Elevation Data)<http://eros.usgs.gov/#/Find_Data/Products_and_Data_Available/GMTED2010>`_는 전세계 지형 데이터셋으로 GTOPO30 데이터셋의 새로운 버젼입니다.

여기서는 USGS Earthexplorer로부터 어떻게 데이터를 찾고 다운로드하는가를 보여줍니다.

  1. Go to the USGS Earthexplorer . In the Search Criteria tab, search for the place name Mt. Everest. Click on the result to select the location.

../_images/1281.png
  1. :guilabel:`Data Sets`탭에서 :guilabel:`Digital Elevation`그룹을 확장하고 :guilabel:`GMTED2010`를 체크 하십시오.

../_images/2187.png
  1. You can now skip to the Results tab and see the part of the dataset intersecting your search criteria. Click the Download Options button. You will have to log in to the site at this point. You can create a free account if you do not have one.

../_images/3130.png
  1. Select the 30 ARC SEC option and click Select Download Option.

../_images/481.png

파일명 GMTED2010N10E060_300.zip`를 갖게됩니다. 해발고 데이터는 ASC, BIL, GeoTiff 등과 같이 다양한 래스터 포맷으로 배포됩니다. QGIS는 GDAL 라이브러리를 거쳐 폭넓은 `variety of raster formats 를 지원합니다. GMTED 데이터는 압축파일문서에 담긴 GeoTiff로 얻어집니다.

편하게 데이터 복사본을 아래에서 바로 다운로드할 수 있습니다.

GMTED2010N10E060_300.zip

데이터 출처: [GMTED2010]

과정

  1. 메뉴에서 레이어 –> 래스터 레이어 추가 :menuselection:`Layer –> Add Raster Layer`를 열고 다운로드한 압축파일을 찾습니다.

../_images/575.png
  1. 다른 알고리즘에서 만들어진 많은 종류의 파일들이 있습니다. 이 예제에서는 파일명 `10n060e_20101117_gmted_mea300.tif`를 사용합니다.

../_images/672.png
  1. QGIS캔버스에서 지형데이터를 보게됩니다. 지형데이터의 각 픽셀은 그 위치의 평균해발고를 미터로 나타냅니다. 어두운색 픽셀은 해발고가 낮은 곳을 보다 밝은 픽셀은 해발고가 높은 곳을 나타냅니다.

../_images/771.png
  1. 관심지역을 찾아보시기 바랍니다. 위키피디아 `Wikipedia <http://en.wikipedia.org/wiki/Mount_Everest>`_에서 관심지역인 에베레스트산에 대한 좌표가 27.9881° N, 86.9253° E에 위치해 있음을 발견하게 됩니다. 주목할 것은 QGIS는 (X,Y)좌표 포맷을 사용한다는 것입니다. 그래서 좌표를 (경도,위도)로 반드시 사용해야 합니다. QGIS 창 아랫쪽에 좌표 :guilabel:`Coordinate`란에 `86.9253,27.9881`를 붙여 넣고 엔터를 누릅니다. 화면이 이 좌표로 이동합니다. 확대를 하기 위해 축척 :guilabel:`Scale`칸에 `1:1000000`를 입력하고 엔터를 누릅니다. 화면이 히말라야 주변으로 확대되는 것을 볼 수 있습니다.

../_images/869.png
  1. 이제는 관심지역으로 래스터를 얻어내야 합니다. 메뉴에서 래스터 –> 추출 –> 잘라내기 :menuselection:`Raster –> Extraction –> Clipper`를 선택하십시오.

참고

QGIS의 ‘래스터’ 메뉴는 GdalTools`이라고 하는 플러그인에서 나옵니다. 만약 래스터 :guilabel:`Raster`메뉴를 볼 수 없다면 플러그인 –> 플러그인 관리 및 설치 :menuselection:`Plugins –> Manage and install plugins –> Installed`에서 :guilabel:`GdalTools 플러그인을 설치하고 활성화시키십시오. 보다 자세한 내용은 플러그인 사용하기 를 참조하시기 바랍니다.

../_images/968.png
  1. 잘라내기 Clipper`창에서 출력 파일명으로 `everest_gmted30.tif`를 입력합니다. 클리핑모드 :guilabel:`Clipping mode 에서 범위 :guilabel:`Extent`를 선택합니다.

../_images/1076.png
  1. 잘라내기 :guilabel:`Clipper`창을 연채로 유지하고 QGIS 메인창으로 전환합니다. 마우스 왼쪽 버튼을 누른 채로 전체 캔버스를 커버하는 사각형을 그리십시오.

../_images/11114.png
  1. 이제 잘라내기 Clipper 창으로 되돌아 갑니다. 그러면 좀 전에 선택했던 영역이 자동적으로 좌표산출 된 것을 볼 수있습니다. 종료시 캔버스로 불러옴 Load into canvas when finished 옵션이 체크되었는지 확인합니다. OK. 를 클릭합니다.

../_images/1282.png
  1. 일단 작업이 종료되면 QGIS에 불려들여진 새로운 레이어를 보게됩니다. 이 레이어는 에베레스트산 주변지역을 포함하고 있습니다. 이제 등고선을 생성할 차례입니다. 메뉴 레스터 –> 추출 –> 등고선 Raster ‣ Extraction ‣ Contour 으로 등고선 도구를 선택합니다.

../_images/1373.png
  1. 등고선 Contour 다이알로그에서 입력파일 Input file`에 `everest_gmted30 를 선택합니다. 등고선 출력파일 Output file for contour lines`에 `everest_countours.shp`를 입력합니다. 등고선 간격을 100m로 만들 것이므로, 등고선 간격 :guilabel:`Interval between contour lines. 에 100을 입력합니다. 또한 속성이름 Attribute name 옵션에 체크를 해서 해발고값이 각 등고선의 속성으로 기록될 수 있도록 합니다. :guilabel:`OK`를 클릭합니다.

../_images/1470.png
  1. 이 작업이 마무리되면 캔버스에 등고선이 나타나는 것을 볼 수 있습니다. 레이어에서 각 등고선은 해발고를 나타냅니다. 기존 래스터에서 등고선을 따라 있는 모든 점들은 같은 해발고입니다. 등고선이 조밀할 수도록 경사가 급합니다. 등고선을 좀 더 살펴보도록 하겠습니다. 등고선 레이어에 대해 마우스 오른쪽 버튼을 클릭하고 속성테이블열기 :guilabel:`Open Attribute Table`를 선택합니다.

../_images/1564.png
  1. 각 등고선 객체가 :guilabel:`ELEV`라는 속성을 가지는 것을 볼 수 있습니다. 이 값은 각 등고선의 해발고를 미터로 나타내는 것입니다. 컬럼의 필드명을 두번 클릭하여 내림차순으로 정렬합니다. 데이터에서 가장 높은 해발고 값을 가진 등고선 즉, 에베레스트 산을 찾을 수 있습니다.

../_images/1661.png
  1. 가장 위쪽 행을 선택하고 선택 영역으로 지도 줌 :guilabel:`Zoom to selection`를 클릭합니다.

../_images/1757.png
  1. QGIS 주 화면으로 전환합니다. 노란색으로 선택된 등고선을 볼 수 있습니다. 이것이 데이터셋에서 가장 높은 해발고 지역입니다.

../_images/1854.png
  1. 이제 래스터에서 음영지도를 만들어 봅시다 메뉴에서 래스터 –> 분석 –> DEM :menuselection:`Raster –> Analysis –> DEM (Terrain Models)`을 선택합니다.

../_images/1945.png
  1. DEM 지형모델 DEM (Terrain Models) 다이알로그에서 입력파일 Input file`로 `everest_gmted30`를 선택합니다. 출력파일 :guilabel:`Output file`로 `everest_hillshade.tif`를 입력합니다. 모드 :guilabel:`Mode`로 음영기복 :guilabel:`Hillshade`을 선택합니다. 나머지 옵션은 그대로 둡니다. 종료시 캔버스로 불러옴 :guilabel:`Load into canvas when finished 옵션이 체크되어 있는지 확인합니다. :guilabel:`OK.`를 클릭합니다.

../_images/2040.png
  1. 일단 이 작업이 끝나면 QGIS 캔버스에 다른 래스터가 생서된 것을 볼 수 있을 것입니다. 에베레스트산 지역을 확대하고 `everest_hillshade`레이어를 마우스 오른쪽 버튼을 클릭한 후 :guilabel:`Zoom to Layer Extent`를 선택합니다.

../_images/2188.png
  1. 이제 음영기복 래스터를 최대한 확대한 범위로 볼 수 있을 것입니다.

../_images/2239.png
  1. 또한 등고선 레이어를 최대한 시각화 할 수 있고, KML로 등고선 레이어를 내보내기하여 구글어스에서 볼 수도 있고, 분석을 확인할 수도 있습니다. 등고선 레이어를 마우스 우측클릭하여 다른 이름으로 저장하기 :guilabel:`Save as..`를 선택합니다.

../_images/2335.png
  1. 포맷 :guilabel:`Format`으로 :guilabel:`Keyhole Markup Language [KML]`을 선택합니다. 출력으로 `contours.kml`라고 입력하고 :guilabel:`OK`를 클릭합니다.

../_images/2434.png
  1. 저장된 디스크에서 출력파일을 찾아 더블클릭하여 구글어스를 구동시킵니다.

../_images/2531.png

If you want to give feedback or share your experience with this tutorial, please comment below. (requires GitHub account)