9.4. Lesson: 보충 예제

이 강의를 통해 QGIS를 이용한 완전한 GIS 분석을 하게 될 것입니다.

참고

이 강의는 Linfiniti와 S. Motala(남아프리카공화국 케이프 페닌슐라 기술대학교)가 작성했습니다.

9.4.1. 과제 제시

여러분은 케이프 페닌슐라 주변에서 희귀한 파인보스 식물종에 적합한 서식지를 찾아야 합니다. 케이프 페닌슐라에서의 조사 범위는 Melkbosstrand의 남쪽, Strand의 서쪽입니다. 식물학자들은 해당 종이 선호하는 환경을 다음과 같이 제시하고 있습니다.

  • 동쪽을 면한 비탈에서 자랍니다.

  • 15%에서 60% 사이의 경사도에서 자랍니다.

  • 연간 강수량이 1200mm를 초과하는 지역에서 자랍니다.

  • 인간 거주지에서 최소 250m 이상 떨어진 지역에서 발견됩니다.

  • 초지의 면적이 최소 6000㎡ 이상이어야 합니다.

웨스턴 케이프 자연보전위원회의 자원봉사자로서, 여러분은 여러분의 집에서 가장 가까운 해당 식물에 적합한 토지를 찾아보기로 했습니다. 여러분의 GIS 기술을 이용해서 어디를 찾아봐야 할지 결정하십시오.

9.4.2. 해답의 개요

The data for this exercise can be found in the exercise_data/more_analysis folder. You are going to find the candidate area that is closest to a house of your choice. The solution will involve:

  1. DEM을 분석해서 알맞은 경사도를 가진, 동쪽을 면하고 있는 비탈을 찾고,

  2. 강수량 래스터를 분석해서 알맞은 강수량을 가진 곳을 찾아,

  3. 도시계획 벡터 레이어를 분석해서 인간 거주지에서 떨어져 있는, 알맞은 면적의 토지를 찾습니다.

9.4.3. 맵 준비

  1. 화면의 최우하단에 있는 《CRS status》 버튼을 클릭하십시오. 대화 창이 뜨면 CRS 탭에 있는 Coordinate reference systems of the world 박스가 보일 겁니다.

  2. 이 박스에서 Projected Coordinate Systems ‣ Universal Transverse Mercator (UTM) 을 찾으십시오.

  3. Select the entry WGS 84 / UTM zone 33S (with the EPSG code 32733).

  4. Click OK. The map is now in the UTM33S coordinate reference system.

  5. 툴바에서 Save Project As 버튼을 클릭하거나, 메뉴에서 File ‣ Save Project As… 항목을 선택해서 맵을 저장하십시오.

  6. Save the map in a directory called Rasterprac that you should create somewhere on your computer. You will save whatever layers you create in this directory as well.

9.4.4. 맵에 데이터 불러오기

데이터를 처리하려면 맵 캔버스에 필수 레이어(도로명, 도시 구역, 강수량, DEM)를 로드해야 합니다.

9.4.4.1. For vectors…

  1. Click on the dataSourceManager Open Data Source Manager button and enable the addOgrLayer Vector tab in the dialog that appears, or use the Layer ‣ Add Layer ‣ addOgrLayer Add Vector Layer… menu item.

  2. Ensure that the File radio button is selected.

  3. Click on the button to browse for Vector dataset(s).

  4. In the dialog that appears, open the exercise_data/more_analysis/streets directory.

  5. Select the file Street_Names_UTM33S.shp.

  6. Open 을 클릭하십시오.

    The dialog closes and shows the original dialog, with the file path specified in the text field next to the Vector dataset(s) button. This allows you to ensure that the correct file is selected. It is also possible to enter the file path in this field manually, should you wish to do so.

  7. Click Add. The vector layer will load in your map. Its color is automatically assigned. It will be changed later.

  8. Rename the layer to Streets.

    1. Right-click on it in the Layers panel (by default, the pane along the left-hand side of the screen).

    2. Click Rename in the dialog that appears and rename it, pressing the Enter key when done.

  9. Repeat the vector adding process, but this time select the Generalised_Zoning_Dissolve_UTM33S.shp file in the Zoning directory.

  10. Rename it to Zoning.

