The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia...

45
The Architecture of a Flexible Querier for Spatio-Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto de Souza Gilberto Câmara GeoInformation Group Image Processing Division – DPI

Transcript of The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia...

Page 1: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

The Architecture of a Flexible Querier for Spatio-Temporal Databases

Karine Reis Ferreira Lúbia Vinhas

Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto de Souza

Gilberto Câmara

GeoInformation GroupImage Processing Division – DPI

Page 2: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Introduction

Challenge to GISystems: use spatially enabled DBMS to build innovative applications which deal with spatio-temporal data

How to address it: ST Types and their associated Algebra (Gutting, 2005) Conceptual models, E-R models for ST-Data (Pelekis et al,

2004) ST Query Languages (ISO, 2001) ST Predicates (Egenhofer and Franzosa, 1991; Allen,1983)

Which is the canonical set of ST Predicates? Application specialized subset Building blocks that can be combined (Erwig and Schneider, 2002)

Page 3: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Introduction

How to design a flexible query processor for spatio-

temporal data using object-relational DBMS?

Some aspect to be considered: Applications are different: in terms of queries and responses

An unified and flexible architecture is desired

Page 4: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Layers

A geographical database is composed by layers

Layers contain Spatio-Temporal Objects (ST-Objects)

Static Layers: ST-Objects do not change along the time, neither in their

descriptive or geometrical attributes

Temporal Layers ST-Objects change along the time, either in their descriptive or

geometrical attributes

ST-Instance represent version in a given time of a ST-Object

Page 5: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Database Model

Ex: a layer of districts of a city

DistrictsG

geomId: int

objId: string

spatialD: spatial

1 D1 bbbbbbbbbbbbb

2 D2 bbbbbbbbbbbbb

3 D3 bbbbbbbbbbbbb

DistrictsA

CODDIS:string

NOME:string

POP:int

D1 Agua Rasa 85896

D2 Cangaiba 137442

D3 Capão Redondo 240793

layerslayerId:

intlayerName:

string

1 Distritos

representations

layerId: int

geomRelatio: string

1 DistrictsG

attributesRel

layerId: int

attrRelation: string

1 DistrictsA

Data Metdata

Page 6: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Database ModelDistrictsG

geomId: int

objId: string

spatialD: spatial

1 D1 bbbbbbbbbbbbb

2 D2 bbbbbbbbbbbbb

3 D3 bbbbbbbbbbbbbDistrictsStatus

attrInststring

geomInst:string

timeI:time

timeF:time

1 1 01/01/2003

2 2 01/01/2003

3 3 01/01/2003

Initial State

DistrictsA

CODDIS:string

NOME:string

POP:int

attrInststring

D1 Agua Rasa 85896 1

D2 Cangaiba 137442 2

D3 Capão Redondo 240793 3

Page 7: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Database ModelDistrictsG

geomId: int

objId: string

spatialD: spatial

1 D1 bbbbbbbbbbbbb

2 D2 bbbbbbbbbbbbb

3 D3 bbbbbbbbbbbbb

4 D1 bbbbbbbb

DistrictsStatus

attrInststring

geomInst:string

timeI:time

timeF:time

1 1 01/01/2003 31/12/2003

2 2 01/01/2003

3 3 01/01/2003

1 4 31/12/2003

DistrictsA

CODDIS:string

NOME:string

POP:int

attrInststring

D1 Agua Rasa 85896 1

D2 Cangaiba 137442 2

D3 Capão Redondo 240793 3

Change in Geometry

Page 8: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Database ModelDistrictsG

geomId: int

objId: string

spatialD: spatial

1 D1 bbbbbbbbbbbbb

2 D2 bbbbbbbbbbbbb

3 D3 bbbbbbbbbbbbb

4 D1 bbbbbbbb

DistrictsStatus

attrInststring

geomInst:string

timeI:time

timeF:time

1 1 01/01/2003 31/12/2003

2 2 01/01/2003 01/06/2004

3 3 01/01/2003

1 4 31/12/2003

4 2 01/06/2004

DistrictsA

CODDIS:string

NOME:string

POP:int

attrInststring

D1 Agua Rasa 85896 1

D2 Cangaiba 137442 2

D3 Capão Redondo 240793 3

