교육 교재와 함께 제공되는 샘플 데이터는 Swellendam 마을 및 그 주변에 대한 자료입니다. Swellendam 은 남아프리카 공화국의 웨스턴케이프에 있는 케이프타운에서 동쪽으로 2시간 거리에 있습니다. 이 데이터셋의 피처명은 영어와 아프리칸스어 두 가지로 되어 있습니다.
누구나 이 데이터셋을 어려움없이 이용할 수 있습니다. 그러나 사용자 자국 또는 고향의 데이터를 이용하고자 할 경우, 모듈 3에서 모듈 7.2까지의 모든 강의에 사용자의 데이터를 쓸 수 있습니다. 이후 강의에는 좀더 복잡한 데이터 소스를 사용하게 되는데, 사용자의 지역에 따라 이런 데이터가 존재하지 않을 수도 있습니다.
주석
강의 담당자나 숙련된 QGIS 사용자가 강의에 로컬 샘플 데이터를 이용하고자 할 경우 이 준비 과정이 필요합니다. 교육 교재와 함께 기본 데이터셋이 제공되지만, 기본 데이터셋을 로컬 데이터로 대체하고자 한다면 다음 지침을 따라야 합니다.
주석
이 교육 교재 전반에 쓰이는 샘플 데이터를 http://qgis.org/downloads/data/training_manual_exercise_data.zip 에서 다운로드할 수 있습니다.
주석
이 지침은 사용자가 QGIS를 잘 알고 있다고 가정하며, 강의 교재로 쓰이도록 작성된 것은 아닙니다.
사용자의 강의에 기본 데이터셋 대신 로컬 데이터를 사용하고자 할 경우 QGIS에 내장된 도구로 간단히 데이터를 준비할 수 있습니다. 이때 사용자가 선택한 지역은 도심과 교외가 균형 있게 분포하며, 서로 다른 종류의 도로와 (자연보호구역 또는 농장 같은) 지역 경계, 그리고 하천 같은 지표수를 포함해야 합니다.
새 QGIS 프로젝트 열기
Vector 드롭다운 메뉴에서 OpenStreetMap -> Download Data 메뉴를 선택합니다. 그 다음 사용자가 원하는 지역의 좌표를 직접 입력하거나 기존 레이어를 이용해서 좌표를 설정할 수 있습니다.
반환되는 .osm 파일을 저장하려면 위치를 선택하고 OK 를 클릭합니다.
그 다음 Add Vector Layer 버튼을 클릭해서 .osm 파일을 열 수 있습니다. 브라우저 창에서 All files 를 선택해야 할 수도 있습니다. 아니면 파일을 QGIS 창으로 드래그 & 드롭 할 수도 있습니다.
대화 창이 열리면 other_relations 및 multilinestrings 레이어를 제외한 모든 레이어를 선택합니다.
OSM의 명명 규칙을 따르는 4개 레이어가 사용자 맵에 로드됩니다. (벡터 데이터를 보려면 줌인/줌아웃해야 할 수도 있습니다.)
이 레이어들에서 쓸 만한 데이터를 추출해서 다시 명명해, 해당하는 shapefile을 생성해야 합니다.
먼저 multipolygons 레이어를 더블클릭해서 Layer properties 대화 창을 엽니다.
General 탭을 선택하고 Query Builder 를 클릭해서 Query builder 창을 엽니다.
이제 이 레이어에서 교육 교재 전반에 걸쳐 사용하게 될 다음 세 가지 항목의 데이터를 추출해야 합니다.
natural (특히 지표수)
사용자 지역이 담고 있는 데이터를 샘플링해서 사용자의 지역이 어떤 결과를 내놓을지 볼 수도 있습니다. “landuse” 항목에 아무것도 없다면 제외해도 됩니다.
필요한 데이터를 추출하려면 각 항목에 대해 필터 표현식을 작성해야 합니다. “building” 항목을 예로 들어보겠습니다.
다음 표현식 building != "NULL" 을 텍스트 영역에 입력하고 Test 를 클릭해서 이 쿼리가 얼마나 많은 결과를 반환하는지 확인합니다. 결과가 적을 경우 레이어의 Attribute Table 을 보면 OSM이 사용자 지역에 대해 어떤 데이터를 반환했는지 확인할 수 있습니다.
OK 를 클릭하십시오. 맵에서 “building”이 아닌 레이어 요소가 전부 삭제됩니다.
이제 사용자의 강의에 사용하기 위해 남은 데이터를 shapefile로 저장해야 합니다.
multipolygons 레이어를 오른쪽 클릭한 다음 Save As... 를 선택합니다.
파일 형식이 ESRI Shapefile 인지 확인한 후 새 exercise_data 디렉터리 아래 “epsg4326” 디렉터리에 저장합니다.
No Symbology 가 선택되어 있는지 확인하십시오. (심볼에 대한 강좌는 차후 추가 예정입니다.)
Add saved file to map 도 선택할 수 있습니다.
맵에 buildings 레이어가 추가되면 다음 표현식을 써서 natural 및 landuse 항목에 대해 같은 과정을 반복합니다.
주석
다음 필터 표현식을 진행하기 전에 (Layer properties 대화 창을 통해) multipolygons 레이어에서 이전 필터를 지워줘야 합니다!
결과로 나온 데이터를 각각 새 exercise_data 디렉터리(예를 들자면 “water”, “landuse”) 아래 “epsg4326” 디렉터리에 저장해야 합니다.
그 다음 lines 와 points 레이어에서 다음 항목들을 추출해서 상응하는 디렉터리에 저장해야 합니다.
lines: “highway != ‘NULL’” 을 써서 roads 로, “waterway != ‘NULL’” 을 써서 rivers 로
points: “place != ‘NULL’” 을 써서 places 로
이렇게 데이터 추출이 완료되면 multipolygons, lines, points 레이어를 삭제해도 됩니다.
이제 사용자 맵이 이와 비슷하게 보일 것입니다. (심볼은 매우 다를 수 있습니다.)
중요한 것은 앞에 보이는 6개 레이어에 대응하는 레이어가 있으며, 모든 레이어가 데이터를 담고 있어야 한다는 점입니다.
마지막으로 landuse 레이어에서 강의에 쓰일 spatiallite 파일을 생성합니다.
landuse 레이어를 오른쪽 클릭한 다음 Save as... 를 선택합니다.
파일 형식으로 SpatialLite 를 선택한 다음 “epsg4326” 디렉터리 아래 landuse 파일로 저장합니다.
OK 를 클릭합니다.
landuse.shp 및 (생성되었다면) 관련 파일을 삭제합니다.
모듈 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개면 됩니다. (예를 들어 학교 건물, 운동장, 주차장 등)
참고로 예제 데이터에 포함된 이미지는 다음과 같습니다.
사용자 로컬 데이터를 생성한 다음, 마지막으로 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로 바꿔야 합니다.