9.4.4.2. For rasters…

  1. Click on the dataSourceManager Open Data Source Manager button and enable the addRasterLayer Raster tab in the dialog that appears, or use the Layer ‣ Add Layer ‣ addRasterLayer Add Raster Layer… menu item.

  2. Ensure that the File radio button is selected.

  3. 적절한 파일을 찾아 선택한 다음, Open 을 선택하십시오.

  4. Do this for each of the two raster files. The files you want are DEM/reproject/DEM.tif and Rainfall/reprojected/rainfall.tif.

  5. Rename the rainfall raster to Rainfall (with an initial capital). Initially when you load them, the images will be gray rectangles. Don’t worry, this will be changed later.

  6. 맵을 저장하십시오.

레이어에 담긴 정보를 제대로 보려면 레이어의 심볼을 변경해야 합니다.

9.4.5. 벡터 레이어의 심볼 변경

  1. In the Layers panel, right-click on the Streets layer.

  2. 컨텍스트 메뉴에서 Properties 항목을 선택합니다.

  3. Switch to the Symbology tab in the dialog that appears.

  4. Streets 레이어의 현재 색상을 나타내는 사각형 옆의 Change 버튼을 클릭하십시오.

  5. 표준 색상 대화 창에서 새 색상을 선택하십시오.

  6. OK 를 클릭하십시오.

  7. 다시 Layer Properties 창의 OK 를 클릭하십시오. Streets 레이어의 색상이 변경됩니다.

  8. Zoning 레이어에 대해서도 비슷한 과정을 따라 적절한 색상을 선택하십시오.

9.4.6. 래스터 레이어의 심볼 변경

래스터 레이어의 심볼은 조금 다릅니다.

  1. Rainfall 레스터의 Layer Properties 대화 창을 엽니다.

  2. Switch to the Symbology tab. You’ll notice that this dialog is very different from the version used for vector layers.

  3. Use standard deviation 버튼을 선택했는지 확인하십시오.

  4. Change the value in the associated box to 2.00 (it should be set to 0.00 by default).

  5. Contrast enhancement 라는 제목 아래에 있는 Current 드롭다운 목록의 값을 Stretch to MinMax 로 변경합니다.

  6. OK 를 클릭하십시오. 《Rainfall》 래스터가 보인다면, 각 픽셀의 서로 다른 밝기 값을 볼 수 있도록 색상이 변경될 것입니다.

  7. Repeat this process for the DEM, but set the standard deviations used for stretching to 4.00.

9.4.7. 레이어 순서 변경

  1. In the Layers panel, click and drag layers up and down to change the order they appear in on the map.

  2. Newer versions of QGIS may have a Control rendering order checkbox beneath the Layers panel. Ensure that it is checked.

이제 모든 데이터를 불러와서 제대로 시각화했으니, 분석을 시작할 수 있습니다. 처음에 오리기 작업을 하는 편이 제일 좋습니다. 그렇게 하면 어차피 사용하지도 않을 지역의 값들을 계산하는 데 컴퓨터의 계산 능력을 허비하지 않아도 됩니다.

9.4.8. 알맞은 구역 찾기

  1. Load the vector layer admin_boundaries/Western_Cape_UTM33S.shp into your map.

  2. Rename it to Districts.

  3. Right-click on the Districts layer in the Layers panel.

  4. 컨텍스트 메뉴에서 Query… 항목을 선택하십시오. Query Builder 대화 창이 나타납니다.

이제 다음 구역들만 선택하는 쿼리를 만들어보겠습니다.

  • Bellville

  • Cape

  • Goodwood

  • Kuils River

  • Mitchells Plain

  • Simons Town and

  • Wynberg.

  1. Fields 목록에서 NAME_2 항목을 더블클릭하십시오. 아래쪽에 있는 SQL where clause 텍스트 란에 나타날 것입니다.

  2. Click the = button; an = sign is added to the SQL query.

  3. (현재 비어 있는) Values 목록 아래 있는 All 버튼을 클릭하십시오. 잠시 후 Values 목록이 선택한 항목( NAME_2 )의 값들로 채워질 것입니다.

  4. Values 목록에서 Bellville 값을 더블클릭하십시오. 이전과 마찬가지로 SQL 쿼리에 추가됩니다.

