Grouping raster or vector data by attribute in order to SIMPLIFY the OVERLAY process
Need to ask 2 questions first;”With what complexity?” then “How to assign values?”
in order of Increasing Complexity simplification of continuous layers yields discrete categorical layers
- binary layers (yes/no, on/off, 1/0, suitable/unsuitable)
- multiple category layers( yes/maybe/no, on/bordering/off, highly suitable/less suitable/not suitable)
- “index” layers (1, 2, 3, 4, 5, or 1, 2, 3,…10, etc)
How does one divide up a continuous variable into discrete categories? (open simplify project from your …GIS\demo\simplify folder)
- Raster Calculator Map Algebra
- “IF” statements (plus “if… then…else”) in traditional programming
- BINARY DISCRETE CATEGORIES : a simple “Con” statement has this syntax
Con (conditional statement, yesGrid, noGrid) . . . . .see help — it means “conditional testing”
Con("elev" > 500, 1, 0)
copy and paste this into the Spatial Analyst Raster Calculator - MULTIPLE DISCRETE CATEGORIES: a “nested” .Con statement (where the “no” for the first conditional sends you to another conditional test)
Con("elev" > 600, 2, Con("elev" > 300, 1, 0))
- BINARY DISCRETE CATEGORIES : a simple “Con” statement has this syntax
- Using arithmetic (works for Binary, Multiple, or Index Category Layers)
- Determine the range and divide by the number of categories required
index category width = ([range]/[# of divs needed])
for our elevation example; 240 to 830 = 590 / 10 classes = 59 m per index level - subtract the minimum from each cell or attribute value to set the origin of the index at the lowest value
("elev" - 240) / 59
- find the next lowest integer (or highest, depending if you want the index values to start at 0 or 1) using the Round functions (up or down)
RoundDown((“elev” – 240) / 59) however to get it into an INTEGER raster, you must use
Int(RoundDown((“elev” – 240) / 59))
which yields 10 categories from 0 to 9
or
Int(RoundUp((“elev” – 240) / 59))
which yields 10 categories from 1 to 10What if you want the same number of cells in each category? (called “quantile” or “equal area”)
- Determine the range and divide by the number of categories required
- “IF” statements (plus “if… then…else”) in traditional programming
- Reclassify geoprocessing is on the next page