12.1. Lesson: GRASS 설정

QGIS에서 GRASS를 사용하려면 인터페이스를 조금 다른 방식으로 봐야 할 필요가 있습니다. QGIS에서 직접 작업하는 것이 아니라, QGIS를 통해서 GRASS에서 작업하는 것이라는 걸 기억하십시오.

이 강의의 목표: QGIS에서 GRASS 프로젝트를 시작하기.

12.1.1. basic Follow Along: 새 GRASS 프로젝트 시작

QGIS 내에서 GRASS를 실행하려면, 다른 플러그인과 마찬가지로 활성화해야 합니다. 먼저 새 QGIS 프로젝트를 여십시오.

  • Plugin Manager 의 목록에서, GRASS 를 활성화하십시오.

    ../../../_images/enable_grass.png

다음과 같은 GRASS 툴바가 나타날 것입니다.

../../../_images/grass_toolbar.png

GRASS를 사용할 수 있으려면 먼저 맵셋 을 생성해야 합니다. GRASS는 항상 데이터베이스 환경에서 작동하기 때문에, 사용자가 사용하길 바라는 모든 데이터를 GRASS 데이터베이스로 가져와야 합니다.

  • 다음 New mapset 버튼을 클릭하십시오.

    grass_new_mapset

    GRASS 맵셋의 구조를 설명하는 대화 창이 뜰 것입니다.

  • exercise_data 폴더 아래 grass_db 라는 새 디렉터리를 생성하십시오.

  • GRASS의 데이터베이스를 설정하는 데 다음과 같이 이 디렉터리를 설정하십시오.

    ../../../_images/grass_folder.png
  • Next 를 클릭합니다.

GRASS에서 사용자가 작업할 지리적 영역의 최대 범위를 지정하는 “위치”를 생성해야 합니다.

  • 새 위치를 South_Africa 라고 명명하십시오.

    ../../../_images/new_location.png
  • Next 를 클릭합니다.

  • WGS 84 좌표계로 작업할 예정이니, 해당 CRS를 검색해서 선택하십시오.

    ../../../_images/wgs_84_selected.png
  • Next 를 클릭합니다.

  • 이제 드롭다운 목록에서 South Africa 를 선택한 다음 Set 을 클릭하십시오.

    ../../../_images/set_south_africa.png
  • Next 를 클릭합니다.

  • 여러분이 작업하게 될 맵 파일인 맵셋을 생성하십시오.

    ../../../_images/grass_mapset.png

모두 완료되면 모든 설정을 보여주면서 정확하냐고 묻는 대화 창이 나타날 것입니다.

  • Finish 를 클릭합니다.

  • 이어지는 대화 창의 OK 를 클릭합니다.

12.1.2. GRASS에 벡터 데이터 불러오기

이제 비어 있는 맵이 생겼습니다. GRASS에 데이터를 불러오려면 다음 두 단계의 과정을 거쳐야 합니다.

  • 하던 대로 QGIS에 데이터를 불러오십시오. 지금은 (exercise_data/epsg4326/ 폴더에 있는) roads.shp 데이터셋을 쓰겠습니다.

  • 불러오기가 끝나자마자, 다음 GRASS Tools 버튼을 클릭하십시오.

    grass_tools

  • 새 대화 창이 뜨면, Modules list 를 선택합니다.

  • Filter 란에 v.in.ogr.qgis 라고 입력해서 벡터 가져오기 도구를 찾으십시오.

v 는 벡터를, in 은 GRASS 데이터베이스에 데이터를 가져오는 기능을, ogr 은 벡터 데이터를 읽는 데 사용되는 소프트웨어 라이브러리를, 그리고 qgis 는 이 도구가 QGIS에 이미 로드된 벡터들 가운데 한 벡터를 찾을 것이라는 사실을 의미합니다.

  • 해당 도구를 찾으면, 클릭해서 도구의 대화 창을 불러옵니다.

    ../../../_images/grass_tool_selected.png
  • 로드된 레이어에 roads 를 설정하고, 혼란을 피하기 위해 GRASS 버전의 명칭을 g_roads 로 설정하십시오.

    ../../../_images/g_roads_selected.png

주석

hard Advanced Options 아래 있는 추가적인 가져오기 옵션들을 살펴보십시오. 이 옵션들 중에는 데이터를 가져오는 데 쓰이는 SQL 쿼리에 WHERE 구문을 추가할 수 있는 기능도 있습니다.

  • Run 을 클릭해서 가져오기를 시작합니다.

  • 가져오기가 끝나면 View output 버튼을 클릭해서 맵에 새로 가져온 GRASS 레이어를 살펴보십시오.

  • 첫 번째 가져오기 도구를 ( View output 바로 옆에 있는 Close 버튼을 클릭해서) 닫은 다음, GRASS Tools 창을 닫으십시오.

  • 원래 roads 레이어를 제거합니다.

이제 사용자의 QGIS 맵에 가져온 GRASS 레이어만 보이게 됩니다.

12.1.3. basic Follow Along: GRASS에 래스터 데이터 불러오기

우리가 사용했던 DEM은 투영 CRS인 UTM 33S / WGS 84 를 사용하지만, 이번 GRASS 프로젝트는 지리 CRS인 WGS 84 를 사용한다는 점을 상기하십시오. 따라서 먼저 DEM을 재투영하겠습니다.

  • QGIS의 Add Raster Layer 도구를 써서 QGIS 맵에 (exercise_data/raster/SRTM/ 폴더에 있는) srtm_41_19.tif 데이터셋을 불러오십시오.

  • GDAL Warp 도구를 (Raster ‣ Projections ‣ Warp (Reproject)) 이용해서 재투영하십시오. 다음과 같이 설정해야 합니다.

    ../../../_images/warp_settings.png
  • 원래 파일과 동일한 폴더에 래스터를 저장하되, 파일명은 DEM_WGS84.tif 로 지정하십시오. 사용자 맵에 래스터가 표출되면, Layers list 에서 srtm_41_19.tif 데이터셋을 제거하십시오.

재투영이 끝났으니, 이제 GRASS 데이터베이스로 불러올 수 있습니다.

  • GRASS Tools 대화 창을 다시 여십시오.

  • Modules List 탭을 선택합니다.

  • r.in.gdal.qgis 를 검색한 다음 도구를 더블클릭해서 도구 대화 창을 여십시오.

  • 입력 레이어를 DEM_WGS84, 산출물을 g_dem 으로 설정하십시오.

    ../../../_images/g_dem_settings.png
  • Run 을 클릭합니다.

  • 처리가 끝나면 View output 을 클릭하십시오.

  • 현재 탭의 Close 를 클릭한 다음, 전체 대화 창의 Close 를 클릭하십시오.

    ../../../_images/g_roads_g_dem_result.png
  • 이제 원래 DEM_WGS84 레이어를 제거해도 됩니다.

12.1.4. In Conclusion

GRASS는 데이터를 공간 데이터베이스 구조로 불러온다는 점에서 GRASS의 데이터 획득 작업 흐름은 QGIS의 방법과 약간 다릅니다. 하지만 QGIS를 프론트엔드로 사용하면, QGIS의 기존 레이어를 GRASS를 위한 데이터소스로 이용할 수 있기 때문에 GRASS 맵셋을 더 쉽게 설정할 수 있게 됩니다.

12.1.5. What’s Next?

이제 GRASS에 데이터를 가져왔으니, GRASS가 제공하는 고급 분석 작업을 해볼 차례입니다.