For example you could create a HIGH_ELEV grid as follows: HIGH_ElEV=CON ELEV>1000, 1, 0 Ifthe elevation value is greater than 1000, the output cell receives a 1, and if it is lessthan o
Trang 1Grid Analysis
INTRODUCTION
GRID AND VECTOR GIS WORLDS
Until now, you have worked mainly in the vector world of points, lines, and polygons.These are discrete features represented by X, Y coordinates, and each feature has aunique identification number Grids are different because they may represent a continu-ous surface instead of discrete features In general, the grid GIS data model has severaladvantages relative to the vector GIS data model of points, lines, and polygons:
Grids allow for faster analysis, especially for any overlay type analysis
Grids allow for modeling continuous surfaces such as wildfire or oil spill spreads,
or determining the optimal path through a surface
Grid is the natural model for many data sources in natural resources such as digitalelevation models, scanned maps, and land cover data derived from satellite data Grids allow you to represent the world as a "fuzzier system." For exampIc, in thevector world, vegetation polygons are often assigned a vegetation type from visualinterpretation of aerial photographs Typically, relatively large polygons are delin-eated because of an arbitrary minimum mapping unit criteria used during the airphoto interpretation With land cover grids, the minimum mapping unit is the size
of the grid cell, and therefore heterogeneous areas can be better represented In thevector world, polygons are assigned as one homogeneous land cover class In thegrid world, the same area may be several land cover classes, and the probability ofcorrect classification of each grid cell can also be stored
The vector model of points, lines, and polygons does have some advantages over thegrid model:
Since features are stored as X, Y coordinates, it usually takes less disk space to
store points, lines, and polygons relative to grids that have the same precision ofspatial detail
The vector model allows for modeling of linear networks and the incorporation ofmeasured events via dynamic segmentation
CD The vector model is a natural model for many data sources derived from GPS veying, or for utility, urban, and transportation data
Trang 2sur-• The vector model allows you to represent the spatial location of features with highprecision relative to grid representations.
Your choice of vector versus grid analysis will depend largely on your data sourcesand applications In this chapter, you will learn that many of the grid operations areanalogous to vector operations
There are potentially hundreds of grid operations In this chapter, you will learn aboutsome common grid operations, especially applicable for natural resource applications.These operations include grid arithmetic operations, selection operations, grouping opera-tions, distance operations, optimal path operations, and common topographic operations
GRID ARITHMETIC OPERATORS
Grids can be added, subtracted, multiplied, and divided Ifan output cell value is defined, it is assigned a value of NODATA For example, imagine that you have twogrids that you want to divide with:
GRID3 = GRID1 I GRID2
The two input grids are integer type, therefore the output grid will also be integertype For example, cell(row 2, column 1) is output as Y2 or 0.5 and this is output as aninteger value ofO The cells that are undefined because they were divided by zero are as-signed to NODATA Notice that zero is a valid grid cell value while NODATA indicates
no valid data for that cell
GRID4 = FLOAT(GRID1)I FLOAT(GRID2)
Trang 3conif-Land Cover Grid
Trang 4toconvert the 255s to NODATA.
Trang 5• Tests for a user-specified logical expression and returns user-specified values.The CON function stands for conditional test The user specifies what happens if the test
is true or false For example you could create a HIGH_ELEV grid as follows:
HIGH_ElEV=CON ( ELEV>1000, 1, 0)
Ifthe elevation value is greater than 1000, the output cell receives a 1, and if it is lessthan or equal to 100, an output cell receives a zero
auto-HIGH_ElEV=CON ( ELEV>1000, ElEV )
Ifthe elevation value is greater than 1000, the output cell receives the elevation value,and if it is less than or equal to 100, an output cell receives a NODATA
Trang 61003 1004
1010 1007
1004 1005
1002 1001
FlllZEROS = CON( ISNUll( HIGH_ElEV), 0,HIGH_ElEV)
The condition tested asks: Is the grid cell value of HIGH_ELEV NODATA or null? If
it is, a zero value is returned, and if it is not, the original cell value of HIGH_ELEV is turned:
• Changes cell values based on the rules in a remap table
Let's start with a simple example You have a single line remap table as follows: 2 3 : 1The remap table specifies a rule that cells with values of 2 or 3 are reclassed to a value
of 1 in the output grid A value of 1 or 4 would be assigned NODATA if you have a DATA flag set on If you have a NODATA flag set to off, the original values of 1 or 4would be output, while 2 or 3s would be output as 1 values
NO-The RECLASS function is often used to classify quantitative data into categories As
an example, you could use the RECLASS function to create elevation classes from a grid
of elevation values Elevations of 100 to 300, be reclassed to cell values of 1 Elevationsabove 300 and less than or equal to 400 will be reclassed to cell values of 2 And eleva-tions above 400 and less than or equal to 500 will be reclassed to cell values of 3
Trang 7• Groups cells of the same value that touch each other.
REGIONGROUP allows you to aggregate cells that have the same value into groups As
an example, you might have a vegetation grid and you are interested in small patches of
a particular class REGIONGROUP starts at the upper left corner cell and proceeds left
to right assigning group numbers based on cells that touch and have the same cell values
GROUPS Value Attribute Table:
Value Count Link
Trang 8Where the Value is the group number, and the Link is the original value before thegrouping occurred For example, group 5 originally had values of 4 and were cells thattouched.
DISTANCE OPERATIONS: EXPAND, EUCDISTANCE
EXPAND
• Expands user-specified cell values (analogous to BUFFER)
The user specifies the number of cells to expand and the cell values that are candidatesfor expansion For example, EXPAND( Grid, 4, list, 0,1 ) would select any cells thathave values of°or 1 and expand them out by 4 cells When two values compete to ex-pand into the same area, the conflict is resolved based on the value of the majority ofsurrounding cells Cells can also expand into NODATA cells
As an example, imagine that you have a grid of lakes and you want to buffer the lakes
by one grid cell by using the EXPAND function
• Calculates the distance to the closest non-NODATA cell for each cell
The distance calculation is from the center of one cell to the center of the closest NODATA cell The distance is in grid cell units, rather than the GIS coordinate systemunits For example,
Trang 9non-Input Grid: Distances
OPTIMAL PATH OPERATIONS: COSTDISTANCE, COSTPATH
You learned about optimal paths in the Network Analysis chapter With grids, you canestimate the optimal path from source cells to destination cells in an analogous manner.COSTDISTANCE
• Estimates the minimum accumulative cost to resource cells
The COSTDISTANCE function computes the minimum accumulative cost for a grid andoutputs this cost grid, a grid of directions associated with the minimum cost, and a gridallocating the source cells This information is required to compute the optimal pathusing the COSTPATH function
Imagine that you have two resources, coded with values 1 and 2 You also have agrid representing the cost of crossing each grid cell This cost might be travel time, roadconstruction cost, fuel consumption cost, or cost in terms of aesthetics You want tocompute the minimum accumulative cost for all cells in your area
Trang 10The cost to move horizontally or vertically from one cell to another is the total cost ofthe two cells divided by 2 cells For example, to move from cell (1,1) to cell (2,1) wouldcost you (1+3) /2 cells =2.0.
The cost to move diagonally from one cell to another is the total cost of the two cellsdivided by 2 cells times the diagonal distance (square root of 2 =1.4142) For example,
to move from cell (4,3) to cell (3,2) would cost (2+5)/2 ,,- 1.4142 =4.9497
The algorithm computes the lowest possible accumulative cost for all cells ing the most recently assigned output cells For example, to get to a resource from cell(4,3) you could move diagonally to cell (3,2) and it would cost you 4.9497 Or youcould move from cell (4,3) up to cell (4,2) and then left to cell (3,2) and it would costyou (5+3)/2 + ( 3+2)/2 or 6.5 Or you could move from cell (4,3) left to cell (3,3) and
Trang 11neighbor-then up to cell (3,2) and it would cost you (5+7)/2 + (7+2)/2 = 10.5 The lowest of thepossible moves is the diagonal move which costs you 4.9.
Minimum Accumulative Costs
Minimum Accumulative Costs
Minimum Accumulative Costs
Minimum Accumulative Costs
Trang 12The minimum accumulative cost of all neighboring cells is assigned to the outputgrid.In this example, it is 2.5 at cell (1,5) Then the accumulative cost of the new neigh-boring cells is computed For cell (1,4), the accumulative cost is (1+4)/2 + 2.5=5.0 Andfor cell (2,4), the accumulative cost is (4+1)/2 + (1+4)/2 + (4+1)/2 =7.5.
Minimum Accumulative Costs
The minimum accumulative cost of all neighboring cells is assigned to the output grid
Inthis example, it is 3.5 at cell (3,6) Then the accumulative cost of the new neighboringcells is computed For cell (4,5), the accumulative cost is NODATA because that is theCOST Grid cell value And for cell (4,6), the accumulative cost is (1+2)/2 + 3.5 =5.0
Minimum Accumulative Costs
The minimum accumulative cost of all neighboring cells is assigned to the output grid
In this example, it is 4.0 at cells (4,1) and (2,2) Then the accumulative cost of the newneighboring cells is computed
Minimum Accumulative Costs
The minimum accumulative cost of all neighboring cells is assigned to the output grid
In this example, it is 4.5 at cells (1,2) and (3,3) Then the accumulative cost of the newneighboring cells is computed
Minimum Accumulative Costs
Trang 13as-6 7 80
• Estimates the least cost path from source cells to destination cells
In order to estimate the optimal path, information about the minimum accumulativecost and associated backlink direction is needed Typically this cost information is sup-plied by first running the COSTDISTANCE function
As an example, imagine that we have the following cost information from our ous COSTDISTANCE example You want to estimate the optimal path to get from onecell location to a resource cell as "cheaply" as possible The minimum accumulativecosts grid might be expressing the cost in terms of dollars, time, distance, or any othercost measurement The output optimal path grid has special codes as follows: 1 = a re-source grid cell, 2= shared paths, 3= first optimal path, 4= second optimal path, 5= thirdoptimal path, and so on
previ-In the following example, there is one optimal path (the first which is coded with 3s)and the total cost of reaching a resource is 13.1
Trang 14Minimum Accumulative Costs Grid
op-Minimum Accumulative Costs Grid
In some applications, you may be interested in the optimal path from any cell instead
of from each individual cell You can specify this by using the BYLAYER flag with theCOSTPATH function As an example, imagine that you have an existing road and want
to estimate the optimal path from the existing road to any resource cell:
Minimum Accumulative Costs Grid
1 1
Trang 15The COSTPATH function finds the minimum accumulative costs grid and looks atthe values for all road cells The lowest minimum accumulative cost is 4.9 and theCOSTPATH function codes that cell location with a 3 as the optimal path from the road
to any resource
TOPOGRAPHIC OPERATIONS: SLOPE, ASPECT
SLOPE
• Estimates rate of maximum slope change for each cell
The slope is computed from the 3 row by 3 column neighborhood of each cell Basically,
a plane is computed for this neighborhood and the maximum slope of the plane is turned to the cell being processed At the edge of the grid, at least three cells (outside thegrid's extent) will contain NODATA as their z values These cells will be assigned thecenter cell's value The result is a flattening of the 3x3 plane that is fit to these edge cells,which thus usually leads to a reduction in the slope
re-As an example, imagine that you have a grid of elevation values and you want to timate the percent slope of each cell In this example, the cell size is 100 meters wide andlong and the elevation values are in meters above sea level
• Estimates the slope direction of each cell
Aspect estimates the maximum slope direction of each cell The output value is the pass direction expressed from 0 to 360 (for example, O=north, 45=northeast, 90 = east)
com-Ifthe estimate slope is zero, there is no slope direction and a value of -1 is returned foraspect of flat cells
Trang 16As an example, imagine that you have a grid of elevation values and you want to timate the slope direction of each cell In this example, the cell size is 100 meters wideand long and the elevation values are in meters above sea level.
GRID ANALYSIS EXERCISES
1) You run REGIONGROUP on the following grid Fill in the output grid:
Trang 172)What would the output grid contain if you use TEST with the following logical pression: Value in {1,3,8,9}
Trang 184) You have a grid of willow cells You want to buffer all willow areas by 1 cell Fillthe output grid with the appropriate values after the EXPAND function is executed.
BUFWlllOW = EXPAND (WillOW,1, LIST, 4, 5, 6,)
Trang 196) You have a grid of forest types and a grid of three watersheds You want to duce the following information.
pro-Number of Grid Cells in Watershed by
Veaetation Type Watershed BlacklWhite Aspen- Riparian Other Total
Spruce Birch Shrub
1
2
3
Fill in the following flowchart with the appropriate grid toolstosolve your problem
2= black/white spruce, etc
SHEEP_CRK 0= Outside Watershed 1= Inside Watershed
3=Sheep Crk Watershed
MOOSE_CRK 0= Outside Watershed 1= Inside Watershed
NODATA = Outside 0= Outside Watershed
NODATA = Outside 0= Outside Watershed
NODATA = Outside 0= Outside Watershed
Tables Module
For each grid:
_ get value attribute table determine total number of cells inside the watershed
Trang 207) You have a 1/0 grid of all lightning strike locations in interior Alaska during lastsummer You also have a grid of elevation values in meters for the same area Each gridcell is 1000 by 1000 meters You want to determine the following information:
Elevation Class Total Number of Total Area (hal
Add a column called
Ha to elev class Get elev_class value attribute table Compute hectares for each elevation class Show hectares for each elevation class
Trang 218) You have one grid(veg) that contains values of 71,72,73,74,75 for open water andvalues of 63,64,65,67 for wetland The grids have a cell size of 25 meters Draw a flowchart showing how you would produce a grid of wetlands cells that are on the shorelines
SHORE_WETLAND 0= nonwetland 1= wetland on shoreline