Map Algebra and Beyond: 1 Map Algebra and Beyond: 1. Map Algebra for Scalar Fields Xingong Li University of Kansas 3 Nov 2009
Topics The conventional map algebra Local operations Focal operations Zonal operations Global operations
Losses (Evaporation, Infiltration) Map Algebra Raster layers are manipulated by math-like expression to create new raster layers Precipitation - Losses (Evaporation, Infiltration) = Runoff 5 2 3 4 7 6 - =
Map Algebra Operations Wednesday, April 19, 2017 Map Algebra Operations Tomlin (1990) defines and organizes operations as local, focal, zonal, and global according to the spatial scope of the operations Geographic Information System and Cartographic Modeling, Englewood Cliffs: Prentice Hall, 1990. Tomlin (1983, 1990) defined and organized operations on raster data model as local, focal and zonal according to the spatial scope of the operations. Geographic Information System and Cartographic Modeling, Englewood Cliffs: Prentice Hall, 1990. Menton et al (1991) add global operations. Local Focal Zonal Global
Local Operations Compute a new raster layer. The value for each cell on the output layer is a function of one or more cell values at the same location on the input layer(s).
Local Operations Arithmetic operations +, -, *, /, Abs, … Relational operators >, <, … Statistic operations Min, Max, Mean, Majority, … Trigonometric operations Sine, Cosine, Tan, Arcsine, Arccosine, … Exponential and logarithmic operations Sqr, sqrt, exp, exp2, …
Local Operation--Examples 9 7 8 5 6 3 2 1 9 8 6 3 + = 9 7 8 5 6 3 2 1 N 3.5 5 / =
Removing Clouds Using a Local Operation Wednesday, April 19, 2017 Removing Clouds Using a Local Operation Two consecutive ocean surface temperature raster layers for the same area (measured at a slightly different time). Biweekly NDVI green report Images are from: http://rs.gso.uri.edu/amy/avhrr.html Images are from: http://rs.gso.uri.edu/amy/avhrr.html
30-Year (1971-2000) Monthly PRISM Precipitation Feb. Aug. Apr. Oct. How do we define seasonality of precipitation at a single location? Jun. Dec.
Seasonality at San Francisco Total = 18.69” [4.01 3.48 2.69 1.30 0.48 0.11 0.01 0.02 0.19 0.74 1.57 4.09]
Monthly Precipitation as a Vector Quantity x=p*sin(monthAngle) y=p*cos(monthAngle) Each month’s duration is equivalent to a 30° angle Monthly data are plotted at midpoint: 15°, 45°, 75°, ……
Seasonality Analysis Add all vectors = Resultant vector Monthly precipitation (in inches): [4.01 3.48 2.69 1.30 0.48 0.11 0.01 0.02 0.19 0.74 1.57 4.09] x=p*sin(monthAngle) y=p*cos(monthAngle) Add all vectors = Resultant vector
Seasonality at San Francisco Average monthly precipitation at San Francisco in inches [4.01 3.48 2.69 1.30 0.48 0.11 0.01 0.02 0.19 0.74 1.57 4.09] Precipitation vectors x=1.09, 2.46, 2.59, 1.26, 0.34, 0.03, 0, -0.01, -0.18, -0.71, -1.11, -1.04 y=3.86, 2.47, 0.74, -0.32, -0.33, -0.11, -0.01, -0.01, -0.05, 0.19, 1.11, 3.95 Resultant vector sx=4.7 sy=11.5 Magnitude=12.41 Direction=22.25 Time of occurrence Direction in month (= January) Seasonality index 1-magnitude of resultant vector/total precip. = 1- (12.41/18.69) = 0.34 (larger number means more uniform) 12.41 22.25°
Seasonality Analysis: Local functions at each cell over the whole domain sy Cos(15) * [p01] + Cos(45) * [p02] + Cos(75) * [p03] + Cos(105) * [p04] + Cos(135) * [p05] + Cos(165) * [p06] + Cos(195) * [p07] + Cos(225) * [p08] + Cos(255) * [p09] + Cos(285) * [p10] + Cos(315) * [p11] + Cos(345) * [p12] sx Sin(15) * [p01] + Sin(45) * [p02] + Sin(75) * [p03] + Sin(105) * [p04] + Sin(135) * [p05] + Sin(165) * [p06] + Sin(195) * [p07] + Sin(225) * [p08] + Sin(255) * [p09] + Sin(285) * [p10] + Sin(315) * [p11] + Sin(345) * [p12] Magnitude of resultant vector Sqrt(Sqr([sx]) + Sqr([sy])) Total precipitation [p01] + [p02] + [p03] + [p04] + [p05] + [p06] + [p07] + [p08] + [p09] + [p10] + [p11] + [p12] Seasonality 1 - ([Mag. Of resultant vector] / [Total Precip])
Time of Occurrence
Seasonality Index Large number means more uniform 0.34 Large number means more uniform Small number means more seasonal
Map Algebra Operations Wednesday, April 19, 2017 Map Algebra Operations Operations are grouped as local, focal, zonal, and global according to the spatial scope of the operations. Tomlin (1983, 1990) defined and organized operations on raster data model as local, focal and zonal according to the spatial scope of the operations. Geographic Information System and Cartographic Modeling, Englewood Cliffs: Prentice Hall, 1990. Menton et al (1991) add global operations.
Focal Operations Compute an output value for each cell as a function of the cells that are within its neighborhood Widely used in image processing with different names Convolution, filtering, kernel or moving window Focal operations are spatial in nature
Neighborhoods The simplest and most common neighborhood is a 3 by 3 rectangle window Other possible neighborhoods a rectangle, a circle, an annulus (a donut) or a wedge
Finding Appropriate Wind Farm Sites Wind speed Higher elevation higher speed Elevation (>= 1000m) Aspect facing prevailing wind direction Wind exposure Not blocked by nearby hills in the prevailing wind direction Data Prevailing wind direction 225 to 315 DEM Wedge neighborhood 0 degree is East, counterclockwise (135—225)
Wind Exposure Analysis Wednesday, April 19, 2017 Wind Exposure Analysis Find max elevation in the prevailing wind direction FocalMax with a wedge neighborhood Find cells not blocked by hills in the neighborhood DEM > FocalMax Relaxed conditions DEM > FocalMean DEM > FocalMedian FocalPercentile > 95% How large should the neighborhood be? Prevailing wind direction may vary from cell to cell (raster layers)
Map Algebra Operations Wednesday, April 19, 2017 Map Algebra Operations Operations are grouped as local, focal, zonal, and global according to the spatial scope of the operations. Tomlin (1983, 1990) defined and organized operations on raster data model as local, focal and zonal according to the spatial scope of the operations. Geographic Information System and Cartographic Modeling, Englewood Cliffs: Prentice Hall, 1990. Menton et al (1991) add global operations.
Zonal Operations Compute a new value for each cell as a function of the cell values within a zone containing the cell Zone layer defines zones Value layer contains input cell values
Zonal Statistical Operations Calculate statistics for each cell by using all the cell values within a zone Zonal statistical operations: ZonalMean, ZonalMedian, ZonalSum, ZonalMinimum, ZonalMaximum, ZonalRange, ZonalMajority, ZonalVariety, ….
Zonal Statistical Operation Example 1 4 3 2 1 2 3 4 5 6 7 8 9 Zone Layer Value Layer ZonalMax 8 9 Output Layer
Outputs of Zonal Operations Raster layer All the cells within a zone have the same value on the output raster layer Table Each row in the table contains the statistics for a zone. The first column is the value (or ID) of each zone. The table can be joined back to the zone layer.
NEXRAD Cell Precipitation Measurement spatial resolution
Subwatershed Precipitation from NEXRAD Cells Precipitation model/application resolution
NEXRAD Subwatershed Precipitation
Calculating Subwatershed Precipitation Depth pi—precipitation depth in an hour ai—portion of the watershed that falls in the ith cell a1 a2 a3 a4
Map Algebra Operations Wednesday, April 19, 2017 Map Algebra Operations Operations are grouped as local, focal, zonal, and global according to the spatial scope of the operations. Tomlin (1983, 1990) defined and organized operations on raster data model as local, focal and zonal according to the spatial scope of the operations. Geographic Information System and Cartographic Modeling, Englewood Cliffs: Prentice Hall, 1990. Menton et al (1991) add global operations.
Global Operations Operations that compute an output raster where the value of each output cell is a function of all the cells in the input raster Global statistical operations Distance operations. Euclidean distance Cost distance
Distance Operations Characterize the relationships between each cell and source cells (usually representing features) Distance to nearest source cell Direction to nearest source cell
Euclidean Distance Operation Wednesday, April 19, 2017 Euclidean Distance Operation Calculates the shortest straight distance from each cell to its nearest source cell (EucDistance) Assigns each cell the value of its nearest source cell (EucAllocation) Calculates the direction from each cell to its nearest source cell (EucDirection) 1 2 1 2 Hypotenuse
EucDistance Example Buffers can be delineated from the distance raster
EucAllocation Example Voronoi diagram Thesisen’s polygon
Non-Euclidean Distance (Cost Distance) Straight line distance (between A and B) is a type of cost Cost could also be measured as time or money spent Friction may vary space Least cost and least-cost-path
CostDistance Operation Wednesday, April 19, 2017 CostDistance Operation Compute the least accumulative cost from each cell to its least-cost source cell Source raster Representing features (points, lines, and polygons) No-source cells are set to NODATA value Friction raster Cost encountered while moving in a cell (distance, time, dollars and efforts) Unit is: cost per unit distance Can have barriers (NODATA cells) source friction Distance example: Slope distance or vertical distance Time example: reciprocal of speed
Fungus Invasion Fungus spreading depends on the availability of precipitation A fungus is introduced at a seaport in January 1 Questions Which area would be affected by July? Will the fungus reach Austin by the end of July?
Fungus Spreading Speed Fungus travel speed depends on precipitation. < 100 mm/month, 0 m/day 100 – 200 mm/month, 4000 m/day > 200 mm/month, 7000 m/day
The Friction Raster Unit of the friction raster: Wednesday, April 19, 2017 The Friction Raster Travel speed Unit of the friction raster: days per unit distance reciprocal Friction = 1 / speed
The Least Cost Raster What do the values mean on the cost raster layer? The days that the fungus will take to reach a cell
Friction Varies in Space & Time Wednesday, April 19, 2017 Friction Varies in Space & Time Precipitation varies both in space and time. How could we model the spreading of the fungus now? February Sometime fungus won’t move Some time they move fast and some time they move slowly April
Fungus Invasion
Fungus Invasion by Month
Sum of Two Cost Surfaces Wednesday, April 19, 2017 Sum of Two Cost Surfaces All the cells on the least-cost path have the same cost. The path cells are at the bottom of the sum surface. The least cost between A and B and passes through a cell.
Corridor Analysis Corridor = accumulative cost < a threshold value Wednesday, April 19, 2017 Corridor Analysis All the cells on the least-cost path have the same cost. The path cells are at the bottom of the sum surface. Corridor = accumulative cost < a threshold value
Summary Concepts What you have just seen is the basis for the map algebra language in ArcGIS Grid and Spatial Analyst Local functions Focal functions Zonal functions Global functions