university of l’aquila, department of electrical and information engineering...

33
versity of L’Aquila, Department of Electrical and Information Engin {tarquini,eliseo}@ing.univaq.it

Upload: benedict-cross

Post on 02-Jan-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

University of L’Aquila, Department of Electrical and Information Engineering{tarquini,eliseo}@ing.univaq.it

Presentation summaryPresentation summary

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

Interoperability & Integrity

Interoperability & Integrity

Interoperability in the world of geographical data and applications is a huge problem

The quality and integrity of spatial data is very important to support interoperability

A possible way to approach the problem is the introduction of a semantic level: The user level

Interoperability in the world of geographical data and applications is a huge problem

The quality and integrity of spatial data is very important to support interoperability

A possible way to approach the problem is the introduction of a semantic level: The user level

The User LevelThe User Level

Is a semantic layer that is able to describe all typical application and user concepts

We also provide:translation criteria towards the background system layer: the geometric one

Is a semantic layer that is able to describe all typical application and user concepts

We also provide:translation criteria towards the background system layer: the geometric one

Why a user Level?Why a user Level?

• At the user level, it is possible to express queries or deploy services in a more abstract way, using typical concepts of application and user domain.

• User level relations (e.g. The river flows into the sea)

• At the user level, it is possible to express queries or deploy services in a more abstract way, using typical concepts of application and user domain.

• User level relations (e.g. The river flows into the sea)

Originality Originality

• Definition at the user level of integrity constraints for spatial objects

• Introduction of class relations• Mapping rules that allow the

translation of user relations into topological relations.

• Definition at the user level of integrity constraints for spatial objects

• Introduction of class relations• Mapping rules that allow the

translation of user relations into topological relations.

Presentation summaryPresentation summary

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

Class relations Class relations

• “tributary rivers flow into other rivers” – every tributary river flows in a bigger river,

but not that every river has a tributary river

• “the source is a part of a river”. – every source is a part of a river and every

river has a source

• “tributary rivers flow into other rivers” – every tributary river flows in a bigger river,

but not that every river has a tributary river

• “the source is a part of a river”. – every source is a part of a river and every

river has a source

Type of constraints Type of constraints

• Among instances of the same class and among instances and their parts;

• Among instances of similar classes (part/whole relations included);

• Among instances of different classes.

• Among instances of the same class and among instances and their parts;

• Among instances of similar classes (part/whole relations included);

• Among instances of different classes.

Class relation ModelClass relation Model

Rsome (A,B) ≡ ∃a∈A∃b∈B,a ≠ b |Rab

Rall−1(A,B) ≡ ∀a∈A∃b∈B,a ≠ b |Rab

Rall−2(A,B) ≡ ∀b∈B∃a∈A,a ≠ b |Rab

Rall−12(A,B) ≡ Rall−1∧Rall−2Rall−all (A,B) ≡ ∀a∈A∧∀b∈B,a ≠ b |Rab

Class relation model (2)Class relation model (2)

Rsome (ϕ (A),ψ (B)) ≡ ∃a∈A∃b∈B,a ≠ b |Rϕ (a)ψ (b)

Rall−1(ϕ (A),ψ (B)) ≡ ∀a∈A∃b∈B,a ≠ b |Rϕ (a)ψ (b)

Rall−2(ϕ (A),ψ (B)) ≡ ∀b∈B∃a∈A,a ≠ b |Rϕ (a)ψ (b)

Rall−12(ϕ (A),ψ (B)) ≡ Rall−1∧Rall−2Rall−all (ϕ (A),ψ (B)) ≡ ∀a∈A∧∀b∈B,a ≠ b |Rϕ (a)ψ (b)

Considering φ() and ψ() two function or two Considering φ() and ψ() two function or two more general transformationsmore general transformations

Considering φ() and ψ() two function or two Considering φ() and ψ() two function or two more general transformationsmore general transformations

Presentation summaryPresentation summary

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

Case StudyCase Study

• class River• some of its subclasses • multi-representation scenario

• class River• some of its subclasses • multi-representation scenario

Similar classes and MethodsSimilar classes and Methods

• Water_Field that will be the superclass of – Lake– Sea– River

• get_geometry(detail_level): River -> Geometry

• source ():River ->River_source• mouth ():River ->River_ mouth

• Water_Field that will be the superclass of – Lake– Sea– River

• get_geometry(detail_level): River -> Geometry

• source ():River ->River_source• mouth ():River ->River_ mouth

Sets of user level relations & Properties

Sets of user level relations & Properties

• U= {disjoint, confluence, split}.

• S= {disjoint, originate, flow}

• Properties– P = {evaporation, infiltration,

karstification},

• U= {disjoint, confluence, split}.

• S= {disjoint, originate, flow}

• Properties– P = {evaporation, infiltration,

karstification},

Sets of geometric topological relations

Sets of geometric topological relations

• T = {disjoint, touch, cross, in, overlap} • T = {disjoint, touch, cross, in, overlap}