D2 Cangaiba 150000 4

Change in Attributes

Page 9: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Database ModelDistrictsG

geomId: int

objId: string

spatialD: spatial

1 D1 bbbbbbbbbbbbb

2 D2 bbbbbbbbbbbbb

3 D3 bbbbbbbbbbbbb

4 D1 bbbbbbbb

5 D3 bbbb

DistrictsStatus

attrInststring

geomInst:string

timeI:time

timeF:time

1 1 01/01/2003 31/12/2003

2 2 01/01/2003 01/06/2004

3 3 01/01/2003 21/09/2004

1 4 31/12/2003

4 2 01/06/2004

5 5 21/09/2004

DistrictsA

CODDIS:string

NOME:string

POP:int

attrInststring

D1 Agua Rasa 85896 1

D2 Cangaiba 137442 2

D3 Capão Redondo 240793 3

D2 Cangaiba 150000 4

D3 Capão Redondo 250000 4

Change in Attributes and Geometry

Page 10: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

ST Data - Examples

Crime events: crime

occurrences in a city,

specifying its time and

location

Which crimes happened

on Friday in the Humaitá

district of Porto Alegre

city?

Page 11: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

ST Data - Examples

Epidemiological data: the

weekly counting of mosquito

eggs in a set of traps arbitrarily

deployed over a city

http://saudavel.dpi.inpe.br/

How many eggs were counted by trap in each month?

Page 12: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

ST Data - Examples

Land parcels

For each month, which changes occurred in the parcels?

Page 13: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

The Querier Processor ArchitectureApplication Program Interface

Parameters

SQLST Data

ST Instances

ProcessingQuerier

Application

Spatio-temporal Database

PostGIS MySQL Oracle…

Page 14: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Parameters

Layer: the source of the ST-Instances

Chronon: defines how the time extension of the layer

should be divided into a set of time frames second, minute, hour, day, month, year, day of week,

day of month, day of year, month of year, week of year, hour of day, minute of hour or second of minute

Page 15: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Parameters

Aggregate functions: how to group a set of ST-Instances

of a time frame in a representative one average, sum, counting, variance maximum or minimum,

Which time frames will be retrieved: controls if the Querier should returns either every time frame

existent in the total interval of the data or only the time frames

where some change occurred

Page 16: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Parameters

Temporal predicate: defines a relation between the data and the time frames (as specified by the Chronon) temporal interval predicates: equals, before, after, meets,

during, overlaps, ends or starts [Allen,1983]

Spatial predicate: defines a relation between the data and a geometry disjoint, touches, crosses, within, overlaps, contains,

intersects, equals, covers and covered by [Egenhofer and Franzosa, 1991]

Page 17: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Return all crime events, their location and properties

CrimeLayer = database->getLayer (“Crimes”);

Source of the ST Data

Page 18: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Return all crime events, their location and properties

CrimeLayer = database->getLayer (“Crimes”);

Querier->setParams(loadGeometries, loadAllAttributes);Querier->setParams(CrimeLayer);

Set parameters

Page 19: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Return all crime events, their location and properties

CrimeLayer = database->getLayer (“Crimes”);

Querier->setParams(loadGeometries, loadAllAttributes);Querier->setParams(CrimeLayer);

Querier->loadInstances();

Run the query processor

Page 20: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Return all crime events, their location and properties

CrimeLayer = database->getLayer (“Crimes”);

Querier->setParams(loadGeometries, loadAllAttributes);Querier->setParams(CrimeLayer);

Querier->loadInstances();

while (Querier->fetchInstance(sti)) { Geometry = sti.getGeometry(); Properties = sti.getProperties(); Time = sti.getTime(); }

Consume the instances

Page 21: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Which crimes happened in 2003 in the district “Cabanga” of Recife city?

DistrictLayer = database->getLayer (“Districts”);DistrictGeometry = DistrictLayer->getGeometry(“Cabanga”);

Page 22: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Which crimes happened in 2003 in the district “Cabanga” of Recife city?

DistrictLayer = database->getLayer (“Districts”);DistrictGeometry = DistrictLayer->getGeometry(“Cabanga”);