In order to select more than one district, you’ll need to use the OR boolean operator.

  1. OR 버튼을 클릭해서 SQL 쿼리에 추가하십시오.

  2. 앞과 비슷한 과정을 거쳐, 다음 내용을 기존 쿼리에 추가하십시오.

    "NAME_2" = 'Cape'
    
  3. Add another OR operator, then work your way through the list of districts above in a similar fashion.

    최종 쿼리는 다음과 같아야 합니다.

    "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'
    
  4. OK 를 클릭하십시오. 이제 맵 상에 앞의 목록에 있는 구역들만 보이게 됩니다.

9.4.9. 래스터 오리기

이제 관심 지역을 지정했으니, 래스터를 이 지역에 맞춰 자를 수 있습니다.

  1. DEM, RainfallDistricts 레이어만 보이도록 확인하십시오.

  2. Districts 가 보이도록 맨 위에 위치해야 합니다.

  3. 메뉴에서 Raster ‣ Extraction ‣ Clipper 항목을 선택해서 오리기 대화 창을 여십시오.

  4. Input file (raster) 드롭다운 목록에서 DEM 레이어를 선택하십시오.

  5. Select… 버튼을 클릭해서 Output file 텍스트 란에 산출물의 경로를 지정하십시오.

  6. Navigate to your Rasterprac directory.

  7. 파일명을 입력하십시오.

  8. 파일을 저장하십시오. No data value 체크박스는 체크하지 않습니다.

  9. 정확한 라디오 버튼을 선택했는지 확인해서 Extent 오리기 모드를 사용합니다.

  10. 캔버스 안의 지역을 클릭 & 드래그해서 구역들을 포함하고 있는 지역을 선택하십시오.

  11. Check the Open output file after running algorithm box.

  12. Run 을 클릭합니다.

  13. 오리기 작업이 완료된 후, Clipper 대화 창을 닫지 마십시오. (그러면 이미 지정한 오리기 지역을 잃게 됩니다.)

  14. Input file (raster) 드롭다운 목록에 있는 Rainfall 래스터를 선택하고 산출 파일명을 다르게 지정합니다.

  15. Do not change any other options. Do not alter the existing clipping area which you drew previously. Leave everything the same and click Run.

  16. 이 두 번째 오리기 작업이 완료된 다음에, Clipper 대화 창을 닫아도 됩니다.

  17. 맵을 저장하십시오.

9.4.10. 맵 정리

  1. Remove the original Rainfall and DEM layers from the Layers panel:

  2. 해당 레이어들을 오른쪽 클릭한 다음 Remove 를 선택하십시오.

    참고

    사용자의 저장 장치에서 데이터를 삭제하는 것이 아니라, 사용자 맵에서 해당 데이터를 빼는 것뿐입니다.

  3. Streets 레이어의 라벨을 비활성화합니다.

    1. Labeling 버튼을 클릭하십시오.

    2. Label this layer with 체크박스를 해제하십시오.

    3. OK 를 클릭하십시오.

  4. 다시 모든 Streets 를 보이도록 하십시오.

    1. Right-click on the layer in the Layers panel.

    2. Query 를 선택합니다.

    3. Query 대화 창이 나타나면, Clear 버튼을 클릭한 다음 OK 를 클릭합니다.

    4. 데이터를 불러올 동안 기다리십시오. 이제 모든 도로가 보일 것입니다.

  5. Change the raster symbology as before (see 래스터 레이어의 심볼 변경).

  6. 맵을 저장하십시오.

  7. You can now hide the vector layers by unchecking the box next to them in the Layers panel. This will make the map render faster and will save you some time.

In order to create the hillshade, you will need to use an algorithm that was written for this purpose.

