mapping the intesagis model to the euroroads model alberto belussi università di verona giuseppe...

Post on 20-Jan-2016

212 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Mapping the IntesaGIS model to the EuroRoads model

Alberto BelussiUniversità di VeronaGiuseppe Pelagatti, Mauro NegriPolitecnico di Milano

ESDI Workshop on Conceptual Schema Languages and Tools ISPRA 13-14 Octobre 2005

Translation exercise and discussion points about CSL

2

Outline of the presentation The role of GeoUML in Italy Translation between the IntesaGIS

model and the EuroRoadS model CSL and Interoperability Conclusion

3

What is GeoUML?GeoUML is a conceptual schema language based on UML and the ISO standards (19109 “Rules for application schema” and 19107 “Spatial schema”) which was defined in the context of the Italian IntesaGIS project.It was used for the content specification of the core national spatial database of the Italian SDI.Interoperability was not the main target of the IntesaGIS project.

4

What is GeoUML?

The main contribution of GeoUML is:the introduction of

graphic constructs to represent a reference set of spatial integrity

constrains (topological and structural constrains) in an application

schema.

5

GeoUML and Interoperability

There are currently some pilot projects in regional agencies

(Lombardy and others) that aim to apply the IntesaGIS specification, focusing in particular on

interoperability.

6

Translation exercise: models manipulationIn the next pilot projects, we plan to develop some prototype tools for supporting the design of application schema in GeoUML and interoperability.We need specific tools since we want to represent graphically spatial integrity constrains.These tools are based on a repository for GeoUML application schemas (models).

GeoUML repository

GeoUML models

Different representation

s

Tools in JAVA

7

Translation exercise: translating models to XMIOn of the Java tools will produce the XMI representation of a GeoUML model.In the XMI representation integrity constraints become OCL expressions, thus allowing the maximal compatibility with XMI tools without loosing information.

GeoUML repository

GeoUML models

with spatial integrity

constrains

GeoUML models in XMI

with OCL constraints

XMI generation

8

Translation exercise: data translation approachIn order to map one model M1 onto another model M2, provided that they share a common meta-model, it is necessary:

to define a semantic mapping between the concepts of M1 and the concepts of M2

and a syntactic mapping between the data structures of M1 and the data structures of M2

Defining the GML representation of a model is very useful for both model and data translation, since tools based on XSL can be used to define a syntactic mapping, so that a XSLT parser can be used for data translation.

9

Problems of the proposed data translation approach

Model M1 in GeoUML

Data structures

Integrity constraints

Common Model in UMLData

structures

xsd files based on GML

M1axsd

M1bxsd

M1xxsd…

M1axml

M1bxml

M1xxml…

…xml file containing data

XSLT transf.

XMI M1

XMI CM

Semantic mapping

XSL mapping

Syntactic mappingCMaxsd

CMbxsd

CMxxsd…

CMaxml

CMbxml

CMxxml…

10

Translation exercise:Common model

ER_IdentifiableObject

id : ER_ObjectId

(from euroRoads)

ER_RoadFeature(from euroRoads)

ER_ObjectId

permanentId : CharacterStringversionId : CharacterStringalternateId : CharacterString

(from euroRoads)

<<DataType>>

ER_FerryLink

level : ER_FerryLinkLevelformOfFerry : ER_FormOfFerry

(from euroRoads)

ER_RoadLink

level : ER_RoadLinkLevelformOfWay : ER_FormOfWaynationalRoadClass : ER_NationaRoadClass

(from euroRoads)

ER_ComplexRoadnetElement

formOfComplexElement : ER_FormOfComplexElement

(from euroRoads)

ER_FerryLinkAttribute(from euroRoads)

ER_RoadNodeAttribute(from euroRoads)

ER_RoadLinkAttribute(from euroRoads)

ER_RoadnetElementAttribute(from euroRoads)

ER_ComplexRoadnetElementAttribute(from euroRoads)

ER_LinkAttribute(from euroRoads)

ER_FormOfComplexElement

ER_Interchange : CharacterStringER_Roundabout : CharacterStringER_AggregatedWay : CharacterString

(from euroRoads)

<<CodeList>>

ER_FormOfFerry

ER_ShipOrHovercraft : CharacterStringER_Train : CharacterString

(from euroRoads)

<<CodeList>>

ER_FormOfWay

