150 likes | 316 Views
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.
E N D
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. • Among the references adopted, we emphasize: 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 cellular automata and GIS through Geo-Álgebra', International Journal of Geographical Information Science, 11, 73-91. We try to accommodate Tomlin’s classes of non-local operations 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. • We also show how this approach can help modeling some • spatial variability for neighborhoods. • 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.
Local and Non-local Operations • Local operation involves different values associated to the • same location, while non-local operations firstly consider • the influence of a set of locations. • 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.
Maps, Operators and Expressions Maps are functions from a spatial domain into an attribute domain • 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) } • Operations and relations can be Induced from the • spatial and attribute domains, A language for expressions is also induced. (b4 – b3) / (b4 + b3) veg == “forest” slope >= 30 veg == “forest” and slope >= 30
Operations involving binary maps What is the meaning of operating binary and any other typed maps ? • A binary map is a function in { 0, 1} L . • We explore the interaction among binary and ordinary maps • by defining a binary operation. 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 * 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.
Regions and Boolean expressions A wide class of sets of locations can be defined by means of 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, neighborhoods are 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 ; • Combining proximity relations with relations on the • attribute domain allows modeling some spatial variability. Neighborhood near_forest : distance() < 3 and vegetation == “forest”
Neighborhoods and regions • Neighboring locations can be specified by the relative • positioningof locations regarding a focus location ( 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 1 1 1 1 1 1 1 1 1 • 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)
Neighborhoods and regions • Boolean expression can also be used to specify the • values (-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) • As for regions in general, Boolean operations can be • used to build new specifications. new_neigh = neigh AND slope < 30 ; It is equivalent to write: (-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)
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 their interaction with maps • The gradient filtering operation will involve: 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 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. Map1 = Map2 = Map3 = Map4 = 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.
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 Group Image Processing Division – DPI