9.4.11. 음영기복도 생성

  1. In the Layers panel, ensure that the DEM is the active layer (i.e., it is highlighted by having been clicked on).

  2. Click on the Raster ‣ Analysis ‣ Hillshade menu item to open the Hillshade dialog.

  3. 산출물 레이어를 위한 적절한 경로를 지정한 뒤 hillshade 라고 명명합니다.

  4. Check the Open output file after running algorithm box.

  5. Run 을 클릭합니다.

  6. 처리가 끝날 때까지 기다리십시오.

Layers list 에 새 hillshade 레이어가 추가됐습니다.

  1. Layers list 에 있는 hillshade 레이어를 오른쪽 클릭해서 Properties 대화 창을 여십시오.

  2. Click on the Transparency tab and set the transparency slider to 80%.

  3. Click Run on the dialog.

  4. 오린 DEM 위에 겹쳐진 반투명한 음영기복도의 효과를 확인해보십시오.

9.4.12. 경사도

  1. 메뉴에서 Raster ‣ Terrain analysis 항목을 클릭하십시오.

  2. Slope 분석 유형을 선택하고, 입력 레이어를 오린 DEM으로 설정하십시오.

  3. 산출물을 위한 적절한 파일명 및 경로를 지정하십시오.

  4. Check the Open output file after running algorithm box.

  5. Run 을 클릭합니다.

경사도 이미지가 계산되어 맵에 추가되었습니다. 하지만 이 역시 회색 사각형이군요. 그 내용을 제대로 보려면, 다음과 같이 심볼을 변경하십시오.

  1. (마찬가지로 해당 레이어의 컨텍스트 메뉴를 통해) 레이어의 Properties 대화 창을 여십시오.

  2. Click on the Symbology tab.

  3. (Color map 드롭다운 메뉴가) Grayscale 이라면 Pseudocolor 로 변경하십시오.

  4. Use standard deviation 라디오 버튼을 선택했는지 확인하십시오.

9.4.13.

경사를 계산할 때와 동일한 방법을 사용하지만, 초기 대화 창에서 Aspect 를 선택하십시오.

주기적으로 맵을 저장하는 일을 잊지 마십시오.

9.4.14. 래스터 재범주화

  1. 메뉴에서 Raster ‣ Raster calculator 항목을 클릭하십시오.

  2. Specify your Rasterprac directory as the location for the output layer.

  3. Ensure that the Open output file after running algorithm box is selected.

In the Raster bands list on the left, you will see all the raster layers in your Layers panel. If your Slope layer is called slope, it will be listed as slope@1.

The slope needs to be between 15 and 60 degrees. Everything less than 15 or greater than 60 must therefore be excluded.

  1. 인터페이스에 있는 목록 항목 및 버튼을 이용해서 다음 표현식을 작성하십시오.

    ((slope@1 < 15) OR (slope@1 > 60)) = 0
    
  2. Output layer 란에 적절한 경로 및 파일명을 설정하십시오.

  3. Run 을 클릭합니다.

Now find the correct aspect (east-facing: between 45 and 135 degrees) using the same approach.

  1. 다음 표현식을 작성하십시오.

    ((aspect@1 < 45) OR (aspect@1 > 135)) = 0
    
  2. Find the correct rainfall (greater than 1200mm) the same way. Build the following expression:

    (rainfall@1 < 1200) = 0
    

Having reclassified all the rasters, you will now see them displayed as gray rectangles in your map (assuming that they have been added to the map correctly). To properly display raster data with only two classes (1 and 0, meaning true or false), you will need to change their symbology.

9.4.15. 재범주화된 레이어의 스타일 설정

  1. Open the Symbology tab in the layer’s Properties dialog as usual.

  2. Load min / max values from band 라는 제목 아래 있는 Actual (slower) 라디오 버튼을 선택하십시오.

  3. Load 버튼을 클릭하십시오.

The Custom min / max values fields should now populate with 0 and 1, respectively. (If they do not, then there was a mistake with your reclassification of the data, and you will need to go over that part again.)

  1. Contrast enhancement 라는 제목 아래에 있는 Current 드롭다운 목록을 Stretch to MinMax 로 설정합니다.

  2. OK 를 클릭하십시오.

  3. 재범주화된 세 래스터에 대해 이 과정을 각각 반복한 다음, 반드시 작업을 저장하십시오!

