1.2. 예제 데이터 준비

교육 교재와 함께 제공되는 샘플 데이터는 Swellendam 마을 및 그 주변에 대한 자료입니다. Swellendam 은 남아프리카 공화국의 웨스턴케이프에 있는 케이프타운에서 동쪽으로 2시간 거리에 있습니다. 이 데이터셋의 피처명은 영어와 아프리칸스어 두 가지로 되어 있습니다.

누구나 이 데이터셋을 어려움없이 이용할 수 있습니다. 그러나 사용자 자국 또는 고향의 데이터를 이용하고자 할 경우, 모듈 3에서 모듈 7.2까지의 모든 강의에 사용자의 데이터를 쓸 수 있습니다. 이후 강의에는 좀더 복잡한 데이터 소스를 사용하게 되는데, 사용자의 지역에 따라 이런 데이터가 존재하지 않을 수도 있습니다.

주석

강의 담당자나 숙련된 QGIS 사용자가 강의에 로컬 샘플 데이터를 이용하고자 할 경우 이 준비 과정이 필요합니다. 교육 교재와 함께 기본 데이터셋이 제공되지만, 기본 데이터셋을 로컬 데이터로 대체하고자 한다면 다음 지침을 따라야 합니다.

주석

이 교육 교재 전반에 쓰이는 샘플 데이터를 http://qgis.org/downloads/data/training_manual_exercise_data.zip 에서 다운로드할 수 있습니다.

1.2.1. hard Try Yourself

주석

이 지침은 사용자가 QGIS를 잘 알고 있다고 가정하며, 강의 교재로 쓰이도록 작성된 것은 아닙니다.

사용자의 강의에 기본 데이터셋 대신 로컬 데이터를 사용하고자 할 경우 QGIS에 내장된 도구로 간단히 데이터를 준비할 수 있습니다. 이때 사용자가 선택한 지역은 도심과 교외가 균형 있게 분포하며, 서로 다른 종류의 도로와 (자연보호구역 또는 농장 같은) 지역 경계, 그리고 하천 같은 지표수를 포함해야 합니다.

  • 새 QGIS 프로젝트 열기

  • In the Vector menu dropdown, select OpenStreetMap -> Download Data. You can then manually enter the co-ordinates of the region you wish to use, or you can use an existing layer to set the co-ordinates.
  • 반환되는 .osm 파일을 저장하려면 위치를 선택하고 OK 를 클릭합니다.

../../../_images/set_osm_region.png
  • 그 다음 Add Vector Layer 버튼을 클릭해서 .osm 파일을 열 수 있습니다. 브라우저 창에서 All files 를 선택해야 할 수도 있습니다. 아니면 파일을 QGIS 창으로 드래그 & 드롭 할 수도 있습니다.

  • 대화 창이 열리면 other_relationsmultilinestrings 레이어를 제외한 모든 레이어를 선택합니다.

../../../_images/select_osm_layers.png

OSM의 명명 규칙을 따르는 4개 레이어가 사용자 맵에 로드됩니다. (벡터 데이터를 보려면 줌인/줌아웃해야 할 수도 있습니다.)

../../../_images/osm_data_loaded.png

이 레이어들에서 쓸 만한 데이터를 추출해서 다시 명명해, 해당하는 shapefile을 생성해야 합니다.

  • 먼저 multipolygons 레이어를 더블클릭해서 Layer properties 대화 창을 엽니다.

  • General 탭을 선택하고 Query Builder 를 클릭해서 Query builder 창을 엽니다.

이제 이 레이어에서 교육 교재 전반에 걸쳐 사용하게 될 다음 세 가지 항목의 데이터를 추출해야 합니다.

  • building
  • natural (특히 지표수)

  • landuse

사용자 지역이 담고 있는 데이터를 샘플링해서 사용자의 지역이 어떤 결과를 내놓을지 볼 수도 있습니다. “landuse” 항목에 아무것도 없다면 제외해도 됩니다.

필요한 데이터를 추출하려면 각 항목에 대해 필터 표현식을 작성해야 합니다. “building” 항목을 예로 들어보겠습니다.

  • 다음 표현식 building != "NULL" 을 텍스트 영역에 입력하고 Test 를 클릭해서 이 쿼리가 얼마나 많은 결과를 반환하는지 확인합니다. 결과가 적을 경우 레이어의 Attribute Table 을 보면 OSM이 사용자 지역에 대해 어떤 데이터를 반환했는지 확인할 수 있습니다.

../../../_images/building_query_builder.png
  • OK 를 클릭하십시오. 맵에서 “building”이 아닌 레이어 요소가 전부 삭제됩니다.

