Title: From Model to Data Transformation One approach Mapping TeleAtlas Data to EuroRoadS
1From Model to Data Transformation One approach
Mapping TeleAtlas Data to EuroRoadS
- Anders Friis-Christensen, JRC
2From Model to Data Transformation
- Outline
- Model
- EuroRoadS subset
- XMI/GML
- Visio -gt XMI -gt Rational / EA -gt
- XMI -gt GML schema
- TeleAtlas Road data (shape) -gt GML (schema)
- Model transformation
- EuroRoads GML lt-gt TeleAtlas GML
- XSL
- Data Transformation
- XSLT
- Population of data
- Verification of data
3Creating EuroRoadS subset
- A subset of the network exchange model
- The network model is a common base for roads
- Including
- Attributes (modeled as abstract classes)
- Geometry (GML data types)
- No topology
- No routing info
4(No Transcript)
5(No Transcript)
6XMI Generation from Visio
Newline in empty tag ltFoundation.Core.Classifier.f
eaturegtlt/Foundation.Core.Classifier.featuregt not
allowed. Changed 198 places. Newline in empty
tag ltFoundation.Core.AssociationEnd.qualifiergtlt/Fo
undation.Core.AssociationEnd.qualifiergt not
allowed. Changed 192 places. Newline in empty
tag ltFoundation.Core.Namespace.ownedElementgtlt/Foun
dation.Core.Namespace.ownedElementgt not allowed.
Changed 4 places. Undefined references line
5901 ltFoundation.Core.Classifier.associationEndgt
ltFoundation.Core.AssociationEnd
xmi.idref"UID92E0A85B-FFCA-4D3E-AFA3-8A94E5121744
"/gt lt- ltFoundation.Core.AssociationEnd
xmi.idref"UIDFA3023F9-5631-4AF5-85C0-761190195B8C
"/gt lt- lt/Foundation.Core.Classifier.associationEnd
gt deleted line 6054 ltFoundation.Core.Classifier
.associationEndgt ltFoundation.Core.AssociationEnd
xmi.idref"UID958794C3-5D75-4A43-89E3-F0B6E1546E5B
"/gt ltFoundation.Core.AssociationEnd
xmi.idref"UID59BE8B25-EFB3-4BEF-8811-B438964F63A3
"/gt lt- ltFoundation.Core.AssociationEnd
xmi.idref"UID657C99EC-7244-47BD-B84B-BBEEF3A69330
"/gt lt- lt/Foundation.Core.Classifier.associationEnd
gt deleted line 12659 ltFoundation.Core.Generaliza
bleElement.specializationgt ltFoundation.Core.Genera
lization xmi.idref"UID496EBF06-CABE-46F1-87C0-F66
CDEAD17D8"/gt lt- ltFoundation.Core.Generalization
xmi.idref"UID7EA823B3-EB2F-4160-B6C8-F8518860E7F0
"/gt lt/Foundation.Core.GeneralizableElement.special
izationgt deleted
- Use of Microsoft XMIExport.dll
- Invoked by ESRI add-on or by Lars Vikstroms
application - Produces non-valid XMI supposedly based on UML
1.1 - Several errors
- Newline in empty tags, more than 400 errors (only
in XML spy 2004, error in parser) - Undefined references (associations ends and
generalization) - Must be an error in the model, old references not
deleted properly by Visio
7XMI Import (Based on Visio export)
- Rational Rose
- Does not read UML 1.1 XMI
- Possible workarounds??
- Enterprise Architect
- Based on OMG UML 1.1 XMI 1.0 dtd, success on
import - However, several errors. E.g.
- Generalizations not imported
- Enumerations not imported
- Association multiplicity not imported
8XMI Import (Based on Visio export)
- ArgoUML 0.18
- Possible to import XMI
- Errors
- Multiplicities not imported
- Export UML 1.3 XMI 1.0 (without multiplicities)
- Rational Rose
- Import new XMI possible
- No import of enumerations
- Enterprise Architect
- Same as RR
As a curiosity ArgoUML cannot read its own
import if it is saved as a project. The XMI
parsing fails.
9XMI Issues
- Conclusion
- Microsoft Visio is not interoperable (choose
another software for UML, if it is foreseen that
exchange of models is required) - Various vendors of XML editors/importers have
errors in their parsers which complicates the
process of validating XMI - Tools do not support same versions of XMI
- Tools interpret XMI in different ways
- It is very difficult to validate the content of
the XMI, i.e. if the model imported is correct
even though the XMI is validated. - Report John Herring (communicated by Morten)
- EA problem with RR XMI
- It does not import data types ltltDataTypegtgt (see
also the example EA diagram that was send to you - It does not see realization ("inheritance" from
interfaces and types) in the same way as Rose. It
transforms those into a type of dependency
10(No Transcript)
11Prepare Sub-set Model in RR to support GML
- Creation of GML schemas is done by ShapeChange
tool (Interactive Instruments) - Converts XMI 1.0 to GML 2.1.2 and 3.1 (3.1.1?)
- Other XMI than export from RR??
- Experiments from EA (Clemens)
- ShapeChange put different requirements on the UML
model (and hence the resulting XMI)
12Prepare Sub-set Model in RR to support GML
13Prepare Sub-set Model in RR to support GML
14Prepare Sub-set Model in RR to support GML
15Prepare Sub-set Model in RR to support GML
16Prepare Sub-set Model in RR to support GML
Added a validityFrom and validityTo Instead of
TM_Period in order of simplicity and to support
GML 2.1.2
17Other UGAS requirements
- Additionally following rules needed to be applied
the model - Model must be represented in a package
stereotyped with ltltApplication Schemagtgt - The XML namespace (a URI) and an abbreviation
must be present as tagged values
18Resulting GML
lt?xml version"1.0" encoding"UTF-8"?gt lt!--Output
of ShapeChange has been modified
JRC-AFC--gt ltschema xmlns"http//www.w3.org/2001/X
MLSchema" xmlnscslWorkshop"http//www.jrc.it/ins
pire/cslWorkshop" xmlnsgml"http//www.opengis.ne
t/gml" xmlnssc"http//www.interactive-instrument
s.de/ShapeChange" xmlnsscXML"http//www.isotc211
.org/scXML" xmlnssmXML"http//www.isotc211.org/s
mXML" xmlnsxlink"http//www.w3.org/1999/xlink"
targetNamespace"http//www.jrc.it/inspire/cslWork
shop" elementFormDefault"qualified"
version"0.1"gt ltimport namespace"http//www.op
engis.net/gml" schemaLocation"feature.xsd"/gt
lt!--Added FeatureCollection in order to validate
GML containing multiple feature members.
JRC-AFC--gt ltelement name"FeatureCollection"
type"cslWorkshopFeatureCollectionType"
substitutionGroup"gml_FeatureCollection"/gt
ltcomplexType name"FeatureCollectionType"gt
ltcomplexContentgt ltextension
base"gmlAbstractFeatureCollectionType"/gt
lt/complexContentgt lt/complexTypegt lt!--Type
and element definitions of this package--gt
ltcomplexType name"ER_RoadnetLinkType"
abstract"true"gt ltannotationgt
ltdocumentationgtNote The attribute TM_Period in
the original EuroRoadS model has been replaced by
validityFrom and validityTo for simplicity
reasonslt/documentationgt lt/annotationgt
ltcomplexContentgt ltextension
base"cslWorkshopER_RoadnetElementType"gt
ltsequencegt ltelement
name"validityFrom" type"date" minOccurs"0"/gt
ltelement name"validityTo"
type"date" minOccurs"0"/gt
ltelement name"curve" type"gmlLineStringProperty
Type" minOccurs"0"/gt lt/sequencegt
lt/extensiongt lt/complexContentgt
lt/complexTypegt ltcomplexType name"ER_RoadnetLin
kPropertyType"gt ltsequencegt
ltelement ref"cslWorkshopER_RoadnetLink"
minOccurs"0"/gt lt/sequencegt
ltattributeGroup ref"gmlAssociationAttributeGroup
"/gt lt/complexTypegt ltcomplexType
name"ER_RoadnetLinkPropertyByValueType"gt
ltsequencegt ltelement ref"cslWorkshopER_R
oadnetLink"/gt lt/sequencegt
lt/complexTypegt ltelement name"ER_RoadnetLink"
type"cslWorkshopER_RoadnetLinkType"
abstract"true" substitutionGroup"cslWorkshopER_
RoadnetElement"/gt ltcomplexType
name"ER_IdentifiableObjectType"
abstract"true"gt ltcomplexContentgt
lt!--Added FeatureCollection in order to validate
GML containing multiple feature members.
JRC-AFC--gt ltelement name"FeatureCollection"
type"cslWorkshopFeatureCollectionType"
substitutionGroup"gml_FeatureCollection"/gt ltco
mplexType name"FeatureCollectionType"gt
ltcomplexContentgt ltextension
base"gmlAbstractFeatureCollectionType"/gt
lt/complexContentgt lt/complexTypegt
19(No Transcript)
20(No Transcript)
21Resulting GML
- Because of the many classes in the model, the GML
is complex - I did not work further with GML 3.1 schemas
- Complex model
- 3.1 schemas not valid (according several
parsers), experience in producing 3.1.1? - Tools support (3.1 and 3.1.1)?
- Any experiences??
22(No Transcript)
23Data transformation
- Produce GML from TeleAtlas data
- FME GML
- Create schema option
- No support for 3.1 or 3.1.1??
- TeleAtlas based on GDF
- Should be no problems when mapping attributes
- Except that the attributes are named ID,
FEATTYP, FT, F_JNCTID, F_JNCTTYP, T_JNCTID,
T_JNCTTYP, PJ, METERS, FRC, NETCLASS, NETBCLASS,
NET2CLASS, NAME, NAMELC, SOL, NAMETYP, CHARGE,
ROUTENUM, RTETYP, RTEDIR, RTEDIRVD, PROCSTAT,
FOW, SLIPRD, FREEWAY, BACKRD, TOLLRD, RDCOND,
STUBBLE, PRIVATERD, CONSTATUS, ONEWAY, F_BP,
T_BP, F_ELEV, T_ELEV, KPH, MINUTES, POSACCUR,
CARRIAGE, LANES
24(No Transcript)
25XSL
FeatureCollection properties (e.g. bbox) are
mapped
26XSL
- Mapped to FeatureType RoadLink only
- Main elements
- FeatureCollection
- Boundingbox etc
- Id of ER_IdentifiableObject
- FID (should actually have been ID, FID is FME
generated ID) - Value of StringAttribute (subclass of
RoadnetElementAttribute) - Name
- SpeedLimit of ER_SpeedLimit (subclass of
RoadLinkAttribute) - KPH
- GML_Curve
- lineStringProperty
- Level of ER_RoadLink is always selected to
ER_RoadElement - FormOfWay of ER_RoadLink
- FOW (lookup table used)
- NationalRoadClass of ER_RoadLink
- FRC (lookup table used)
27(No Transcript)
28(No Transcript)
29Result in Gaia
30(No Transcript)
31Resulting GML
- Validates to EuroRoadS submodel GML schema
- Complex attribute types not possible to import
via FME or ArcGIS - Requires flat structure
- After short! trial, no success in publishing via
GeoServer WFS
32Approach(1)
- Automatically (preferably no manual
intervention) - Easy set-up
- - Minimum cost
- - Support from vendors/technologies
- - Support a SOA
- Pragmatic solution
- Feasibility of approach
- Does it satisfy requirements
- It is automatic.
- Creating XSL files can be complicated, especially
if the semantics of attributes to be transformed
vary too much - Time-consuming (costly)
- XSLT is a standardized methodology, GML is
supported by the important software producers - We shall later see similar approach in a service
architecture (Snowflake, Finnish Geodetic Ins.
etc..) - Would best support
- s
33Approach
- Requires that the two models that need to be
mapped do not differentiate too much - Attribute types, feature types, etc.
- No (immediate) generalization mechanisms
- i.e., the approach is scale dependent
- Aggregation (attributes, features) is complicated
- Requires in-depth knowledge of both models
- From domain to low level spatio-temporal aspects
of models - How to test that a mapping occurs error free
- Validation of data?
- Constraints?
- Other possibilities
- Materialized views and stored procedures for
mapping - Create DB schema based on complex UML or GML
schemas?
34(No Transcript)