The only criterion that remains is that the area must be 250m away from urban areas. We will satisfy this requirement by ensuring that the areas we compute are 250m or more from the edge of a rural area. Hence, we need to find all rural areas first.

9.4.16. 교외 지역 찾기

  1. Hide all layers in the Layers panel.

  2. Zoning 벡터 레이어만 활성화하십시오.

  3. 해당 레이어를 오른쪽 클릭한 다음, Query 대화 창을 불러옵니다.

  4. 다음 쿼리를 작성하십시오.

    "Gen_Zoning" = 'Rural'
    

    작성 방법을 잘 모르겠다면 이전 단계에서 Streets 쿼리 작성 시 지침을 참조하십시오.

  5. 작성 완료 시 Query 대화 창을 닫으십시오.

Zoning 레이어에서 추출된 폴리곤 집합이 보일 것입니다. 이것을 새 레이어 파일로 저장해야 합니다.

  1. Zoning 레이어를 오른쪽 클릭한 다음 Save As… 를 선택하십시오.

  2. Zoning 디렉터리에 새 레이어를 저장하십시오.

  3. Name the output file rural.shp.

  4. OK 를 클릭하십시오.

  5. 맵에 이 레이어를 추가하십시오.

  6. 메뉴에서 Vector ‣ Geoprocessing Tools ‣ Dissolve 항목을 클릭하십시오.

  7. 입력 벡터 레이어로 rural 레이어를 선택하고, Use only selected features 체크박스를 해제하십시오.

  8. Leave empty the Dissolve field(s) option to combine all selected features in a single one.

  9. Zoning 디렉터리에 새 레이어를 저장하십시오.

  10. Check the Open output file after running algorithm box.

  11. Run 을 클릭합니다.

  12. Dissolve 대화 창을 닫으십시오.

  13. ruralZoning 레이어를 제거하십시오.

  14. 맵을 저장하십시오.

Now you need to exclude the areas that are within 250m from the edge of the rural areas. Do this by creating a negative buffer, as explained below.

9.4.17. 음의 버퍼 생성

  1. 메뉴에서 Vector ‣ Geoprocessing Tools ‣ Buffer(s) 항목을 클릭하십시오.

  2. 대화 창이 뜨면, 입력 벡터 레이어로 rural_dissolve 레이어를 선택합니다. (Use only selected features 체크박스를 해제해야 합니다.)

  3. Select the Buffer distance button and enter the value -250 into the associated field; the negative value means that the buffer must be an internal buffer.

  4. Dissolve buffer results 체크박스를 체크하십시오.

  5. 다른 교외 벡터 파일과 동일한 디렉터리에 산출물 파일을 저장하도록 설정하십시오.

  6. Name the output file rural_buffer.shp.

  7. Save 를 클릭합니다.

  8. OK 를 클릭한 다음 처리가 완료될 때까지 기다리십시오.

  9. 대화 창이 뜨면 Yes 를 선택합니다.

  10. Buffer 대화 창을 닫습니다.

  11. rural_dissolve 레이어를 제거하십시오.

  12. 맵을 저장하십시오.

교외 구역을 기존 세 래스터와 함께 동일한 분석 작업에 포함시키려면, 해당 레이어도 래스터화해야 합니다. 그러나 래스터들을 분석 작업을 위해 호환시키려면 각 래스터들의 크기가 똑같아야 합니다. 따라서 래스터화 작업 전에 벡터를 세 래스터와 같은 크기로 오려내야 합니다. 벡터는 벡터로만 오릴 수 있으므로, 래스터와 동일한 크기의 범위(bounding box) 폴리곤을 생성해야 합니다.

