Towards a generalized map algebra: principles and data types Gilberto Câmara Danilo Palomo Ricardo...

Preview:

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.