40
GeoUML a conceptual data model for geographical data conformant to ISO TC 211 Main GeoUML constructs Alberto Belussi Novembre 2004

GeoUML a conceptual data model for geographical data conformant to ISO TC 211

  • Upload
    saskia

  • View
    32

  • Download
    0

Embed Size (px)

DESCRIPTION

GeoUML a conceptual data model for geographical data conformant to ISO TC 211. Main GeoUML constructs. Novembre 2004. Alberto Belussi. Profiling. Specializing. How does GeoUML conform to ISO standards TC 211?. - PowerPoint PPT Presentation

Citation preview

Page 1: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GeoUML a conceptual data model for geographical data

conformant to ISO TC 211

Main GeoUML constructs

Alberto BelussiNovembre 2004

Page 2: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

How does GeoUML conform to ISO standards TC 211?

GeoUML is defined starting from ISO General Feature Model (19109) and from ISO Spatial Schema

(19107) by applying the following approach:

General Feature Model (GFM) in UML

Spatial Schema in UML

Subset of the ISO constructs (UML classes)

Specialization of ISO constructs

(UML classes + OCL)

Constraints templates and schema templates

(UML classes + OCL)

Profiling

Specializing

GeoUML

Page 3: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Topological Constraints

Overview of GeoUML Data Model

GeoUML

General Feature Model (GFM) in UML

ISO TC 211

General Feature Model (GFM) in UML

Geometric Classes in

UML (GU_*)

UML Classes (GM_*)

Spatial Schema

Relate Operators

Reference Set of Topological

Relations

Structural Constraints

“Segmented” Attribute

Specialized constructs

Layer

Page 4: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

The General Feature Model (GFM)GFM contains the following constructs:

• Feature Type: “a feature type is an abstraction of real world phenomena”

• Attribute: thematic and spatial attributes

• Association between feature types

• Generalization and specialization of feature types

• Constraint

Reality: phenomena

Feature types and their properties + constraints

DB Schema DB Content

Feature instances

Page 5: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

The General Feature Model (GFM)Basic Rules for representing GFM in UML

• Feature Type: it becomes a UML class

• Attribute:

• a thematic attribute becomes a UML attribute

• a spatial attribute becomes a UML attribute with a spatial type (or an association to a spatial type)

• Association between feature types: it becomes a UML association

• Generalization and specialization of feature types: it becomes a UML inheritance hierarchy

• Constraint: it becomes a OCL (Object Constraint Language) constraint

Page 6: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GeoUML Specialization approach

The formal definition of the GeoUML constructs follows a few general patterns:

– geometric types: specializations of ISO geometric types, adding OCL constraints that restrict the population (objects belonging to the type extension);

– structural constraints: logic formulas with parameters (constraint templates in OCL), that involve the Contains and the Complex association of GM_Complex;

– topological constraints: constraint templates, involving the Relate functions defined on the root class GM_Object of the ISO spatial types hierarchy.

Page 7: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Other constructs of GeoUML

Beyond geometric types, structural and topological constraints GeoUML contains the following additional constructs:

– Structural layers – Enumerative domains– Hierarchical enumerative domains– Primay key constraints– Segmented and subregion attributes

Moreover, a syntax for a textual representation of application schemas is provided.

Page 8: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GeoUML The choosen geometric types

Geometric types of the Spatial Schema (ISO TC 211)

GM_Object

GM_Primitive GM_Complex GM_Aggregate

GM_Point GM_Curve

GM_Surface

GM_Composite

GeoUML geo-types

TP_Complex

TP_Object

TP_Primitive

Page 9: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Specialization of geometric types in GeoUML

New types have been defined as specialization of the basic geometric types of the Spatial Schema (ISO 19107).

In particular, these new types aim to represent:

– homogeneous complexes: the new 2 types “ComplexCurve” and “ComplexSurface” are specializations of the ISO GM_Complex class;

– geometric objects embedded in 2D or 3D spaces: they are a specialization of geometric classes for dealing with the existence of 2D and 3D geometric objects.

Page 10: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Specialization of geometric types in GeoUML (Complexes)

Motivation of GM_Complex specialization:

• In the IntesaGIS project it was necessary to represent geometries having a shape of dimensionally homogeneous complexes.

• Homogeneous complexes are necessary to express topological relations on complexes, since they admit the definition of a general boundary function.

In GeoUML three classes have been defined as specialization of the GM_Complex class of the Spatial Schema.

GM_Complex GU_CXCurve3D

GU_CXCurve2D

GU_CXSurface2D

Page 11: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GeoUML classes Parent class of GeoUML Parent class of Spatial Schema

Specialization of GM_Point GU_Point2D GM_Point GU_Point3D GM_Point