이제 사용자의 강의에 사용하기 위해 남은 데이터를 shapefile로 저장해야 합니다.

  • multipolygons 레이어를 오른쪽 클릭한 다음 Save As... 를 선택합니다.

  • 파일 형식이 ESRI Shapefile 인지 확인한 후 새 exercise_data 디렉터리 아래 “epsg4326” 디렉터리에 저장합니다.

  • No Symbology 가 선택되어 있는지 확인하십시오. (심볼에 대한 강좌는 차후 추가 예정입니다.)

  • Add saved file to map 도 선택할 수 있습니다.

맵에 buildings 레이어가 추가되면 다음 표현식을 써서 naturallanduse 항목에 대해 같은 과정을 반복합니다.

주석

다음 필터 표현식을 진행하기 전에 (Layer properties 대화 창을 통해) multipolygons 레이어에서 이전 필터를 지워줘야 합니다!

  • natural: “natural = ‘water’”
  • landuse: “landuse != ‘NULL’”

결과로 나온 데이터를 각각 새 exercise_data 디렉터리(예를 들자면 “water”, “landuse”) 아래 “epsg4326” 디렉터리에 저장해야 합니다.

그 다음 linespoints 레이어에서 다음 항목들을 추출해서 상응하는 디렉터리에 저장해야 합니다.

  • lines: “highway != ‘NULL’” 을 써서 roads 로, “waterway != ‘NULL’” 을 써서 rivers

  • points: “place != ‘NULL’” 을 써서 places

이렇게 데이터 추출이 완료되면 multipolygons, lines, points 레이어를 삭제해도 됩니다.

이제 사용자 맵이 이와 비슷하게 보일 것입니다. (심볼은 매우 다를 수 있습니다.)

../../../_images/post_osm_import.png

중요한 것은 앞에 보이는 6개 레이어에 대응하는 레이어가 있으며, 모든 레이어가 데이터를 담고 있어야 한다는 점입니다.

마지막으로 landuse 레이어에서 강의에 쓰일 spatiallite 파일을 생성합니다.

  • landuse 레이어를 오른쪽 클릭한 다음 Save as... 를 선택합니다.

  • 파일 형식으로 SpatialLite 를 선택한 다음 “epsg4326” 디렉터리 아래 landuse 파일로 저장합니다.

  • OK 를 클릭합니다.

  • landuse.shp 및 (생성되었다면) 관련 파일을 삭제합니다.

1.2.2. hard Try Yourself SRTM DEM tiff 파일 생성

모듈 6(벡터 데이터 생성) 및 모듈 8(래스터)에 사용자 강의에 쓰일 지역의 래스터 이미지(SRTM DEM)가 필요합니다.

CGIAR-CGI: http://srtm.csi.cgiar.org/ 에서 SRTM DEM을 다운로드할 수 있습니다.

사용자가 선택한 지역 전체를 포함하는 이미지가 필요합니다.

필수 파일(들)을 다운로드한 다음 “exercise_data” 디렉터리 아래 “raster/SRTM/” 디렉터리에 저장합니다.

모듈 6의 강의 1.2를 보면 수강생이 디지타이즈해야 하는 학교 운동장 3개의 근접 이미지가 있습니다. 따라서 사용자의 새로운 SRTM DEM tiff 파일(들)을 이용해 이 이미지들을 재생성해야 합니다. 꼭 학교 운동장일 필요는 없습니다. 동일한 학교 토지이용 유형 3개면 됩니다. (예를 들어 학교 건물, 운동장, 주차장 등)

참고로 예제 데이터에 포함된 이미지는 다음과 같습니다.

../../../_images/field_outlines.png ../../../_images/school_area_one.png

1.2.3. basic Try Yourself 표식 교체

사용자 로컬 데이터를 생성한 다음, 마지막으로 conf.py 안에 있는 표식(token)을 교체해서 사용자 로컬 버전에 상응하는 명칭들이 교육 교재에 나오도록 해야 합니다.

교체해야 할 표식들은 다음과 같습니다.

  • majorUrbanName: 기본값은 “Swellendam”입니다. 사용자 지역의 중심 도시의 명칭으로 바꾸십시오.

  • schoolAreaType1: 기본값은 “athletics field” 입니다. 사용자 지역에서 가장 큰 학교 지역 유형의 명칭으로 바꾸십시오.

  • largeLandUseArea: 기본값은 “Bontebok National Park” 입니다. 사용자 지역에서 가장 큰 토지이용 폴리곤의 명칭으로 바꾸십시오.

  • srtmFileName: 기본값은 srtm_41_19.tif 입니다. 사용자의 SRTM DEM 파일명으로 바꾸십시오.

  • localCRS: 기본값은 WGS 84 / UTM 34S 입니다. 사용자 지역의 정확한 CRS로 바꿔야 합니다.