9.4.18. 범위 벡터 생성

  1. Click on the menu item Layer ‣ New ‣ New Shapefile Layer….

  2. Type 제목 아래 Polygon 버튼을 선택하십시오.

  3. Click Specify CRS and set the coordinate reference system WGS 84 / UTM zone 33S : EPSG:32733.

  4. OK 를 클릭하십시오.

  5. New Vector Layer 대화 창의 OK 도 클릭하십시오.

  6. Zoning 디렉터리에 벡터를 저장합니다.

  7. Name the output file bbox.shp.

  8. bbox 레이어 및 재범주화된 래스터 가운데 하나를 제외한 모든 레이어를 비활성화하십시오.

  9. Ensure that the bbox layer is highlighted in the Layers panel.

  10. 메뉴에서 View > Toolbars 항목을 찾은 다음, Digitizing 이 선택되었는지 확인하십시오. 그러면 연필 또는 사인펜이 그려진 툴바 아이콘이 보일 것입니다. 바로 Toggle editing 버튼입니다.

  11. Toggle editing 버튼을 클릭해서 편집 모드 로 들어갑니다. 그러면 벡터 레이어를 편집할 수 있습니다.

  12. Toggle editing 버튼 근처에 있는 Add feature 버튼을 클릭하십시오. 쌍화살표 뒤에 숨어 있을 수도 있습니다. 이 경우, 쌍화살표를 클릭해서 Digitizing 툴바의 숨어 있는 버튼들을 보이도록 합니다.

  13. Add feature 도구를 활성화시킨 다음, 래스터의 구석들을 클릭하십시오. 정확한 위치를 찾기 위해 마우스 휠로 줌인해야 할 수도 있습니다. 이 모드에서 맵을 이동하려면 마우스 중간 버튼이나 마우스 휠로 맵을 클릭 & 드래그하면 됩니다.

  14. 네 번째이자 마지막 포인트에서 오른쪽 클릭해서 피처를 완성하십시오.

  15. shape ID를 위한 임의의 숫자를 입력하십시오.

  16. OK 를 클릭하십시오.

  17. Save edits 버튼을 클릭합니다.

  18. Toggle editing 버튼을 클릭해서 편집 작업을 완료하십시오.

  19. 맵을 저장하십시오.

이제 범위를 생성했으니, 이를 사용해서 교외 버퍼 레이어를 오려낼 수 있습니다.

9.4.19. 벡터 레이어 오리기

  1. rural_buffer 레이어가 bbox 위에 오도록 한 다음, 이 두 레이어만 보이도록 하십시오.

  2. 메뉴에서 Vector > Geoprocessing Tools > Clip 항목을 클릭하십시오.

  3. 대화 창이 뜨면 입력 벡터 레이어에 rural_buffer 를, 오리기 레이어에 bbox 를 설정합니다. 양쪽 모두 Use only selected features 체크박스를 해제해야 합니다.

  4. 산출물 파일을 Zoning 디렉터리에 저장합니다.

  5. Name the output file rural_clipped.

  6. OK 를 클릭하십시오.

  7. 레이어를 TOC에 추가하느냐는 메시지 창이 뜨면 Yes 를 클릭하십시오.

  8. 대화 창을 닫으십시오.

  9. 세 벡터를 비교해 보면서 결과를 직접 살펴보십시오.

  10. bboxrural_buffer 레이어를 제거한 다음, 사용자 맵을 저장합니다.

이제 래스터화 준비가 끝났습니다.

9.4.20. 벡터 레이어 래스터화