ER_Motorway : CharacterStringER_MultiCarriageway : CharacterStringER_SingleCarriageway : CharacterStringER_RoundaboutCircle : CharacterStringER_TrafficSquare : CharacterStringER_EnclosedTrafficArea : CharacterStringER_SlipRoad : CharacterStringER_ServiceRoad : CharacterStringER_EntranceOrExitCarPark : CharacterStringER_EntranceOrExitService : CharacterStringER_UndefinedFormOfWay : CharacterString

(from euroRoads)

<<CodeList>>

ER_NationaRoadClass

MainRoadS : CharacterStringFirstClass : CharacterStringSecondClass : CharacterStringThirdClass : CharacterStringFourthClass : CharacterStringSixthClass : CharacterStringSeventhClass : CharacterStringEighthClass : CharacterStringNinthClass : CharacterStringUndefinedNationalRoadClass : CharacterString

(from euroRoads)

<<Enumeration>>

ER_FormOfNode

ER_Roundabout : CharacterStringER_EnclosedTrafficArea : CharacterStringER_PseudoNode : CharacterStringER_GradeSeparatedCrossing : CharacterString

(from euroRoads)

<<CodeList>>

ER_RoadLinkLevel

ER_RoadElement : CharacterStringER_Road : CharacterString

(from euroRoads)

<<CodeList>>

ER_RoadNodeLevel

ER_Junction : CharacterStringER_Intersection : CharacterString

(from euroRoads)

<<CodeList>>ER_FerryLinkLevel

ER_FerryConnection : CharacterStringER_Ferry : CharacterString

(from euroRoads)

<<CodeList>>

ER_SpeedLimit

speedLimit : Integer

(from euroRoads)

ER_RoadAttribute

val idityFrom : Dateval idityTo : Date

(from euroRoads)ER_RoadnetElement

(from euroRoads)0..n 0..1

+attributes

0..n

+roadnetElement

0..1

ER_RoadnetLink

val idityFrom : Dateval idityTo : Date

(from euroRoads)GM_Curve

(from euroRoads)

1 0..11

+curve

0..1GM_Point

(from euroRoads)

ER_RoadNode

level : ER_RoadNodeLevelformOfNode : ER_FormOfNodelocation : GM_Point

(from euroRoads)0..1 1

+point

0..1 1

StringAttribute

value : CharacterString

(from euroRoads)

EuroRoads

11

Translation exercise: IntesaGIS model

Vincolo_35

tipo = Per Ogni

<<DJ>>

RETE STRADALE LIV.1 (RT_ST 1)

tracciato : GU_CNCurve3D

tracciatotracciato

tracciatotracciato

Vincolo_8<<Partizionato>>

tracciatotracciato

Vincolo_12<<CompostoDa>>

Vincolo_9<<dj-Appartiene>>

tracciatotracciato

ELEMENTO ST RADALE (EL_STR)

tracciato : GU_CPCurve3Dtipo : TY_EL_ST R a Tratti su tracciatofondo : TY_FONDO a Trat ti su tracciatoclasse_di_larghezza : CL_LARGH a Tratt i su tracciatosede : SEDE_VEI a Tratti su t racciatolivello : TY_LIVELLO a Tratti su tracciatoclassifica funzionale : CL_FUNZIONstato : TY_STAT O

tracciato.bndtracciato.bndtracciatotracciato

GIUNZIONE STRADALE (GZ_STR)

posizione : GU_Point3Dtipo[1..*] : TY_GZ_STR

posizioneposizioneposizioneposizione

INT ERSEZIONE ST RADALE (IZ_STR)

posizione : GU_Point2Dtipo[1..*] : TY_IZ_STR

...

...

IzdiEl

...

EldiIz

...

......

IzdiGz

...

GzdiIz

...

TRATTO STRADALE (T R_STR)

tracciato : GU_CPCurve2Dtipo : TY_TR_STRclasse_larghezza : CL_LARGH a Trat ti su tracciatosede : SEDE_VEI a Tratti su t racciatolivello : TY_LIVELLO a Tratti su tracciatoclassifica funzionale : CL_FUNZIONstato : TY_STAT O

......

TrdiEl

...

EldiTr

...

...

...

TrdiGz

...

GzdiTr...

Vincolo_11<<dj-Appartiene>>

posizioneposizione

Vincolo_10<<q-Partizionato>>

tracciatotracciato

Vincolo_36

tipo = Per Ogni

<<DJ>>

RETE STRADALE LIV.2 (RT_ST 2)

tracciato : GU_CNCurve3D

tracciatotracciato

tracciatotracciato

tracciatotracciato

tracciatotracciato

12

Generation of xsd file GML-based from the IntesaGIS model