Presentation summaryPresentation summary

• Introduction• Class Relations• Case study• Constraint for the river

class and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

• Introduction• Class Relations• Case study• Constraint for the river

class and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

Constraint of the river classConstraint of the river class• User level River_Constraint =

Constraint 1 (disjoint ∨ confluence) all-all(River,River)Constraint 2 (disjoint ∨ split ) all-all(River_source,River)Constraint 3 (disjoint ∨ confluence) all-all(River_mouth,River)

• Geometric level River_Constraint =Constraint 1g (disjoint∨touch)all-all(River.get_geometry(),River.get_geometry())

Constraint 2g (disjoin ∨touch∨in)all-all(River_source.get_geometry(),River.get_geometry())

Constraint 3g (disjoint∨touch∨in)al-all (River_mouth.get_geometry(),River.get_geometry())

• User level River_Constraint =Constraint 1 (disjoint ∨ confluence) all-all(River,River)Constraint 2 (disjoint ∨ split ) all-all(River_source,River)Constraint 3 (disjoint ∨ confluence) all-all(River_mouth,River)

• Geometric level River_Constraint =Constraint 1g (disjoint∨touch)all-all(River.get_geometry(),River.get_geometry())

Constraint 2g (disjoin ∨touch∨in)all-all(River_source.get_geometry(),River.get_geometry())

Constraint 3g (disjoint∨touch∨in)al-all (River_mouth.get_geometry(),River.get_geometry())

Constraints of river subclassesConstraints of river subclasses

Main RiversMain Rivers

• flow directly into the sea. They can possibly have tributary rivers that join the main river

• flow directly into the sea. They can possibly have tributary rivers that join the main river

• Constraint in addition to the river constraint:• User level

• Disjoint all-all (River_Mouth,River)∧Flow all-1(River,Sea)

• Geometric level• Disjoint all-all (River_mouth.get_geometry(),

River.get_geometry())∧ touch all-1 (River_mouth.get_geometry(), Sea.get_geometry())

• Constraint in addition to the river constraint:• User level

• Disjoint all-all (River_Mouth,River)∧Flow all-1(River,Sea)

• Geometric level• Disjoint all-all (River_mouth.get_geometry(),

River.get_geometry())∧ touch all-1 (River_mouth.get_geometry(), Sea.get_geometry())

Single RiversSingle Rivers

• flow directly into the sea like main rivers but they do not have any tributary river

• flow directly into the sea like main rivers but they do not have any tributary river

• Constraint in addition to the Main river constraint:• User level

• disjoint all-all (River,River)

Geometric level• Disjoint all-all (River.get_geometry(), River.get_geometry(L1))

• Constraint in addition to the Main river constraint:• User level

• disjoint all-all (River,River)

Geometric level• Disjoint all-all (River.get_geometry(), River.get_geometry(L1))

Tributary rivers Tributary rivers • end their course into a bigger river through a

confluence relation, and they are disjoint from the sea

• end their course into a bigger river through a confluence relation, and they are disjoint from the sea

• Constraint in addition to the river constraint:• User level

• Confluence all-1 (River,River) ∧disjoint (River,Sea)

Geometric level• touch all-1 (River.get_geometry(L1),River.get_geometry(L1))

∧in all-1 (River_mouth.get_geometry(L1),River.get_geometry(L1))∧disjoint all-all (River_mouth.get_geometry(L1), Sea.get_geometry())

• Constraint in addition to the river constraint:• User level

• Confluence all-1 (River,River) ∧disjoint (River,Sea)

Geometric level• touch all-1 (River.get_geometry(L1),River.get_geometry(L1))

∧in all-1 (River_mouth.get_geometry(L1),River.get_geometry(L1))∧disjoint all-all (River_mouth.get_geometry(L1), Sea.get_geometry())

Influent rivers Influent rivers • flow into lakes; hence they are disjoint from

the sea • flow into lakes; hence they are disjoint from

the sea

• Constraint in addition to the river constraint:• User level

• Flow all-1 (Rive,Lake) ∧ disjoint all-all (River,Sea)

Geometric level• touch all-1 (River.get_geometry(),Lake.get_geometry())∧touch

all- 1 (River_mouth.get_geometry(),Lake.get_geometry())∧ disjoint all-all (River.get_geometry(), Sea.get_geometry())∧ disjoint all-all (River_mouth.get_geometry(), Sea.get_geometry())

• Constraint in addition to the river constraint:• User level

• Flow all-1 (Rive,Lake) ∧ disjoint all-all (River,Sea)

Geometric level• touch all-1 (River.get_geometry(),Lake.get_geometry())∧touch

all- 1 (River_mouth.get_geometry(),Lake.get_geometry())∧ disjoint all-all (River.get_geometry(), Sea.get_geometry())∧ disjoint all-all (River_mouth.get_geometry(), Sea.get_geometry())

