Upload
daryl
View
30
Download
0
Embed Size (px)
DESCRIPTION
Algebraic Formalism over Maps. João Pedro Cerveira Cordeiro Gilberto Câmara Ubirajara F. Moura Cláudio Barbosa Felipe Almeida. GeoInformation Group Image Processing Division – DPI. Research Context. This work is intended to contribute toward an actual formal approach to map algebra. - PowerPoint PPT Presentation
Citation preview
Algebraic Formalism over Maps
João Pedro Cerveira CordeiroGilberto Câmara
Ubirajara F. MouraCláudio Barbosa
Felipe AlmeidaGeoInformation GroupImage Processing Division – DPI
Research Context
• Among the references adopted, we emphasize:
This work is intended to contribute toward an actual formal approach to map algebra.
Tomlin, D., 1990. Geographic Information Systems and Catographic Modeling. Prentice Hall, Englewood Cliffs, NJ.
Ritter, G.X., Wilson, J., Davidson, J. 1990, Image algebra: An overview, Computer Vision, Graphics and Image Processing, 49, 297-331
Takeyama, M.; Couclelis, H., 1997. 'Map dynamics: integrating cellularautomata and GIS through Geo-Álgebra', International Journal ofGeographical Information Science, 11, 73-91.
We try to accommodate Tomlin’s classes of non-localoperations into a single paradigm based only on local operations.
Motivation and Objectives
• We start by defining a local operator to modeling the interaction between binary and ordinary maps
• We also formalize the notion of “regions” from which the notions of “zones” and “neighborhoods” can be derived.
• A new version of the selecting operator is then introduced in order to incorporate the “weighting” of location.
• Finally the consistence of the approach proposed with the principles of geo-algebra is pointed out.
• We also show how this approach can help modeling some spatial variability for neighborhoods.
Local and Non-local Operations
• A typical non-local operation consists of three basic steps
1. A set of locations is selected 2. A set of values at selected locations is recorded;3. A value is summarized from this set and used to characterize either a single location, or the whole set of selected locations..
• Actually there is another step regarding the weights, or multiplicit,y to which different locations must be considered.
• Local operation involves different values associated to the same location, while non-local operations firstly consider the influence of a set of locations.
Maps, Operators and Expressions
• A map is an element of VL, the set of functions from L, a set of locations, into the set V of values
map { (l, v) | m(l) = v } { (x, y, v) }
Maps are functions from a spatial domain into an attribute domain
• Operations and relations can be Induced from the spatial and attribute domains,
(b4 – b3) / (b4 + b3)veg == “forest”slope >= 30veg == “forest” and slope >= 30
A language for expressions is also induced.
Operations involving binary maps
Value Null 0 Null Null 1 Value Null
• Its effect corresponds to the selection of values at cells marked “1”. The value “0” corresponds to selecting no copies of any value.
• We explore the interaction among binary and ordinary maps by defining a binary operation.
What is the meaning of operating binary andany other typed maps ?
• A binary map is a function in { 0, 1} L .
0 0 0 1 1
0 1 1 1 0
0 1 1 1 0
1 1 1 1 0
1 1 0 0 0
Regions and Boolean expressions
A wide class of sets of locations can be defined by meansof Boolean (logical) operations;!
• A type “Regions” is suggestive here.
Regions regs :vegetation == “forest” and slope < 30 ,vegetation == “crops” and district == “second” ,height > 1000 or rain == “low”;
• The interaction among maps and regions is based on the selecting operator.
regs * (b4 - b3) / (b4 + b3)
Zones, Neighborhoods and regions
Zones are regions that do not overlap, neighborhoodsare regions given by proximity relations.
• Types “Zones” and “Neighborhoods” can be derived from “Regions”.
Zones districts : district == “first”, “second”, “third” ;Zones buffers : distance(rivers == “main”) div 10 ;Neighborhood close : distance() < 3 ;
Neighborhood near_forest :distance() < 3 and vegetation == “forest”
• Combining proximity relations with relations on the attribute domain allows modeling some spatial variability.
Neighborhoods and regions
• Neighboring locations can be specified by the relative positioning of locations regarding a focus location
• Such specification represents a familiy of functions from ZxZ into the binary set {0, 1} .
Neighborhoods neigh :(-1,-1,1), (-1,0,1), (-1,1,1),(0,-1, 1), (0,0,1), (0,1,1),(1,-1, 1), (1,0,1), (1,1,1)
1 1 1
1 1 1
1 1 1
( img(-1,-1) + img(-1,0) + img(-1,1) + img( 0,-1) + img( 0, 0) + img( 0,1) + img( 1,-1) + img( 1, 0) + img( 1,1) ) / 9
Neighborhoods and regions
• Boolean expression can also be used to specify the values
• As for regions in general, Boolean operations can be used to build new specifications.
(-1,-1,slope < 30), (-1,0, slope < 20), (-1,1, slope < 10),(0,-1, slope < 20), (0,0, slope < 20), (0,1, slope < 10),(1,-1, slope < 10), (1,0, slope < 10), (1,1, slope < 10)
new_neigh = neigh AND slope < 30 ;
(-1,-1,slope < 30), (-1,0, slope < 30), (-1,1, slope < 30),(0,-1, slope < 30), (0,0, slope < 30), (0,1, slope < 30),(1,-1, slope < 30), (1,0, slope < 30), (1,1, slope < 30)
It is equivalent to write:
Weighted Neighborhoods
• Consider a gradient filtering operation given by explicitly involving neighboring locations as in a local operation.
Sqrt ( ( ( img( 1,-1) + 2 * img( 1,0) + img( 1,1) ) - ( img(-1,-1) + 2 * img(-1,0) + img(-1,1) ) )^2 + ( ( img(-1, 1) + 2 * img(0, 1) + img(1, 1) ) - ( img(-1,-1) + 2 * img(0,-1) + img(1,-1) ) )^2 );
1 2 1
2 2
1 2 1
• This suggests extending the selecting operator so that the weighting of selected locations can be modeled.
Value Null 0 Null Null n n copies Null of Value
Weighted Neighborhoods
Now we can define neighborhoods and express theirinteraction with maps
Neighborhoods up : (-1,-1, 1), (-1, 0, 2), (-1, 1, 1); down : (1,-1, 1), ( 1, 0, 2), ( 1, 1, 1); left : (-1,-1, 1), ( 0,-1, 2), ( 1,-1, 1); right : ( 1,-1, 1), ( 0, 1, 2), ( 1, 1, 1);
• The gradient filtering operation will involve:
• The new version of selecting (and weighting) operator may be used now to model the interactions with “img”.
Sqrt ( ( Sum ( img * down) - Sum ( img * up ) )^2 + ( Sum ( img * right ) - Sum ( img * left ) )^2 );
Summary Functions
This concludes a non-local operation.
• Summarizing is typically done by applying some simple statistics to the selected and weighted data.
Average (img * neigh) Majority (veg * ( slope < 30 AND soil == “pdz”
slope > 30 AND veg == “forest” ) ) Maximum ( ( ndvi > 0.5) * heights * slope ) Sqrt ( ( Sum ( img * down) - Sum ( img * up ) )^2 + ( Sum ( img * right ) - Sum ( img * left ) )^2 )
• Finally, map layers can be assigned to the result of evaluating algebraic expressions.
Map1 =Map2 =
Map3 =Map4 =
Concluding Remarks
• The approach presented is consistent with Takeyama’s geo-algebra in that regions can be equated to influence sets and meta-relational maps.
• A formal compromise between language and implementation may help avoiding some efficiency problems.
• Its suggestive to explore modeling based on Cellular Automata.by its language counterpart as well.
• Using local operations to modeling not only map layers, but also the regions used to build them up, would also help avoiding mixing concepts from spatial and other natures.
Thank You !
GeoInformation GroupImage Processing Division – DPI