CS 128/ES 228 - Lecture 13a 1
Surface Analysis
CS 128/ES 228 - Lecture 13a 2
Network Analysis Given a network
What is the shortest path from s to t? What is the cheapest route from s to
t? How much “flow” can we get through
the network? What is the shortest route visiting all
points?
Image from: http://www.eli.sdsu.edu/courses/fall96/cs660/notes/NetworkFlow/NetworkFlow.html#RTFToC2
CS 128/ES 228 - Lecture 13a 3
Network complexitiesShortest path EasyCheapest path EasyNetwork flow MediumTraveling salesperson
Exact solution is IMPOSSIBLY HARD but can be approximated
All answers learned in CS 232!
CS 128/ES 228 - Lecture 13a 4
When is an Elevation NOT an Elevation? When it is rainfall, income, or any
other scalar measurement
Bottom Line: It’s one more dimension (any dimension!) on top of the geographic data
CS 128/ES 228 - Lecture 13a 5
How do we display a map with “elevation”?
Choropleth map
Contour map
Surface map
CS 128/ES 228 - Lecture 13a 6
Choropleth maps Show areas of equal “elevation” in a
uniform manner
Are usually “exact” approximations (through aggregation)
Subject to classification issues
Often intimately connected to queries
CS 128/ES 228 - Lecture 13a 7
Simple uses of choroplethsOrdinal
Population
Per capita income
Crop yield
Categorical
Soil type
Political party control
Primary industry
CS 128/ES 228 - Lecture 13a 8
Display issues for choropleths Classification
Type
Number of intervals
Colors
CS 128/ES 228 - Lecture 13a 9
How do we select choropleth regions?
Based on existing polygons
Based on dissolved polygons
Based on nearest points
CS 128/ES 228 - Lecture 13a 10
A Choropleth you built
CS 128/ES 228 - Lecture 13a 11
More complex queries using choropleths Time series data
Population change % of land in agricultural use
Computation driven Total spending power = Average income x population Average wheat yield = Total yield / Acreage of farms
CS 128/ES 228 - Lecture 13a 12
Basic model for “computed choropleths” Create new attribute data (usually
within attribute table; sometimes with selection layer)
Set the display to key off that new data
Choose remaining display options
CS 128/ES 228 - Lecture 13a 13
A riddle (sans funny punch line) What is the difference between a
choropleth map and a 2-D query such as “how many points are in this polygon”?
A fine (boundary) line
In truth, it is a matter of style of output.
CS 128/ES 228 - Lecture 13a 14
Review of surface approximation “dimensions” Local vs. Gradual
Exact vs. Approximate
Gradual vs. Abrupt
Deterministic vs. Stochastic
CS 128/ES 228 - Lecture 13a 15
Thiessen polygons Local
Exact
Abrupt
Deterministic
CS 128/ES 228 - Lecture 13a 16
More sophisticated surface generation (trend surface)
Use a “least squares”-
like technique
to fit a surface to the data
CS 128/ES 228 - Lecture 13a 17
Trend Surfaces
Global Approximate (in most cases) Gradual Deterministic
Better quality obtained by using higher order surface, but takes longer
CS 128/ES 228 - Lecture 13a 18
Inverse distance interpolation
Value of a point is related to the sum of the values of all other points divided by their distance from the given point
CS 128/ES 228 - Lecture 13a 19
Inverse distance
Global (but effectively local)
Approximate (but close to exact)
Gradual Deterministic
Can use different functions, e.g. inverse distance squared
CS 128/ES 228 - Lecture 13a 20
Spatial moving average
Global (but heavily local)
Approximate (but close to exact)
Gradual
Deterministic
CS 128/ES 228 - Lecture 13a 21
“Realistic” surface modeling Requires approximating
“Show the impression, not the data”
Often involves slope and aspect
Commonly used for shading maps
CS 128/ES 228 - Lecture 13a 22
Building “shade” Shaded maps intrinsically include a
“camera” and a “direction”
For “perspective”, color is determined using the dot product (trigonometry alert) of the value of the normal (aspect) and the camera vector (line of sight)
CS 128/ES 228 - Lecture 13a 23
Some shaded surfaces
Image from: Burrough & McDonnell, Principles of Geographic Information Systems, p. 192
CS 128/ES 228 - Lecture 13a 24
Where has all the rainfall gone?
Image from: Burrough & McDonnell, Principles of Geographic Information Systems, p. 194
CS 128/ES 228 - Lecture 13a 25
It’s not calculus Much analysis is done through “cellular”
computation
Conway’s game of Life is an example
http://www.bitstorm.org/gameoflife/
Use the gradient to move “cells” of water to show flow and/or flooding
CS 128/ES 228 - Lecture 13a 26
More complex models To compute the irradiance, I, use the
following formula
I = [cos0cos + sin0sincos(0-A)]S0
x exp(-T0/ cos0)
where S0 is the exatmospheric solar flux, 0 is the solar zenith angle, etc.
CS 128/ES 228 - Lecture 13a 27
Thoughts on surface analysis Surface analysis is handy, but
requires Moderately complex database queries,
or Moderately complex mathematics
Fortunately, much of this is “built-in” through wizards (e.g. buffer wizard)
CS 128/ES 228 - Lecture 13a 28
Some thoughts on surface generation “There are three kinds of lies: lies, damned lies
and statistics” Benjamin Disraeli, popularized by Mark Twain
“Anyone can lie with statistics” Anonymous
“A picture can lie more effectively than words” Anonymous