Upload
james-warren
View
214
Download
0
Tags:
Embed Size (px)
Citation preview
Towards a generalized map
algebra: principles and data types
Gilberto CâmaraDanilo Palomo
Ricardo CartaxoOlga Oliveira
2
Map Algebra
Is an algebraic framework for performing operations on data stored in a geographical information system (GIS).
Allows the user to model different problems and to obtain new information from the existing data set.
A simple example: “How to identify all areas without vegetation with slope greater than 15% as high risk ”.
U
slope
vegetation
3
Tomlin’s Map Algebra [1990]
Data type A Map in raster representation
Operations
Local Focal Zonal
Source: Tomlin (1990)
n(p) = touch z(p) = inside
spatial
gl gf
n(p)
gz
z(p)
4
New applications
“Calculate the deforestation along the rivers and roads”
5
Questions
“What is the theoretical foundation for map algebra?”
“Could this theoretical foundation provide support for more generic map algebra?”
“How can we define an extended map algebra suitable for both raster and vector representations?”
6
Response
We take the existing spatial predicates as a basis for defining a more generic map algebra.
Motivation
To allow the user to model a greater number of different problems and to obtain a greater number of new information from the existing data set.
7
Introduction and motivation
The generalized map algebra
Compare with the Tomlin’s proposal
Examples
Conclusions
Outline
8
The generalized map algebra
Data type A map in raster or vector representation
Function Signature
getregions map list_region
contains map region bool
overlaps map region bool
insert map region attr_domain map
retrieve map region attr_domain
new map
add map region map
remove map region map
The map data type
9
Axioms
(getregions (m)) == G (the extent of the map)
contains (m, r) == true iff r G
insert(m,r,val) == error iff contains (m,r) == false
retrieve (m,r) == error iff contains (m,r) == false
retrieve (insert (m, r, val), r) == value
add (m,r) == error iff ((contains (m, r) == true) or (overlaps (m,r) == true))
remove (m,r) == error iff (contains (m,r) == false)
remove ((add (m, r), r) == add ((remove (m, r), r)
10
Nonspatial operation
Are the equivalent to Tomlin’s local operations
11
Nonspatial operators
Operators Single argument mathematical functions: log, exp,
sin, ... Single argument logical function: not. Multiargument functions: sum, product, or, ...
Instances m1, m2 : map maplist: list_mapr : region reglist : list_regionvalue: attr_domain valuelist: list_attr_domainfunc1: func_single funcn: func_multiple
Function Signature
single map func_single map map
multiple maplist func_multiple map map
select map attr_domain comp map map
12
Spatial predicates
Directional predicates
Source: adapted from Egenhofer and Herring
[1991]
Source: Winter & Frank [2000]
Topological predicates
13
Spatial selection function
data
selection
reference
spatial predicate
14
disjoint
Application of spatial selection functions
data
predicate
selection
reference
touch westinside
15
Spatial operation
output map
data
reference
output
selection
spatial predicate
composition
16
Spatial operators
Operators Multiargument functions: sum, product, or, ...
Instances m1, refmap, m2 : map r1, r2 : region v_list: list_attr_domain func: func_multiple pred: spat_pred
Function Signature
spatial map map pred func_multiple map map
17
Motivation
The generalized map algebra
Comparison with the Tomlin’s proposal
Examples
Conclusions
Outline
18
Comparison with Tomlin’s map algebra
Focal operation Zonal operation
composition
output and reference
touch
composition
inside
No equivalence
composition
disjoint / equalwest / north / ...
19
Motivation
The generalized map algebra
Comparison with the Tomlin’s proposal
Examples
Conclusions
Outline
20
lsum := sum (defor touch lsumlsum := sum (defor touch lsum)lsum := sum (defor touch lsum);
Find the local sum of regions in a deforestation map
Example of spatial operation
defor lsum
touch
1980sum :=
230
21
reserves defor
Example of spatial operation
deforRes := sum (defor inside reserves
sum470
deforRes := sum (defor inside reserves)deforRes := sum (defor inside reserves);
Find the sum of deforestation in the native reservations
inside
deforRes
:=
22
roadDesm := mean (defor intersects roadroadDesm := mean (defor intersects road)defRoad := mean (defor intersects road);
Example of spatial operation
road defRoaddefor
intersects mean195 :=
Calculate the mean of the deforestation along the road
23
Motivation
The generalized map algebra
Comparison with the Tomlin’s proposal
Examples
Conclusions
Outline
24
Conclusions Our map algebra enables operations that are
not directly expressible by Tomlin`s proposal.
One of the important result is to show that Tomlin’s Map Algebra can be seen as an application of spatial predicates to coverages.
Further generalizations of the proposed algebra are possible by involving the full set of spatial predicates.
The next step in our work is to design, implement and validate a language that supports the proposed map algebra for spatial databases.