이 강의를 통해 QGIS를 이용한 완전한 GIS 분석을 하게 될 것입니다.
주석
이 강의는 Linfiniti와 S. Motala(남아프리카공화국 케이프 페닌슐라 기술대학교)가 작성했습니다.
여러분은 케이프 페닌슐라 주변에서 희귀한 파인보스 식물종에 적합한 서식지를 찾아야 합니다. 케이프 페닌슐라에서의 조사 범위는 Melkbosstrand의 남쪽, Strand의 서쪽입니다. 식물학자들은 해당 종이 선호하는 환경을 다음과 같이 제시하고 있습니다.
동쪽을 면한 비탈에서 자랍니다.
15%에서 60% 사이의 경사도에서 자랍니다.
연간 강수량이 1200mm를 초과하는 지역에서 자랍니다.
인간 거주지에서 최소 250m 이상 떨어진 지역에서 발견됩니다.
초지의 면적이 최소 6000㎡ 이상이어야 합니다.
웨스턴 케이프 자연보전위원회의 자원봉사자로서, 여러분은 여러분의 집에서 가장 가까운 해당 식물에 적합한 토지를 찾아보기로 했습니다. 여러분의 GIS 기술을 이용해서 어디를 찾아봐야 할지 결정하십시오.
이 문제를 해결하려면 여러분의 집에서 가장 가까운 후보 지역을 찾는 데 쓸 수 있는 데이터( exercise_data/more_analysis 경로에서 찾을 수 있습니다)를 사용해야 할 것입니다. 여러분이 (이 문제가 제기된) 케이프타운에 살고 있지 않을 경우, 케이프타운 지역의 아무 집이나 선택해도 됩니다. 이 문제의 해답은 다음과 같은 단계를 포함할 것입니다.
DEM을 분석해서 알맞은 경사도를 가진, 동쪽을 면하고 있는 비탈을 찾고,
강수량 래스터를 분석해서 알맞은 강수량을 가진 곳을 찾아,
도시계획 벡터 레이어를 분석해서 인간 거주지에서 떨어져 있는, 알맞은 면적의 토지를 찾습니다.
화면의 최우하단에 있는 “CRS status” 버튼을 클릭하십시오. 대화 창이 뜨면 CRS 탭에 있는 Coordinate reference systems of the world 박스가 보일 겁니다.
이 박스에서 Projected Coordinate Systems ‣ Universal Transverse Mercator (UTM) 을 찾으십시오.
WGS 84 / UTM zone 33S (EPSG 코드 32733) 항목을 선택하십시오.
OK 를 클릭하십시오. 이제 맵이 UTM33S 좌표계를 사용하게 됐습니다.
툴바에서 Save Project As 버튼을 클릭하거나, 메뉴에서 File ‣ Save Project As... 항목을 선택해서 맵을 저장하십시오.
여러분의 컴퓨터에 Rasterprac 이라는 디렉터리를 생성한 다음, 맵을 해당 디렉터리에 저장하십시오. 여러분이 생성할 모든 레이어도 이 디렉터리에 저장하게 됩니다.
데이터를 처리하려면 맵 캔버스에 필수 레이어(도로명, 도시 구역, 강수량, DEM)를 로드해야 합니다.
Add Vector Layer 버튼을 클릭하거나, 메뉴에서 Layer ‣ Add Vector Layer... 항목을 선택하십시오.
대화 창이 뜨면, File 라디오 버튼을 선택하도록 하십시오.
Browse 버튼을 클릭하십시오.
대화 창이 뜨면, exercise_data/more_analysis/streets 디렉터리를 여십시오.
Street_Names_UTM33S.shp 파일을 선택하십시오.
Open 을 클릭하십시오.
대화 창이 닫히면서 이전 대화 창의 Browse 버튼 옆에 있는 텍스트 란에 파일 경로가 지정됩니다. 이렇게 하면 정확한 파일을 선택했는지 확인할 수 있습니다. 또 원한다면 이 텍스트 란에 파일 경로를 직접 입력해도 됩니다.
Open 을 클릭합니다. 맵에 벡터 레이어를 로드할 것입니다. 색상은 자동 할당됩니다. 이후 단계에서 색상을 조절하겠습니다.
레이어의 명칭을 Streets 로 변경합니다.
(기본적으로 화면의 왼쪽에 있는 패널인) Layers list 에 있는 해당 레이어를 오른쪽 클릭하십시오.
컨텍스트 메뉴에서 Rename 을 클릭해서 명칭을 변경한 다음, 완료 시 Enter 키를 누르십시오.
벡터 추가 과정을 반복합니다. 다만 이번에는 Zoning 디렉터리에 있는 Generalised_Zoning_Dissolve_UTM33S.shp 파일을 선택하십시오.
해당 레이어의 명칭을 Zoning 으로 변경하십시오.
Add Raster Layer 버튼을 클릭하거나, 메뉴에서 Layer ‣ Add Raster Layer... 항목을 선택하십시오.
적절한 파일을 찾아 선택한 다음, Open 을 선택하십시오.
두 래스터 파일에 대해 이 과정을 반복합니다. 필요한 파일은 DEM/reproject/DEM 과 Rainfall/reprojected/rainfall.tif 입니다.
강수량 래스터의 명칭을 Rainfall (첫 글자를 대문자로) 로 변경합니다. 처음 불러왔을 때 이미지가 회색 사각형으로 보일 것입니다. 걱정하지 마십시오. 이후 단계에서 조정할 것입니다.
맵을 저장하십시오.
레이어에 담긴 정보를 제대로 보려면 레이어의 심볼을 변경해야 합니다.
Layers list 에서 Streets 레이어를 오른쪽 클릭하십시오.
컨텍스트 메뉴에서 Properties 항목을 선택합니다.
대화 창이 뜨면 Style 탭을 선택합니다.
Streets 레이어의 현재 색상을 나타내는 사각형 옆의 Change 버튼을 클릭하십시오.
표준 색상 대화 창에서 새 색상을 선택하십시오.
OK 를 클릭하십시오.
다시 Layer Properties 창의 OK 를 클릭하십시오. Streets 레이어의 색상이 변경됩니다.
Zoning 레이어에 대해서도 비슷한 과정을 따라 적절한 색상을 선택하십시오.
래스터 레이어의 심볼은 조금 다릅니다.
Rainfall 레스터의 Layer Properties 대화 창을 엽니다.
Style 탭을 선택하십시오. 벡터 레이어 용 스타일 대화 창과는 매우 다르다는 것을 알 수 있습니다.
Use standard deviation 버튼을 선택했는지 확인하십시오.
그 옆에 있는 텍스트 란의 값을 2.00 으로 변경하십시오. (기본값 0.00 으로 설정돼 있을 겁니다.)
Contrast enhancement 라는 제목 아래에 있는 Current 드롭다운 목록의 값을 Stretch to MinMax 로 변경합니다.
OK 를 클릭하십시오. “Rainfall” 래스터가 보인다면, 각 픽셀의 서로 다른 밝기 값을 볼 수 있도록 색상이 변경될 것입니다.
DEM에 대해서도 이 과정을 반복하십시오. 다만 구간화에 쓰이는 표준 편차를 4.00 으로 설정하십시오.
Layers list 에서, 레이어들을 아래위로 클릭 & 드래그해서 맵 상에 표출되는 순서를 변경하십시오.
QGIS 신규 버전의 경우, Layers list 아래에 Control rendering order 체크박스가 있을 것입니다. 체크돼 있는지 확인하십시오.
이제 모든 데이터를 불러와서 제대로 시각화했으니, 분석을 시작할 수 있습니다. 처음에 오리기 작업을 하는 편이 제일 좋습니다. 그렇게 하면 어차피 사용하지도 않을 지역의 값들을 계산하는 데 컴퓨터의 계산 능력을 허비하지 않아도 됩니다.
여러분의 맵에 벡터 레이어 admin_boundaries/Western_Cape_UTM33S.shp 를 불러오십시오.
명칭을 Districts 로 변경하십시오.
Layers list 에서 Districts 레이어를 오른쪽 클릭합니다.
컨텍스트 메뉴에서 Query... 항목을 선택하십시오. Query Builder 대화 창이 나타납니다.
이제 다음 구역들만 선택하는 쿼리를 만들어보겠습니다.
Bellville
Cape
Goodwood
Kuils River
Mitchells Plain
Simons Town
Wynberg
Fields 목록에서 NAME_2 항목을 더블클릭하십시오. 아래쪽에 있는 SQL where clause 텍스트 란에 나타날 것입니다.
= 버튼을 클릭하면 SQL 쿼리에 = 부호가 추가됩니다.
(현재 비어 있는) Values 목록 아래 있는 All 버튼을 클릭하십시오. 잠시 후 Values 목록이 선택한 항목( NAME_2 )의 값들로 채워질 것입니다.
Values 목록에서 Bellville 값을 더블클릭하십시오. 이전과 마찬가지로 SQL 쿼리에 추가됩니다.
하나 이상의 구역을 선택하려면, 불 연산자 OR 를 사용해야 합니다.
OR 버튼을 클릭해서 SQL 쿼리에 추가하십시오.
앞과 비슷한 과정을 거쳐, 다음 내용을 기존 쿼리에 추가하십시오.
"NAME_2" = 'Cape'
다시 OR 연산자를 추가한 다음, 비슷한 방법으로 구역 목록을 차례로 추가하십시오.
최종 쿼리는 다음과 같아야 합니다.
"NAME_2" = 'Bellville' OR "NAME_2" = 'Cape' OR "NAME_2" = 'Goodwood' OR
"NAME_2" = 'Kuils River' OR "NAME_2" = 'Mitchells Plain' OR "NAME_2" =
'Simons Town' OR "NAME_2" = 'Wynberg'
OK 를 클릭하십시오. 이제 맵 상에 앞의 목록에 있는 구역들만 보이게 됩니다.
이제 관심 지역을 지정했으니, 래스터를 이 지역에 맞춰 자를 수 있습니다.
DEM, Rainfall 과 Districts 레이어만 보이도록 확인하십시오.
Districts 가 보이도록 맨 위에 위치해야 합니다.
메뉴에서 Raster ‣ Extraction ‣ Clipper 항목을 선택해서 오리기 대화 창을 여십시오.
Input file (raster) 드롭다운 목록에서 DEM 레이어를 선택하십시오.
Select... 버튼을 클릭해서 Output file 텍스트 란에 산출물의 경로를 지정하십시오.
사용자의 Rasterprac 디렉터리를 찾아가십시오.
파일명을 입력하십시오.
파일을 저장하십시오. No data value 체크박스는 체크하지 않습니다.
정확한 라디오 버튼을 선택했는지 확인해서 Extent 오리기 모드를 사용합니다.
캔버스 안의 지역을 클릭 & 드래그해서 구역들을 포함하고 있는 지역을 선택하십시오.
Load into canvas when finished 체크박스를 체크합니다.
OK 를 클릭하십시오.
오리기 작업이 완료된 후, Clipper 대화 창을 닫지 마십시오. (그러면 이미 지정한 오리기 지역을 잃게 됩니다.)
Input file (raster) 드롭다운 목록에 있는 Rainfall 래스터를 선택하고 산출 파일명을 다르게 지정합니다.
다른 옵션들은 그대로 두십시오. 여러분이 이전 단계에 지정한 오리기 지역도 건드리지 마십시오. 모든 것을 그대로 둔 채 OK 를 클릭합니다.
이 두 번째 오리기 작업이 완료된 다음에, Clipper 대화 창을 닫아도 됩니다.
맵을 저장하십시오.
Layers list 에서 원래 Rainfall 및 DEM 레이어를 제거합니다.
해당 레이어들을 오른쪽 클릭한 다음 Remove 를 선택하십시오.
사용자의 저장 장치에서 데이터를 삭제하는 것이 아니라, 사용자 맵에서 해당 데이터를 빼는 것뿐입니다.
Streets 레이어의 라벨을 비활성화합니다.
Labeling 버튼을 클릭하십시오.
Label this layer with 체크박스를 해제하십시오.
OK 를 클릭하십시오.
다시 모든 Streets 를 보이도록 하십시오.
Layers list 에서 해당 레이어를 오른쪽 클릭합니다.
Query 를 선택합니다.
Query 대화 창이 나타나면, Clear 버튼을 클릭한 다음 OK 를 클릭합니다.
데이터를 불러올 동안 기다리십시오. 이제 모든 도로가 보일 것입니다.
래스터 심볼을 이전처럼 변경하십시오. ( 래스터 레이어의 심볼 변경 참조)
맵을 저장하십시오.
이제 Layers list 에서 레이어 옆에 있는 체크박스를 해제해서 벡터 레이어를 보이지 않게 할 수 있습니다. 이렇게 하면 맵을 더 빨리 렌더링할 수 있어 시간을 절약할 수 있습니다.
음영기복도를 생성하려면, 그 목적을 위해 작성된 플러그인을 사용해야 합니다.
QGIS 1.8부터 기본적으로 이 플러그인을 포함하고 있습니다. 하지만 기본 상태에서는 보이지 않을 수도 있습니다. 사용자 시스템에서 사용할 수 있는지 확인하려면,
메뉴에서 Plugins ‣ Manage Plugins... 항목을 클릭하십시오.
Raster Terrain Analysis plugin 옆에 있는 체크박스가 체크되어 있는지 확인하십시오.
OK 를 클릭하십시오.
이제 Raster ‣ Terrain analysis 메뉴 항목을 통해 이 플러그인을 사용할 수 있습니다.
가끔 플러그인이 사용자 시스템에 설치된 특정 파이썬 모듈에 의존하고 있을 수도 있습니다. 플러그인이 의존성 문제로 작동하지 않을 경우, 강사에게 도움을 청하십시오.
Layers list 에서 DEM 레이어가 활성화돼 있는지 (예를 들어 클릭된 상태로 하이라이트돼 있는지) 확인하십시오.
메뉴에서 Raster ‣ Terrain analysis ‣ Hillshade 항목을 클릭해서 Hillshade 대화 창을 여십시오.
산출물 레이어를 위한 적절한 경로를 지정한 뒤 hillshade 라고 명명합니다.
Add result to project 체크박스를 체크했는지 확인하십시오.
OK 를 클릭하십시오.
처리가 끝날 때까지 기다리십시오.
Layers list 에 새 hillshade 레이어가 추가됐습니다.
Layers list 에 있는 hillshade 레이어를 오른쪽 클릭해서 Properties 대화 창을 여십시오.
Transparency 탭을 클릭한 다음 투명도 슬라이더를 80% 로 설정합니다.
대화 창의 OK 를 클릭합니다.
오린 DEM 위에 겹쳐진 반투명한 음영기복도의 효과를 확인해보십시오.
메뉴에서 Raster ‣ Terrain analysis 항목을 클릭하십시오.
Slope 분석 유형을 선택하고, 입력 레이어를 오린 DEM으로 설정하십시오.
산출물을 위한 적절한 파일명 및 경로를 지정하십시오.
Add result to project 체크박스를 체크했는지 확인하십시오.
OK 를 클릭하십시오.
경사도 이미지가 계산되어 맵에 추가되었습니다. 하지만 이 역시 회색 사각형이군요. 그 내용을 제대로 보려면, 다음과 같이 심볼을 변경하십시오.
(마찬가지로 해당 레이어의 컨텍스트 메뉴를 통해) 레이어의 Properties 대화 창을 여십시오.
Style 탭을 클릭하십시오.
(Color map 드롭다운 메뉴가) Grayscale 이라면 Pseudocolor 로 변경하십시오.
Use standard deviation 라디오 버튼을 선택했는지 확인하십시오.
메뉴에서 Raster ‣ Raster calculator 항목을 클릭하십시오.
산출물 레이어를 위한 경로로 사용자의 Rasterprac 디렉터리를 지정하십시오.
Add result to project 체크박스를 체크했는지 확인하십시오.
왼쪽에 있는 Raster bands 목록에서 사용자의 Layers list 에 있는 모든 래스터 레이어를 볼 수 있습니다. 사용자의 경사도 레이어 명칭이 slope 인 경우, 목록에 slope@1 이라고 나타날 것입니다.
경사는 15 ˚에서 60 ˚ 사이여야 합니다. 따라서 15 ˚ 미만이나 60 ˚ 초과 지역을 제외해야 합니다.
인터페이스에 있는 목록 항목 및 버튼을 이용해서 다음 표현식을 작성하십시오.
((slope@1 < 15) OR (slope@1 > 60)) = 0
Output layer 란에 적절한 경로 및 파일명을 설정하십시오.
OK 를 클릭하십시오.
이제 동일한 방법으로 알맞은 향(동쪽 : 45 ˚에서 135 ˚ 사이)을 찾으십시오.
다음 표현식을 작성하십시오.
((aspect@1 < 45) OR (aspect@1 > 135)) = 0
역시 동일한 방법으로 알맞은 강수량( 1200mm 초과)을 찾으십시오. 다음 표현식을 작성하십시오.
(rainfall@1 < 1200) = 0
모든 레이어를 재범주화했다면, 이제 (레이어들이 맵에 제대로 추가됐다면) 맵 상에 회색 사각형들을 볼 수 있을 것입니다. 두 가지 범주만을 가진 (1 과 0, 즉 참과 거짓) 래스터 데이터를 제대로 표현하려면 래스터의 심볼을 변경해야 합니다.
레이어의 Properties 대화창에 있는 Style 탭을 선택합니다.
Load min / max values from band 라는 제목 아래 있는 Actual (slower) 라디오 버튼을 선택하십시오.
Load 버튼을 클릭하십시오.
이제 Custom min / max values 란이 0 과 1 로 채워질 것입니다. (아닐 경우, 사용자가 데이터를 재범주화할 때 실수를 했다는 의미입니다. 다시 재범주화 작업을 해야 합니다.)
Contrast enhancement 라는 제목 아래에 있는 Current 드롭다운 목록을 Stretch to MinMax 로 설정합니다.
OK 를 클릭하십시오.
재범주화된 세 래스터에 대해 이 과정을 각각 반복한 다음, 반드시 작업을 저장하십시오!
하나 남은 기준은 도시 지역에서 250m 이상 떨어진 지역이어야 한다는 것입니다. 교외 지역의 경계에서 250m 이상 안쪽에 있는 지역을 계산해서 이 요구 사항을 만족시킬 것입니다. 따라서, 먼저 모든 교외 지역을 찾아야 합니다.
Layers list 에 있는 모든 레이어를 숨기십시오.
Zoning 벡터 레이어만 활성화하십시오.
해당 레이어를 오른쪽 클릭한 다음, Query 대화 창을 불러옵니다.
다음 쿼리를 작성하십시오.
"Gen_Zoning" = 'Rural'
작성 방법을 잘 모르겠다면 이전 단계에서 Streets 쿼리 작성 시 지침을 참조하십시오.
작성 완료 시 Query 대화 창을 닫으십시오.
Zoning 레이어에서 추출된 폴리곤 집합이 보일 것입니다. 이것을 새 레이어 파일로 저장해야 합니다.
Zoning 레이어를 오른쪽 클릭한 다음 Save As... 를 선택하십시오.
Zoning 디렉터리에 새 레이어를 저장하십시오.
산출물 파일명을 rural.shp 으로 지정합니다.
OK 를 클릭하십시오.
맵에 이 레이어를 추가하십시오.
메뉴에서 Vector ‣ Geoprocessing Tools ‣ Dissolve 항목을 클릭하십시오.
입력 벡터 레이어로 rural 레이어를 선택하고, Use only selected features 체크박스를 해제하십시오.
Dissolve field 아래, — Dissolve all — 을 선택하십시오.
Zoning 디렉터리에 새 레이어를 저장하십시오.
OK 를 클릭합니다. 새 레이어를 TOC(“Table of Contents”, Layers list 를 의미)에 추가하기 원하느냐고 묻는 대화 창이 나타날 것입니다.
Yes 를 클릭하십시오.
Dissolve 대화 창을 닫으십시오.
rural 및 Zoning 레이어를 제거하십시오.
맵을 저장하십시오.
이제 교외 지역 경계선에서 안쪽으로 250m 까지의 지역을 제외해야 합니다. 다음 단계에서 설명할 음의 버퍼를 생성하면 됩니다.
메뉴에서 Vector ‣ Geoprocessing Tools ‣ Buffer(s) 항목을 클릭하십시오.
대화 창이 뜨면, 입력 벡터 레이어로 rural_dissolve 레이어를 선택합니다. (Use only selected features 체크박스를 해제해야 합니다.)
Buffer distance 버튼을 선택한 다음 옆의 텍스트 란에 -250 값을 입력하십시오. 음수 값은 이 버퍼가 내부 버퍼라는 것을 의미합니다.
Dissolve buffer results 체크박스를 체크하십시오.
다른 교외 벡터 파일과 동일한 디렉터리에 산출물 파일을 저장하도록 설정하십시오.
산출물 파일명을 rural_buffer.shp 로 지정합니다.
Save 를 클릭합니다.
OK 를 클릭한 다음 처리가 완료될 때까지 기다리십시오.
대화 창이 뜨면 Yes 를 선택합니다.
Buffer 대화 창을 닫습니다.
rural_dissolve 레이어를 제거하십시오.
맵을 저장하십시오.
교외 구역을 기존 세 래스터와 함께 동일한 분석 작업에 포함시키려면, 해당 레이어도 래스터화해야 합니다. 그러나 래스터들을 분석 작업을 위해 호환시키려면 각 래스터들의 크기가 똑같아야 합니다. 따라서 래스터화 작업 전에 벡터를 세 래스터와 같은 크기로 오려내야 합니다. 벡터는 벡터로만 오릴 수 있으므로, 래스터와 동일한 크기의 범위(bounding box) 폴리곤을 생성해야 합니다.
메뉴에서 Layer –> New –> New Shapefile Layer... 항목을 클릭하십시오.
Type 제목 아래 Polygon 버튼을 선택하십시오.
Specify CRS 를 클릭한 다음, 좌표계를 WGS 84 / UTM zone 33S : EPSG:32733 으로 설정하십시오.
OK 를 클릭하십시오.
New Vector Layer 대화 창의 OK 도 클릭하십시오.
Zoning 디렉터리에 벡터를 저장합니다.
산출물 파일명을 bbox.shp 로 지정하십시오.
새 bbox 레이어 및 재범주화된 래스터 가운데 하나를 제외한 모든 레이어를 비활성화하십시오.
Layers list 에서 bbox 레이어가 하이라이트되었는지 확인하십시오.
메뉴에서 View > Toolbars 항목을 찾은 다음, Digitizing 이 선택되었는지 확인하십시오. 그러면 연필 또는 사인펜이 그려진 툴바 아이콘이 보일 것입니다. 바로 Toggle editing 버튼입니다.
Toggle editing 버튼을 클릭해서 편집 모드 로 들어갑니다. 그러면 벡터 레이어를 편집할 수 있습니다.
Toggle editing 버튼 근처에 있는 Add feature 버튼을 클릭하십시오. 쌍화살표 뒤에 숨어 있을 수도 있습니다. 이 경우, 쌍화살표를 클릭해서 Digitizing 툴바의 숨어 있는 버튼들을 보이도록 합니다.
Add feature 도구를 활성화시킨 다음, 래스터의 구석들을 클릭하십시오. 정확한 위치를 찾기 위해 마우스 휠로 줌인해야 할 수도 있습니다. 이 모드에서 맵을 이동하려면 마우스 중간 버튼이나 마우스 휠로 맵을 클릭 & 드래그하면 됩니다.
네 번째이자 마지막 포인트에서 오른쪽 클릭해서 피처를 완성하십시오.
shape ID를 위한 임의의 숫자를 입력하십시오.
OK 를 클릭하십시오.
Save edits 버튼을 클릭합니다.
Toggle editing 버튼을 클릭해서 편집 작업을 완료하십시오.
맵을 저장하십시오.
이제 범위를 생성했으니, 이를 사용해서 교외 버퍼 레이어를 오려낼 수 있습니다.
rural_buffer 레이어가 bbox 위에 오도록 한 다음, 이 두 레이어만 보이도록 하십시오.
메뉴에서 Vector > Geoprocessing Tools > Clip 항목을 클릭하십시오.
대화 창이 뜨면 입력 벡터 레이어에 rural_buffer 를, 오리기 레이어에 bbox 를 설정합니다. 양쪽 모두 Use only selected features 체크박스를 해제해야 합니다.
산출물 파일을 Zoning 디렉터리에 저장합니다.
산출물 파일명을 rural_clipped 로 지정하십시오.
OK 를 클릭하십시오.
레이어를 TOC에 추가하느냐는 메시지 창이 뜨면 Yes 를 클릭하십시오.
대화 창을 닫으십시오.
세 벡터를 비교해 보면서 결과를 직접 살펴보십시오.
bbox 및 rural_buffer 레이어를 제거한 다음, 사용자 맵을 저장합니다.
이제 래스터화 준비가 끝났습니다.
여러분이 생성할 새 래스터의 픽셀 크기를 설정해야 합니다. 따라서 먼저 기존 래스터의 픽셀 크기를 알아야 합니다.
기존 세 래스터 가운데 아무거나 골라서 Properties 대화 창을 여십시오.
Metadata 탭을 선택하십시오.
메타데이터 테이블의 Dimensions 라는 제목 아래 있는 X 와 Y 값을 기억하십시오.
Properties 대화 창을 닫으십시오.
메뉴에서 Raster ‣ Conversion ‣ Rasterize 항목을 클릭하십시오. 지원하지 않는 데이터셋이라는 경고가 뜰지도 모릅니다. 무시하고 클릭해서 메시지 창을 닫으십시오.
입력 레이어로 rural_clipped 를 선택하십시오.
산출물 파일을 Zoning 디렉터리에 저장하도록 설정합니다.
산출물 파일명을 rural_raster.tif 로 지정합니다.
New size 체크박스를 체크하고, 방금 기억해둔 X 와 Y 값을 입력하십시오.
Load into canvas... 체크박스를 체크하십시오.
실행될 명령어를 보여주는 텍스트 란 옆에 있는 연필 아이콘을 클릭하십시오. 입력되어 있는 텍스트 끝 부분에 공백을 입력한 후 -burn 1 이라고 입력합니다. 이렇게 하면 래스터화 기능이 기존 벡터를 새 래스터로 “굽고” 벡터가 커버하는 영역을 1 이라는 새 값으로 채웁니다. (이미지의 나머지 영역은 자동적으로 0 값이 됩니다.)
OK 를 클릭하십시오.
계산 완료 시 새 래스터가 사용자 맵에 추가될 것입니다.
새 래스터가 회색 사각형처럼 보일 것입니다. 래스터를 재범주화했을 때처럼 표출 스타일을 변경해볼 수도 있습니다.
맵을 저장하십시오.
이제 모든 4가지 기준이 각각 개별적인 래스터로 준비되었으므로, 모든 기준을 만족하는 지역을 보려면 래스터들을 결합해야 합니다. 그러려면 래스터들을 서로 곱하면 됩니다. 그렇게 하면 서로 겹치는 픽셀의 값이 모두 1 이면 1 값을 유지하지만, 네 래스터 가운데 하나라도 0 값의 픽셀인 경우엔 결과적으로 0 이 됩니다. 이런 방식으로, 서로 겹치는 지역만을 담은 결과물이 나오게 됩니다.
메뉴에서 Raster ‣ Raster calculator 항목을 클릭하십시오.
다음 표현식을 작성하십시오. (여러분이 지정한 명칭에 따라 적합한 레이어명을 이용하십시오.)
[Rural raster] * [Reclassified aspect] * [Reclassified slope] *
[Reclassified rainfall]
산출물을 Rasterprac 디렉터리에 저장하도록 설정합니다.
산출물 파일명을 cross_product.tif 로 지정합니다.
Add result to project 체크박스를 체크했는지 확인하십시오.
OK 를 클릭하십시오.
다른 재범주화 래스터의 스타일을 설정한 것처럼 새 래스터의 심볼을 변경하십시오. 이제 새 래스터가 모든 기준을 만족하는 지역을 제대로 표출할 것입니다.
최종 결과물을 얻으려면 면적이 6000m^2 를 초과하는 지역만을 선택해야 합니다. 그러나 면적을 정확하게 계산하는 것은 벡터 레이어에서만 가능하기 때문에, 래스터를 벡터화해야 합니다.
메뉴에서 Raster ‣ Conversion ‣ Polygonize 항목을 클릭하십시오.
cross_product 래스터를 선택하십시오.
산출물의 경로를 Rasterprac 으로 설정하십시오.
파일명을 candidate_areas.shp 로 지정하십시오.
Load into canvas when finished 체크박스를 체크했는지 확인합니다.
OK 를 클릭하십시오.
처리가 완료되면 대화 창을 닫으십시오.
래스터의 모든 영역이 벡터화되었으므로, 1 값을 가지는 영역만을 선택해야 합니다.
새 벡터의 Query 대화 창을 여십시오.
다음 쿼리를 작성하십시오.
"DN" = 1
OK 를 클릭하십시오.
쿼리가 완료된 후 candidate_areas 벡터를 저장해서 결과물인 새 벡터 파일을 생성하십시오. (1 값을 가지는 영역만 보이게 됩니다.) 이를 위해 해당 레이어를 오른쪽 클릭해서 Save as... 기능을 사용하십시오.
파일을 Rasterprac 디렉터리에 저장하도록 설정합니다.
파일명을 candidate_areas_only.shp 로 지정하십시오.
맵을 저장하십시오.
새 벡터 레이어를 오른쪽 클릭해서 컨텍스트 메뉴를 여십시오.
Open attribute table 을 선택합니다.
테이블 아래쪽에 있는 Toggle editing mode 버튼을 클릭하거나, Ctrl+E 키를 누르십시오.
테이블 아래쪽에 있는 Open field calculator 버튼을 클릭하거나, Ctrl+I 키를 누르십시오.
새로 나타난 대화 창의 New field 제목 아래, 항목명을 area 라고 입력하십시오. 산출물 항목 유형은 정수, 항목 길이는 10 이어야 합니다.
Field calculator expression 란에 다음과 같이 입력합니다.
$area
이렇게 하면 항목 계산기가 벡터 레이어의 각 폴리곤의 면적을 계산해서 (area 라는) 새 정수 열에 계산 값을 채우게 됩니다.
OK 를 클릭하십시오.
id 라는 또다른 새 항목에 대해서도 동일한 작업을 하십시오. Field calculator expression 란에 다음과 같이 입력합니다.
$id
이렇게 하면 각 폴리곤에 식별 목적의 유일한 ID를 부여하게 됩니다.
Toggle editing mode 를 다시 클릭하고, 저장 여부를 물어볼 경우 편집 내용을 저장하십시오.
이제 면적을 알게 됐으니,
쿼리를 (평소와 같이) 작성해서 6000m^2 보다 넓은 폴리곤만을 선택하십시오. 쿼리는 다음과 같습니다.
"area" > 6000
선택된 폴리곤 집합을 solution.shp 라는 명칭의 새 벡터 레이어로 저장하십시오.
이제 해답 영역들을 얻었으니, 사용자의 집에서 가장 가까운 곳을 선택할 차례입니다.
이전과 동일한 방법으로 새 벡터 레이어를 생성하되, 이번에는 Type 값에 Point 를 선택합니다.
레이어가 정확한 CRS를 사용하는지 확인하십시오!
새 레이어의 명칭을 house.shp 로 지정합니다.
새 레이어 생성을 완료하십시오.
(새 레이어를 선택한 다음) 편집 모드로 들어갑니다.
도로명을 기준으로 사용자의 주택 또는 현재 주거지가 있는 곳의 포인트를 클릭하십시오. 사용자의 집을 찾기 위해 다른 레이어를 열어 참조해야 할 수도 있습니다. 여러분이 이 근처에 살지 않는다면, 도로를 따라 집이 있을 만한 곳을 골라 클릭하십시오.
shape ID를 위한 임의의 숫자를 입력하십시오.
OK 를 클릭하십시오.
편집 내용을 저장하고 편집 모드를 끕니다.
맵을 저장하십시오.
사용자의 집에서 가장 가까운 폴리곤을 정하려면, 해답 영역 폴리곤들의 중심(“형태의 중앙”)을 찾아야 합니다.
메뉴에서 Vector ‣ Geometry Tools ‣ Polygon centroids 항목을 클릭하십시오.
입력 레이어로 solution.shp 을 설정하십시오.
산출물의 경로를 Rasterprac 으로 설정하십시오.
산출물 파일의 명칭을 solution_centroids.shp 로 설정하십시오.
OK 를 클릭해서 결과물을 TOC( Layers list )에 추가한 다음, 대화 창을 닫습니다.
새 레이어를 레이어 순서의 맨 위로 드래그해서 볼 수 있도록 만듭니다.
메뉴에서 Vector ‣ Analysis Tools ‣ Distance matrix 항목을 클릭합니다.
입력 레이어를 사용자의 집, 그리고 목표 레이어를 solution_centroids 로 설정해야 합니다. 두 레이어 모두 유일한 ID 항목인 id 항목을 사용해야 합니다.
산출물 행렬 유형을 linear 로 설정해야 합니다.
적절한 산출물 경로 및 파일명을 설정하십시오.
OK 를 클릭하십시오.
텍스트 편집기로 (또는 스프레드시트로) 산출물 파일을 열어보십시오. 어떤 목표 ID가 가장 짧은 Distance 와 연결되어 있는지 살펴보십시오. 동일한 거리가 하나 이상일 수도 있습니다.
QGIS에서 사용자의 집에서 가장 가까운 해답 영역을 (id 항목을 이용해서) 선택하는 쿼리를 작성하십시오.
연구 과제에 대한 최종 해답을 얻었습니다.
과제 제출 시 여러분이 선택한 (예를 들면 DEM 이나 slope 래스터 같은) 알맞은 래스터 위에 반투명한 음영기복도 레이어를 포함시키십시오. 또 여러분의 집은 물론 가장 가까운 해답 영역(들)의 폴리곤도 포함시켜야 합니다. 여러분의 결과물 맵을 생성하는 데 지도 제작을 위한 최상의 관습들을 따르십시오.