Emissary rivers Emissary rivers • originate from a lake; they possibly can flow

into the sea or join another river • originate from a lake; they possibly can flow

into the sea or join another river

• Constraint in addition to the river constraint:• User level

• originate all-1 (River,Lake)

Geometric level• touch all-1 (River.get_geometry(),Lake.get_geometry())∧touch

all-1 (River_source.get_geometry(),Lake.get_geometry())∧touch all-1 (Source_point, Polygon)

• Constraint in addition to the river constraint:• User level

• originate all-1 (River,Lake)

Geometric level• touch all-1 (River.get_geometry(),Lake.get_geometry())∧touch

all-1 (River_source.get_geometry(),Lake.get_geometry())∧touch all-1 (Source_point, Polygon)

Presentation summaryPresentation summary

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

Evaporation rivers Evaporation rivers • do not flow into sea or in a lake but

evaporate into the air• do not flow into sea or in a lake but

evaporate into the air

• Constraint in addition to the river constraint:• User level

• disjoint all-all (River,Water_field)

Geometric level• disjoint all-all (River.get_geometry(),

Water_field.get_geometry())∧disjoint all-all (River_mouth.get_geometry(),Water_field.get_geometry())

• Constraint in addition to the river constraint:• User level

• disjoint all-all (River,Water_field)

Geometric level• disjoint all-all (River.get_geometry(),

Water_field.get_geometry())∧disjoint all-all (River_mouth.get_geometry(),Water_field.get_geometry())

Infiltration rivers Infiltration rivers • do not flow into sea or in a lake but at some

point of their course, infiltrate into the ground

• do not flow into sea or in a lake but at some point of their course, infiltrate into the ground

• Constraint in addition to the river constraint:• User level

• disjoint all-all (River,Water_field)

Geometric level• disjoint all-all (River.get_geometry(),

Water_field.get_geometry())∧disjoint all-all (River_mouth.get_geometry(),Water_field.get_geometry())

• Constraint in addition to the river constraint:• User level

• disjoint all-all (River,Water_field)

Geometric level• disjoint all-all (River.get_geometry(),

Water_field.get_geometry())∧disjoint all-all (River_mouth.get_geometry(),Water_field.get_geometry())

Karstic rivers Karstic rivers • infiltrate into the ground to emerge again

somewhere else and end their course towards the sea

• infiltrate into the ground to emerge again somewhere else and end their course towards the sea

• Constraint in addition to the river constraint:• User level

• disjoint all-2 (River.comp(i),Sea)∧(Flow all-1(River.Comp(n),Water_Field)∨Confluence all-1(River.Comp(n),River))

Geometric level• disjoint all- 2 (River.Comp(1).get_geometry(),

Water_field.get_geometry())∧(touch all-1 (River_mouth.Comp(n).get_geometry(), Sea.get_geometry())∨touch all- 1 (River_mouth.Comp(n).get_geometry(), Sea.get_geometry())

• Constraint in addition to the river constraint:• User level

• disjoint all-2 (River.comp(i),Sea)∧(Flow all-1(River.Comp(n),Water_Field)∨Confluence all-1(River.Comp(n),River))

Geometric level• disjoint all- 2 (River.Comp(1).get_geometry(),

Water_field.get_geometry())∧(touch all-1 (River_mouth.Comp(n).get_geometry(), Sea.get_geometry())∨touch all- 1 (River_mouth.Comp(n).get_geometry(), Sea.get_geometry())

Presentation summaryPresentation summary

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

• Introduction• Class Relations• Case study• Constraint for the river class

and its subclasses• River properties expressed

using constraints • Conclusions & Future Work

The river graph The river graph

ConclusionsConclusions

We showed how class relations can be used to define integrity constraints.

As a case study, we chose the class river and a set of different types of rivers.

For each subset of river class we have defined a set of integrity constraints

Finally, we produced an oriented graph that allows combining the previously defined constraints to characterize river subclasses and their intersections.

We showed how class relations can be used to define integrity constraints.

As a case study, we chose the class river and a set of different types of rivers.

For each subset of river class we have defined a set of integrity constraints

Finally, we produced an oriented graph that allows combining the previously defined constraints to characterize river subclasses and their intersections.

Future WorkFuture Work• New user level spatial relations that will

involve other kinds of spatial operators such as projective and metric operators

• Express constraints for a larger set of features, and capture additional kinds of spatially-related constraints, e.g., direction of flow.

• definition of an application-dependent visual language that could be used to express queries in a user-friendly interface

• New user level spatial relations that will involve other kinds of spatial operators such as projective and metric operators

• Express constraints for a larger set of features, and capture additional kinds of spatially-related constraints, e.g., direction of flow.

• definition of an application-dependent visual language that could be used to express queries in a user-friendly interface

Thank YouThank You

Any Questions?Thanks for your

Attention!!!Francesco Tarquini

[email protected]

Any Questions?Thanks for your

Attention!!!Francesco Tarquini

[email protected]