Specialization of GM_Composite GU_CPCurve2D GM_CompositeCurve GU_CPCurve3D GM_CompositeCurve GU_CPRing2D GU_CPCurve2D GU_CPRing3D GU_CPCurve3D GU_CPSurface2D GM_CompositeSurface

Specialization of GM_Complex GU_Complex2D GM_Complex GU_Complex3D GM_Complex GU_CXPoint2D GU_Complex2D GU_CXPoint3D GU_Complex3D GU_CXCurve2D GU_Complex2D GU_CXCurve3D GU_Complex3D GU_CNCurve2D GU_CXCurve2D GU_CNCurve3D GU_CXCurve3D GU_CXRing2D GU_CXCurve2D GU_CXRing3D GU_CXCurve3D GU_CXSurface2D GU_Complex2D

Specialization of GM_Aggregate GU_Aggregate2D GM_Aggregate GU_Aggregate3D GM_Aggregate GU_MPoint2D GM_MultiPoint GU_MPoint3D GM_MultiPoint GU_MCurve2D GM_MultiCurve GU_MCurve3D GM_MultiCurve GU_MSurface2D GM_MultiSurface GU_MRing2D GU_MCurve2D GU_MRing3D GU_MCurve3D

Classes representing surfaces 2D with boundary in 3D GU_CPSurfaceB3D GU_CXSurfaceB3D

GeoUML Specialization of geometric types - summary

Page 12: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GeoUMLPredefined templates for integrity constraints

specification

GeoUML predefines two template for spatial integrity constraints:• Templates for Structural Constraints• Templates for Topological Constraints

Spatial Integrity Constraints have been added to the model because the plain definition of the types of the geometric attributes does not sufficiently specify the spatial properties of the database.

Page 13: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Structural constraints of GeoUML

Structural Constraints rely on the sharing of primitives among complexes (the sharing is based on the Contains association of the GM_Complex class having roles subComplex and superComplex, and on the Complex association).For example, the constraint

“for each COUNTY there must exist a REGION which contains it”

could be expressed as:“for each COUNTY C there must exist a REGION R

such that Supercomplex(C)=R”.

Page 14: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Structural constraints of GeoUML - example

APPLICATION REQUIREMENT

A road network management system must be designed in which several different networks are defined; the networks can share some roads and can be integrated with some connecting paths

which are not classified as roads.

The spatial representation of each network is a collection of curves usually connected in a graph. The roads are described in terms of

their centre lines which are all used in building the spatial representation of the related networks.

Page 15: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GM_ComplexRoadNetworkextension

GM_CompositeCurve

1..*

1..*

Contains

Road

1..*

1..*

1..*

1..*

RoadInNetwork

path1..*

1..*

Structural constraints

spatial relationship enforcing: each composite curve representing the geometry of a road belonging to a network in the RoadInNetwork

association must also be associated, through the Contains association, to the complex representing the geometry of its network

linear geometry restriction

the instances of the class GM_Complex must be restricted to contain only 1-dimensional geometric objects. and 0-dimensional objects for their boundary.

Pure ISO APPROACH

Page 16: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Structural constraintsPure ISO APPROACH + OCL formulas

RoadNetwork

Road

1..*

1..*

+net 1..*

+road1..*

RoadInNetwork

GM_CompositeCurve

GM_Complex

1..*

1..*

+superComplex

Contains

+subComplex

extension

path

1..*

1..*

Contex Roadinv: self.path.superComplex -> includes(self.net.extension)

{self.element -> forall(a: GM_Primitive | a.dimension <= 1) and self.element -> forall(a: GM_Primitive | a.dimension = 0 implies self.element -> exists(b: GM_Primitive | b.boundary() -> includes(a)))},{self.dimension() = 1}

Page 17: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

RoadNetwork

extension : GU_CXCurve

Road

path : GU_CPCurve

extension 1..*

path 1..*

1..*extension

1..*path

RoadInNetwork

<<BelongsTo>>

+net

+roads

Structural constraintsGeoUML APPROACH

GU_CXCurve

It is a specialization of the type GM_Complex that restricts the primitives to be only curves and points;

BelongsTo spatial association between a

contained class C1 and a

containing class C2,

it imposes to each road of the class Road related

to a network of the class RoadNetwork that the geometry of the road (path) is a subcomplex of

the geometry of the network (extension).

Page 18: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Structural constraints of GeoUML

Template of the BELONGS TO constraint

Contex Xinv: self.gX.superComplex -> includes(self.rY.gY)

X

Y

+rY

+rX

AGU_Complex

gX

gY

+subComplex

Contains

+superComplex

Page 19: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Structural constraints of GeoUML

Application of the BELONGS TO constraint Template

RoadNetwork

extension : GU_CXCurve

Road

path : GU_CPCurve

extension 1..*

path 1..*

1..*extension

1..*path

RoadInNetwork

