Friday, May 3, 2019

Multiple Criteria Decision Making in GIS

Objective
To find the best suitable land for agriculture based on land use, soil type and slope. (Refer to the Video Tutorial here)

Introduction
Suppose Landuse, soil and slope are used to determine whether the land is suitable for agriculture. Using them we have to find the best suitable land with weightage given 40%, 20%, 40% respectively. That portion of the land which satisfies these multiple criteria, will be decided to be suitable for agriculture.

Steps
a.     Convert and obtain raster of Landuse, soil and slope.
b.     Calculate in raster calculator using the weightage.
c.      Reclassify and find the best suitable.

Let’s see these steps in detail.

Input
Vector: Landuse, soil (shape files)
Raster: DEM of the area. If it is not available, you need DEM of the location like country, district, region, etc. where your interested area lies so that you can extract the DEM of your interested area.


QGIS STEPS
1.     LandUse1
Ø Create Field LandVal and Put values like for cultivation 10, for water body 2, etc. These values should be known and is assigned based on importance. For example: Here cultivation area has more importance then it will be given maximum value (for example 10) and water body has very less importance then less value (for example 2). I will be assigning all others except cultivation as 2 and cultivation as 10. You need to use your own criteria.
Suppose we need to assign cultivation = 10 and all other as 2 then use select by expression and select all values with “cultivation” of a column in attribute table and assign 10 by creating a new field “LandVal” then select all others and update that field “LandVal”with value 2. Use invert the selection to select all others except cultivation. This will remove selection from cultivation and select remaining.
Ø Go to menu Raster | Conversion | Rasterize
Ø Select Landuse1 and under Field select the field “LandVal”
Ø Put horizontal and vertical resolution as required e.g. 30,30
Ø Select Output Extent same as LandUse1 Layer
Ø Name it: LanduseRaster

2.     Soil
Ø Create Field S_value_re and Put values like for Alluvial 10, etc. The values are assigned based on the importance as explained earlier in LandUse1. Create field S_value_re as done in LandUse1. I have already created it so I will use this field.
Ø Go to menu Raster | Conversion | Rasterize
Ø Select Landuse1 and under Field select S_value_re
Ø Put horizontal and vertical resolution as required e.g. 30,30
Ø Select Output Extent same as Soil Layer
Ø Name it: SoilRaster


3.     Slope
Ø If you don’t have DEM of you interested location, then extract DEM (Clip DEM) by mask layer (Soil or Landuse; both is of same area)
Ø Find Slope from DEM by searching slope in toolbox. You can get Toolbox from menu Processing | Toolbox
Ø Note: There should not be any space in filename path like: F:/Q Gis/Soil is wrong; Right way to do is: F:/Q_Gis/Soil or F:/QGis/Soil
Ø Reclassify the slope by searching Reclassify and double clicking on Reclassify values (Simple)
Ø Select the Slope raster
Ø Condition:  Low value <= Gird value < high value (It means include low value and exclude high value while classifying. For example, Minimum = 3 and Maximum = 9 and value to be assigned is 8 then all the raster cells with value >= 3 will be replaced by 8 and all the raster cells with value <9 (excluding 9) will be replaced by 8 i.e. Raster cell with value 9 will not be replaced.
Ø If Reclassify values (Simple) doesn’t work then use r.reclass (You need to have grass installed. Grass will be installed with QGIS)
0 thru 3         = 10
3 thru 9         = 8
9 thru 12       = 6
12 thru 90     = 1
I have already created soil raster so, I will not run. But you can try this as well.

Reclassify table:
Low value
High value
Replace with
0
3
10
3
9
8
9
12
6
12
90
1
You can see the maximum value of raster. If maximum value is 55 then instead of 90, you can use any value greater than 55 like 56,60, etc. But slope varies from 0 to 90 degree with horizontal so, you can put 90.
Name it: SlopeRaster


4.     Raster Calculator
Ø Raster |Raster Calculator
Ø Use condition: LanduseRaster * 0.4 + SoilRaster * 0.2 + SlopeRaster * 0.4    where, 0.4, 0.2, 0.4 (Sum = 1) are weightage. You can give other values as per requirement.
Ø Name the output raster: CriteriaRaster
Ø Now reclassify this raster based on some conditions, which is given in step 5.

5.     Suitable Raster
Reclassify raster CriteriaRaster based on following condition:
Low value
High value
Replace with
Remark
0
6
3
Not suitable
6
8
2
Good suitable Site
8
10
1
Best suitable Site
(Low value <= Gird value < high value (It means include low value and exclude high)
Ø Name it: SuitableRaster

This is our final raster.

Check the value by clicking the identifier (the icon with “I”) and the clicking on the raster. This will show the value contained in the raster.

All the raster with value 1 represented by black color (may be different color in your case. You can check which color represents what value under the raster file. 1 represented black in this case). That will be the best location for agriculture.

No comments:

Post a Comment

MOST RECENT

BITUMEN, ASPHALT, COAL TAR, CUTBACK BITUMEN

Ever wondered what is Bitumen? What is Asphalt? What is difference between these two? What is MC 30 Bitumen? What is cutback bitumen? We wil...