여러분이 생성할 새 래스터의 픽셀 크기를 설정해야 합니다. 따라서 먼저 기존 래스터의 픽셀 크기를 알아야 합니다.

  1. 기존 세 래스터 가운데 아무거나 골라서 Properties 대화 창을 여십시오.

  2. Metadata 탭을 선택하십시오.

  3. Make a note of the X and Y values under the heading Dimensions in the Metadata table.

  4. Properties 대화 창을 닫으십시오.

  5. 메뉴에서 Raster ‣ Conversion ‣ Rasterize 항목을 클릭하십시오. 지원하지 않는 데이터셋이라는 경고가 뜰지도 모릅니다. 무시하고 클릭해서 메시지 창을 닫으십시오.

  6. 입력 레이어로 rural_clipped 를 선택하십시오.

  7. 산출물 파일을 Zoning 디렉터리에 저장하도록 설정합니다.

  8. Name the output file rural_raster.tif.

  9. Check the New size box and enter the X and Y values you made a note of earlier.

  10. Load into canvas… 체크박스를 체크하십시오.

  11. Click the pencil icon next to the text field which shows the command that will be run. At the end of the existing text, add a space and then the text -burn 1. This tells the Rasterize function to 《burn》 the existing vector into the new raster and give the areas covered by the vector the new value of 1 (as opposed to the rest of the image, which will automatically be 0).

  12. OK 를 클릭하십시오.

  13. 계산 완료 시 새 래스터가 사용자 맵에 추가될 것입니다.

  14. 새 래스터가 회색 사각형처럼 보일 것입니다. 래스터를 재범주화했을 때처럼 표출 스타일을 변경해볼 수도 있습니다.

  15. 맵을 저장하십시오.

Now that you have all four criteria each in a separate raster, you need to combine them to see which areas satisfy all the criteria. To do so, the rasters will be multiplied with each other. When this happens, all overlapping pixels with a value of 1 will retain the value of 1, but if a pixel has the value of 0 in any of the four rasters, then it will be 0 in the result. In this way, the result will contain only the overlapping areas.

9.4.21. 래스터 결합

  1. 메뉴에서 Raster ‣ Raster calculator 항목을 클릭하십시오.

  2. 다음 표현식을 작성하십시오. (여러분이 지정한 명칭에 따라 적합한 레이어명을 이용하십시오.)

    [Rural raster] * [Reclassified aspect] * [Reclassified slope] *
    [Reclassified rainfall]
    
  3. Set the output location to the Rasterprac directory.

  4. Name the output raster cross_product.tif.

  5. Ensure that the Open output file after running algorithm box is checked.

  6. Run 을 클릭합니다.

  7. 다른 재범주화 래스터의 스타일을 설정한 것처럼 새 래스터의 심볼을 변경하십시오. 이제 새 래스터가 모든 기준을 만족하는 지역을 제대로 표출할 것입니다.

To get the final result, you need to select the areas that are greater than 6000m^2. However, computing these areas accurately is only possible for a vector layer, so you will need to vectorize the raster.

9.4.22. 래스터 벡터화

  1. 메뉴에서 Raster ‣ Conversion ‣ Polygonize 항목을 클릭하십시오.

  2. Select the cross_product.tif raster.

  3. Set the output location to Rasterprac.

  4. Name the file candidate_areas.shp.

  5. Ensure that Open output file after running algorithm is checked.

  6. Run 을 클릭합니다.

  7. 처리가 완료되면 대화 창을 닫으십시오.

All areas of the raster have been vectorized, so you need to select only the areas that have a value of 1.

  1. 새 벡터의 Query 대화 창을 여십시오.

  2. 다음 쿼리를 작성하십시오.

    "DN" = 1
    
  3. OK 를 클릭하십시오.

  4. Create a new vector file from the results by saving the candidate_areas vector after the query is complete (and only the areas with a value of 1 are visible). Use the Save as… function in the layer’s right-click menu for this.

  5. Save the file in the Rasterprac directory.

  6. 파일명을 candidate_areas_only.shp 로 지정하십시오.

  7. 맵을 저장하십시오.

9.4.23. 각 폴리곤의 면적 계산

  1. 새 벡터 레이어를 오른쪽 클릭해서 컨텍스트 메뉴를 여십시오.

  2. Open attribute table 을 선택합니다.

  3. 테이블 아래쪽에 있는 Toggle editing mode 버튼을 클릭하거나, Ctrl+E 키를 누르십시오.

  4. 테이블 아래쪽에 있는 Open field calculator 버튼을 클릭하거나, Ctrl+I 키를 누르십시오.

  5. Under the New field heading in the dialog that appears, enter the field name area. The output field type should be an integer, and the field width should be 10.

  6. Field calculator expression 란에 다음과 같이 입력합니다.

    $area
    

    이렇게 하면 항목 계산기가 벡터 레이어의 각 폴리곤의 면적을 계산해서 (area 라는) 새 정수 열에 계산 값을 채우게 됩니다.

  7. OK 를 클릭하십시오.

  8. id 라는 또다른 새 항목에 대해서도 동일한 작업을 하십시오. Field calculator expression 란에 다음과 같이 입력합니다.

    $id
    

    이렇게 하면 각 폴리곤에 식별 목적의 유일한 ID를 부여하게 됩니다.

  9. Toggle editing mode 를 다시 클릭하고, 저장 여부를 물어볼 경우 편집 내용을 저장하십시오.

