# Algebraic Formalism over Maps João Pedro Cerveira Cordeiro Gilberto Câmara Ubirajara F. Moura Cláudio Barbosa Felipe Almeida GeoInformation Group Image.

## Presentation on theme: "Algebraic Formalism over Maps João Pedro Cerveira Cordeiro Gilberto Câmara Ubirajara F. Moura Cláudio Barbosa Felipe Almeida GeoInformation Group Image."— Presentation transcript:

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 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 cellular automata and GIS through Geo-Álgebra', International Journal of Geographical Information Science, 11, 73-91. We try to accommodate Tomlins 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. 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 V L, 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 >= 30 veg == forest and slope >= 30 A language for expressions is also induced.

Operations involving binary maps Value Null 0NullNull 1ValueNull 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 and any other typed maps ? A binary map is a function in { 0, 1} L. 0 0 0 1 1 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 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 ; 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 ( 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 0Null Null nn copies Null of Value

Weighted Neighborhoods Now we can define neighborhoods and express their interaction 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 Takeyamas 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

Similar presentations