Querier->setParams(loadGeometries, loadAllAttributes);Querier->setParams(CrimeLayer, year, ChangedTimeFrames);Querier->setSpatialRestriction(DistrictGeometry,within);

Page 23: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Which crimes happened in 2003 in the district “Cabanga” of Recife city?

DistrictLayer = database->getLayer (“Districts”);DistrictGeometry = DistrictLayer->getGeometry(“Cabanga”);

Querier->setParams(loadGeometries, loadAllAttributes);Querier->setParams(CrimeLayer, year, ChangedTimeFrames);Querier->setSpatialRestriction(DistrictGeometry,within);

TimeFrame = Querier->getTimeFrame(‘2003’);Querier->loadInstances(TimeFrame);while (Querier->fetchInstance(sti)) {

...}

Page 24: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

How many eggs were counted in each trap in each month?

TrapLayer = database->getLayer (“Traps”);

Page 25: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

How many eggs were counted in each trap in each month?

TrapLayer = database->getLayer (“Traps”);

GroupingAttributes->insert(“num_eggs”, SUM);Querier->setParams(loadGeometries, GroupingAttributes);Querier->setParams(TrapLayer, month, ChangedTimeFrames);

Page 26: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

How many eggs were counted in each trap in each month?

TrapLayer = database->getLayer (“Traps”);

GroupingAttributes->insert (“num_eggs”, SUM);Querier->setParams(loadGeometries, GroupingAttributes);Querier->setParams(TrapLayer, month, ChangedTimeFrames);

numTimeFrames = Querier->getNumTimeFrames();for (frame=0 to numTimeFrames)

Querier->loadInstances(frame);while (Querier->fetchInstance(sti))

...

Page 27: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Which changes occurred in the land parcels in each month?

ParcelLayer = database->getLayer (“Parcels”);

Page 28: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Which changes occurred in the land parcels in each month?

ParcelLayer = database->getLayer (“Parcels”);

Querier->setParams(loadGeometries, loadAllAttributes);Querier->setParams(ParcelLayer, month,ChangedTimeFrames,

Starts | Ends);

Page 29: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Querier Examples

Which changes occurred in the land parcels in each month?

ParcelLayer = database->getLayer (“Parcels”);

Querier->setParams(loadGeometries, loadAllAttributes);Querier->setParams( ParcelLayer, month,ChangedTimeFrames,

Starts | Ends);

numTimeFrames = Querier->getNumTimeFrames();for (frame=0 to numTimeFrames)

Querier->loadInstances(frame);while (Querier->fetchInstance(sti)) ...

Page 30: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

The Database Change Observer

The Querier mechanism is being implemented in the TerraLib environment TerraLib spatial and temporal structures TerraLib Generic Database Application Interface

Support to: MySQL, Oracle Spatial, PostGIS, PostgreSQL…

www.terralib.org

The application shows the status of a spatio-temporal database

Page 31: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

ST Database Observer

Page 32: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the crime events

Page 33: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the crime events

Page 34: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the egg traps

Page 35: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the egg traps

Page 36: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the egg traps

Page 37: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the egg traps

Page 38: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the land parcels

Page 39: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the land parcels

Page 40: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the land parcels

Page 41: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the land parcels

Page 42: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Observing the land parcels

Page 43: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Final Remarks

The proposed architecture of a geographical database fulfills the demands of our spatio-temporal applications The spatio-temporal database model is simple and can be

implemented in different DBMS

A Querier Mechanism based on the combination of spatial and temporal parameters is a flexible alternative to deal with the different applications

Page 44: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

Future Improvements

The Querier mechanism has to deal with two layers: Ex: fire spots and deforestation: two different data set that is

highly related in space and in time

Build a catalog of some well-known operations such as “trajectory” using the Querier mechanism

Study the possibility of using the Querier mechanism as a processor for a ST-Language

Page 45: The Architecture of a Flexible Querier for Spatio- Temporal Databases Karine Reis Ferreira Lúbia Vinhas Gilberto Ribeiro de Queiroz Ricardo Cartaxo Modesto.

The Architecture of a Flexible Querier for Spatio-Temporal Databases

{karine, lubia, gribeiro, cartaxo, gilberto}@dpi.inpe.br

www.dpi.inpe.br

GeoInformation GroupImage Processing Division