9.4.24. 주어진 면적의 영역 선택

이제 면적을 알게 됐으니,

  1. Build a query (as usual) to select only the polygons larger than 6000m^2. The query is:

    "area" > 6000
    
  2. Save the selection as a new vector layer called solution.shp.

이제 해답 영역들을 얻었으니, 사용자의 집에서 가장 가까운 곳을 선택할 차례입니다.

9.4.25. 사용자 주택 디지타이즈 작업

  1. 이전과 동일한 방법으로 새 벡터 레이어를 생성하되, 이번에는 Type 값에 Point 를 선택합니다.

  2. 레이어가 정확한 CRS를 사용하는지 확인하십시오!

  3. Name the new layer house.shp.

  4. 새 레이어 생성을 완료하십시오.

  5. (새 레이어를 선택한 다음) 편집 모드로 들어갑니다.

  6. 도로명을 기준으로 사용자의 주택 또는 현재 주거지가 있는 곳의 포인트를 클릭하십시오. 사용자의 집을 찾기 위해 다른 레이어를 열어 참조해야 할 수도 있습니다. 여러분이 이 근처에 살지 않는다면, 도로를 따라 집이 있을 만한 곳을 골라 클릭하십시오.

  7. shape ID를 위한 임의의 숫자를 입력하십시오.

  8. OK 를 클릭하십시오.

  9. 편집 내용을 저장하고 편집 모드를 끕니다.

  10. 맵을 저장하십시오.

사용자의 집에서 가장 가까운 폴리곤을 정하려면, 해답 영역 폴리곤들의 중심(《형태의 중앙》)을 찾아야 합니다.

9.4.26. 폴리곤 중심 계산

  1. Click on the Vector ‣ Geometry Tools ‣ Centroids menu item.

  2. 입력 레이어로 solution.shp 을 설정하십시오.

  3. Provide the output location as Rasterprac.

  4. Call the destination file solution_centroids.shp.

  5. Check checkbox Open output file after running algorithm to add the result to the TOC (Layers panel).

  6. Click Run and close the dialog.

  7. 새 레이어를 레이어 순서의 맨 위로 드래그해서 볼 수 있도록 만듭니다.

9.4.27. 사용자 주택에서 가장 가까운 중심 계산

  1. Click on the menu item Vector ‣ Analysis Tools ‣ Distance matrix.

  2. The input layer should be your house, and the target layer solution_centroids. Both of these should use the id field as their unique ID field.

  3. 산출물 행렬 유형을 linear 로 설정해야 합니다.

  4. 적절한 산출물 경로 및 파일명을 설정하십시오.

  5. OK 를 클릭하십시오.

  6. 텍스트 편집기로 (또는 스프레드시트로) 산출물 파일을 열어보십시오. 어떤 목표 ID가 가장 짧은 Distance 와 연결되어 있는지 살펴보십시오. 동일한 거리가 하나 이상일 수도 있습니다.

  7. Build a query in QGIS to select only the solution areas closest to your house (selecting it using the id field).

연구 과제에 대한 최종 해답을 얻었습니다.

과제 제출 시 여러분이 선택한 (예를 들면 DEM 이나 slope 래스터 같은) 알맞은 래스터 위에 반투명한 음영기복도 레이어를 포함시키십시오. 또 여러분의 집은 물론 가장 가까운 해답 영역(들)의 폴리곤도 포함시켜야 합니다. 여러분의 결과물 맵을 생성하는 데 지도 제작을 위한 최상의 관습들을 따르십시오.