We developed a prototype of a tool for generating the XML schema (GML based) given a GeoUML model stored in the repository (OGC 02-023r4, ISO 19136)

GeoUML repository

GeoUML models

file xsd XMLschema GML-based

Tool in Java

13

Generation of xsd file GML-based from the IntesaGIS model<!-- Elemento contenitore -->

<element name="IntesaGIS_Road" type="guml:IntesaGIS_RoadType" substitutionGroup="gml:_FeatureCollection"/><!-- Elemento per la classe "Elemento stradale" --><element name="Elemento_stradale" type="guml:Elemento_stradaleType" substitutionGroup="gml:_Feature"/><!-- Elemento per la classe "Giunzione stradale" --><element name="Giunzione_stradale" type="guml:Giunzione_stradaleType" substitutionGroup="gml:_Feature"/><!-- Elemento per la classe "Intersezione stradale" --><element name="Intersezione_stradale" type="guml:Intersezione_stradaleType" substitutionGroup="gml:_Feature"/><!-- Elemento per la classe "Rete stradale" --><element name="Rete_stradale" type="guml:Rete_stradaleType" substitutionGroup="gml:_Feature"/>

14

Generation of xsd file GML-based from the IntesaGIS model

15

Syntactic mapping using XSLT<xsl:template match="/Elemento_stradale"><gml:featureMember>

<b:ER_RoadLink>...<xsl:choose><xsl:when test="classifica_funzionale = 'autostrada'">

<b:nationalRoadClass>MainRoad</b:nationalRoadClass></xsl:when><xsl:when test="classifica_funzionale = 'extraurbana_principale'">

<b:nationalRoadClass>FirstClass</b:nationalRoadClass></xsl:when><xsl:when test="classifica_funzionale = 'extraurbana_secondaria'">

<b:nationalRoadClass>SecondClass</b:nationalRoadClass></xsl:when><xsl:when test="classifica_funzionale = 'urbana_di_scorrimento'">

<b:nationalRoadClass>ThirdClass</b:nationalRoadClass></xsl:when><xsl:otherwise>

<b:nationalRoadClass>FourthClass</b:nationalRoadClass></xsl:otherwise></xsl:choose>...<b:ER_RoadLink>

</xsl:template>

16

Data translation from IntesaGIS to EuroRoad

We could not perform data translation on real data since at the moment we have no available data conforming the IntesaGIS model.

17

Problems arised during translation exercise XMI representation of the EuroRoad

model is focused on data structures, semantics specification is avalable only in additional documents no integreted support for semantic mapping (what is a main road?)

traslation of geometry from one type of GML to another one (for example, translation from Compositecurve to Curve) might require computational geometry algorithms. This is not directly supported by XSLT.

18

Conceptual Schema Language issuesIn our opinion, a CSL should:1. be UML-based and include a set of standard

geometric types2. support specification of spatial data properties

(integrity constraints) and not only data structures.

3. guide the generation of GML schema for the representation of data in XML in order to facilitate XSL trasformations.

4. support different levels of interoperability

19

CSL: support integrity constraints specification

CSL Geometric type

Spatial integrity constraints

UML specific types

specific OCL expressions

UML+ Simple Feature

Access

common types

specific OCL expressions on common types

UML+ Spatial Schema

common types +

complexes

specific OCL expressions on common types + structural constraints

UML + Spatial Schema + OCL

templates

common types +

complexes

common OCL templates (topological and

structural constraints)

20

CSL: guiding the generation of GML schema

CSL XML schema GML-based derivation

UML specific encoding rules

UML + encoding rules for Simple Feature Access

common elements for geometric types (only primitives in XML files)

UML+ encoding rules for Spatial Schema

common elements for geometric types (also

complexes in XML files)

UML + encoding rules for a profile of the Spatial Schema (with or without

complexes, with or without 3D)

common elements for geometric types and less

options in geometric elements

UML + a profile of the Spatial Schema and complete encoding

rules (ISO 19136)

common encoding rules

21

CSL: support different levels of interoperability Pure data exchange (lower

interoperability level) Distributed data access Distributed data update (higher

interoperability level)

A CSL should be able to specify common application schemas for all interoperability levels.

22

Conclusion

A Conceptual Schema Language for supporting interoperability has to contain:

A set of standard geometric types: a profile of the Spatial Schema (a core Spatial Schema).

A set of encoding rules for model translation in GML.

A Conceptual Schema Language should also support the specification of data propeties (e.g. spatial integrity constrains).

top related