<<BelongsTo>> Contex Xinv: self.gX.superComplex -> includes(self.rY.gY)

X

Y

+rY

+rX

A GU_Complex

gX

gY

+subComplex

Contains

+superComplex

RoadNetwork

Road

1..*

1..*

+net 1..*

+road1..*

RoadInNetwork

GM_CompositeCurve

GM_Complex

1..*

1..*

+superComplex

Contains

+subComplex

extension

path

1..*

1..*

Contex Roadinv: self.path.superComplex -> includes(self.net.extension)

Page 20: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Specialization of geometric types in GeoUML(2D – 3D embedding space)

GeoUML• each GeoUML schema contains the definition of at least 2 objects

of the class SC_CRS (Coordinate Reference System) of ISO 19111 “Spatial Referencing by coordinate”: one for 2D space (GU_CRS-2D) and one for 3D space (GU_CRS-3D).

• In GeoUML for each class imported from the Spatial Schema, two separate classes has been defined, one for each SC_CRS.

GM_ComplexGU_Complex3D

GU_Complex2D self.CRS = GU_CRS-2D

self.CRS = GU_CRS-3D

OCL formulas

Page 21: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Specialization of geometric types in GeoUML(2D – 3D embedding space)

GU_Object::planar( ): GU_Object

self.planar() = self.transform(GU_CRS-2D)

Since it is necessary to express relations between geometric objects embedded in 2D space and geometric objects embedded in 3D space, in each geometric type of GeoUML the method planar is defined. It produces the projection in 2D of the geometric object.

OCL formulas

Page 22: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Topological constraints of GeoUML

Why is it necessary to predefine a reference set of topological relations?

• very often spatial constraints in an application schema are based on topological relations

• ISO Spatial Schema proposes the “Relate” functions to define topological relations between geometric objects but they cannot be applied to generic complexes.

• OCL expressions using the “Relate” functions are complex and they may depend on the geometric classes of the objects participating to the constraint.

Page 23: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Topological relations of GeoUML

GeoUML contains the set of topological relations defined by Clementini et. al. since:

– this set contains a reduced number of relations,

– these relations are very clear for the end user, since they represent spatial properties that can be found in any natural language

– their definition does not depend on the geometric classes of the objects participating to the constraint.

RELtopo= { disjoint (DJ), touch (TC), in (IN), contains (CT),

equal (EQ), cross (CR), overlap (OV) }

Page 24: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Given two geometric values A and B, for which we can compute the interior (A° e B°), the following topological relations can be defined:

– (A Disjoint B) def (A B = )

– (A Touch B) def (A° B° = ) and (A B )

– (A In B) def (A B = A) and (A° B° ) and (A B B )

– (A Contains B) def (B In A)

– (A Equal B) def (A B = A) and (A B = B)

– (A Overlap B) def (A° B° ) and (A B A) and (A B B)

where indicates the set intersection between two point sets.Other relations:

(A Cross B) def (A Overlap B) and (dim(A)=1) and (dim(B)=1) and (dim(A° B°)= 0)

(A Intersects B) def (A B ) and not (A Equal B)

Topological relations of GeoUML

Page 25: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Topological relations of GeoUML

Definition of the set RELtopo using OCL + cRelate

().().()int.().().().

().()int.()int.()int.().()int.

()..()int.().().().

exteriorbexterioraeriorbexterioraboundarybexteriora

exteriorberioraeriorberioraboundaryberiora

exteriorbboundaryaeriorbboundaryaboundarybboundarya

cRelate (a, b, M(a,b)): boolean

M(a,b) =

Problems:– cRelate can be appled to primities, composites and to

homogeneous complexes, as stated explicitly in the standard documents,

– the function boundary for the GM_Complex has not been defined in details by the standards,

we introduced an explicit set of classes for representing homogeneous complexes and we gave the formal

definition of boundary for these classes.

Page 26: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Topological relations of GeoUML

DISJOINT TOUCH IN OVERLAP

DISJOINT TOUCH IN

OVERLAP

DISJOINT TOUCH IN CROSS

CROSS

Page 27: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Topological relations of GeoUML

DISJOINT TOUCH IN

DISJOINT TOUCH IN

DISJOINT EQUAL

Page 28: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Topological constraints of GeoUML

The basic idea of a topological constraint applied to a class C is to express the fact that:

for each object c, instance of class C,

there must exist an object d, instance of a class D, such that

the topological relation R(c,d) is true

for each object d, instance of a class D,

For example, the constraint

“for each PROVINCIA there must exist a REGIONE which contains it”

could be expressed as

“for each PROVINCIA P there must exist a REGIONE R such that CONTAINS(R,P)”

Page 29: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Topological constraints of GeoUML

The variety of constraints is determined by:

• the set of topological relations

• different possibilities of selecting the objects of C and the objects of D

