+ All Categories
Home > Documents > Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe...

Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe...

Date post: 20-Jan-2016
Category:
Upload: stephen-noah-neal
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
22
Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop on Conceptual Schema Languages and Tools ISPRA 13-14 Octobre 2005 Translation exercise and discussion points about C
Transcript
Page 1: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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

Page 2: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

2

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

model and the EuroRoadS model CSL and Interoperability Conclusion

Page 3: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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.

Page 4: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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.

Page 5: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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.

Page 6: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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

Page 7: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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

Page 8: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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.

Page 9: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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…

Page 10: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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

Page 11: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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

Page 12: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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

Page 13: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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"/>

Page 14: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

14

Generation of xsd file GML-based from the IntesaGIS model

Page 15: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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>

Page 16: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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.

Page 17: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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.

Page 18: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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

Page 19: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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)

Page 20: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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

Page 21: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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.

Page 22: Mapping the IntesaGIS model to the EuroRoads model Alberto Belussi Università di Verona Giuseppe Pelagatti, Mauro Negri Politecnico di Milano ESDI Workshop.

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).


Recommended