• the possibility to refer to geometric functions, like boundary and planar, in the expression of the relation (e.g. dam.planar in lake.boundary)

• the possibility to couple a constraint with an association between the classes that participate to the constraint

• the possibility of computing the union of the geometric objects of D before testing the relation

• the possibility of substituting the existential quantifier with a universal quantifier

Page 30: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Overview of GeoUMLTopological Constraints - Example

Railway Station

Traffic Element

Traffic Area

Town

Page 31: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Town (TWN)

PK name[1..1] : String<<aGeo>> extension[1..1] : GU_CXSurface2D

Station_Town

geo sr = INtipo Vincolo = Esiste

<<Associazione Spaziale>>

extensionextension

Traffic Area (TR_AREA)

<<aGeo>> extension : GU_CXSurface2D

TC_Traffic_Element

geo sr = INtipo = Unione

<<Vincolo Topologico>>

extensionextension

Railway Station (RW_STA)

PK name[1..1] : String<<aGeo>> position[1..1] : GU_Point3D<<aGeo>> extension[1..1] : GU_CXSurface2Dtype[1..1] : String

extensionextension

TrafficElement (TR_ELE)

avg_width : Real<<aGeo>> route : GU_Curve

route.PLNroute.PLN

TC_Station

geo sr = TC|CRtipo = Esiste

<<Vincolo Topologico>>

extension(type = "main")

extension(type = "main")

route.PLNroute.PLN

Example

Overview of GeoUMLTopological Constraints

Page 32: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

• Specialization of the geometric types of the Spatial Schema

• Structural constraints

• Definition of topological relations also for complexes (dimensionally homogeneous complexes)

• Topological constraints

• “Segmented” attributes and “Subregion” attributes

• Layers

OVERVIEW OF GeoUML

Page 33: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Segmented Attributes

GeoUML contains two kinds of predefined schemas for representing “segmented” attributes:

• structural segmented attributes: in this case the geometry of each homogeneous segment is explicitly generated; homogeneous segments are segments with the same value with respect to the segmented attributes of the class that we choose to represent together;

• dinamic segmented attributes: in this case, in the class where the attribute is defined, a linear reference system is generated and the values of the segmented attributes can be defined on this linear reference system by means of linear or point events.

Page 34: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Segmented Attributes

Structural segmented attributes:

Short form Extended form

TrackOfRoad

trackType : TRACK_TYPE

<<Segment>>

Road

path : GU_CPCurve3D...

pathpath

TRACK_TYPE

....

<<Domain>>

<<segments>>

TRACK_TYPE

....

<<Domain>>

TrackOfRoad

trackType : TRACK_TYPEgeometry : GU_CXCurve3D

Road

path : GU_CPCurve3D...

Road_pathSegments_TrackOfRoad

constraint type = qdj-BelongsTo

<<Constraint on Association>>

geometry

0..*0..*

geometry

path

11

path

Page 35: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Segmented Attributes

Dinamic segmented attributes:

Short form

Extended form Road

path : GU_CPCurve3D...

TrackOfRoad

startMeasure : realendMeasure[0..1] : realmeasureUnit = metermethod = absoluteTrackType : TRACK_TYPE

<<Event>>

pathpath

<<events>>

TrackOfRoad

TrackType : TRACK_TYPEstartMeasure : realendMeasure [0..1] : real

ArcsOfRoad_path

geometry : GU_CPCurve3Dlength : realmeasureUnit = meter

Road

path : GU_CPCurve3D

1

0..*

1

0..*

Road_pathArcs

constraint type = qdj-BelongsTo

<<Constraint on Association>>

geometry

0..*0..*

{ordered}

path

1..*1..*

path

Road_pathEvent_TrackOfRoad

geometry

Page 36: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GM_Primitive

GM_CurveGM_Point GM_Surface

Primitives are geometric objects representing OPEN connected pointsets. GM_Primitive is the parent node of three

classes: GM_Point, GM_Curve and GM_Surface.

Page 37: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GM_Composite

GM_CompositeCurve GM_CompositeSurface

Composite objects are set of primitives representing a primitive decomposed in its components (structure).

They represent CLOSE connected pointsets. They are always dimensionally homogeneous.

Page 38: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GM_ComplexComplex objects are set of primitives satisfying the following spatial constraints:

a. the primitives belonging to a complex are disjoint

b. if a primitive belongs to the complex also its boundary belongs to the complex

They allow the sharing of geometry.

Page 39: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

GM_AggregateAggregate objects are sets of primitives with no constraints.

dimensionally homogeneous

non dimensionally homogeneous

Page 40: GeoUML a conceptual data model for geographical data  conformant to ISO TC 211

Homogeneous Complexes

GU_CXCurve2D

GU_CXSurface2D

GM_Complex

GM_CompositeCurve

GU_CXCurve2D