Tour through DATEX Model -...

79
DATEX II User Forum – Prague – 19 20 May 2014 COMPREHENSIVE TOUR THROUGH THE DATEX DATA MODEL Jörg Freudenstein class GroupOfLocations Location GroupOfLocations Area::Area NetworkLocation Point::Point Linear::Linear SupplementaryPositionalDescription + locationDescriptor :LocationDescriptorEnum [0..*] + locationPrecision :MetresAsNonNegativeInteger [0..1] + sequentialRampNumber :NonNegativeInteger [0..1] Destination PointDestination AreaDestination LocationByReference + predefinedLocationReference :VersionedReference ItineraryByReference + predefinedItineraryReference :VersionedReference ExternalReferencing + externalReferencingSystem :String + externalLocationCode :String PointCoordinates + latitude :Float + longitude :Float NonOrderedLocationGroupByList ItineraryByIndexedLocations The order of the locations in the itinerary are specified by the 'index' qualifier. AffectedCarriagewayAndLanes + carriageway :CarriagewayEnum + lane :LaneEnum [0..*] + footpath :Boolean [0..1] + lengthAffected :MetresAsFloat [0..1] NonOrderedLocationGroupByReference + predefinedNonOrderedLocationGroupReference :VersionedReference NonOrderedLocations Itinerary 1 1 0..1 1 0..* 1 0..1 1 1 1 0..* 1 +locationForDisplay 0..1 1 +locationContainedInGroup 2..* 1 +routeDestination 0..* index +locationContainedInItinerary 1 1 class VehicleCharacteristics VehicleCharacteristics + fuelType :FuelTypeEnum [0..1] + loadType :LoadTypeEnum [0..1] + vehicleEquipment :VehicleEquipmentEnum [0..1] + vehicleType :VehicleTypeEnum [0..*] + vehicleUsage :VehicleUsageEnum [0..1] GrossWeightCharacteristic + comparisonOperator :ComparisonOperatorEnum + grossVehicleWeight :Tonnes HeightCharacteristic + comparisonOperator :ComparisonOperatorEnum + vehicleHeight :MetresAsFloat NumberOfAxlesCharacteristic + comparisonOperator :ComparisonOperatorEnum + numberOfAxles :NonNegativeInteger WidthCharacteristic + comparisonOperator :ComparisonOperatorEnum + vehicleWidth :MetresAsFloat LengthCharacteristic + comparisonOperator :ComparisonOperatorEnum + vehicleLength :MetresAsFloat HeaviestAxleWeightCharacteristic + comparisonOperator :ComparisonOperatorEnum + heaviestAxleWeight :Tonnes 0..2 1 0..2 1 0..2 1 0..2 1 0..2 1 0..2 1 class Specific «datatype» Generic::Float «datatype» Percentage «datatype» MetresPerSecond «datatype» Years «datatype» TemperatureCelsius «datatype» MetresAsFloat «datatype» IntensityMillimetresPerHour «datatype» Seconds «datatype» ConcentrationVehiclesPerKilometre «datatype» VehiclesPerHour «datatype» AxlesPerHour «datatype» PassengerCarUnitsPerHour «datatype» Tonnes «datatype» WattsPerSquareMetre «datatype» Kilohertz «datatype» CubicMetres «datatype» AlertCLocationCode Integer «datatype» Generic:: NonNegativ eInteger «datatype» KilometresPerHour «datatype» MetresAsNonNegativeInteger «datatype» PartsPerMillionConcentration «datatype» ConcentrationKilogramsPerCubicMetre «datatype» IntensityKilogramsPerSquareMetre «datatype» ConcentrationMicrogramsPerCubicMetre «datatype» AngleInDegrees 1

Transcript of Tour through DATEX Model -...

DATEX II User Forum – Prague – 19 20 May 2014

COMPREHENSIVE TOUR

THROUGH THE DATEX

DATA MODEL

Jörg Freudenstein

class GroupOfLocations

Location

GroupOfLocations

Area::Area

NetworkLocation

Point::Point

Linear::Linear

SupplementaryPositionalDescription

+ locationDescriptor :LocationDescriptorEnum [0..*]

+ locationPrecision :MetresAsNonNegativeInteger [0..1]

+ sequentialRampNumber :NonNegativeInteger [0..1]

Destination

PointDestinationAreaDestination

LocationByReference

+ predefinedLocationReference :VersionedReference

ItineraryByReference

+ predefinedItineraryReference :VersionedReference

ExternalReferencing

+ externalReferencingSystem :String

+ externalLocationCode :String

PointCoordinates

+ latitude :Float

+ longitude :Float

NonOrderedLocationGroupByList

ItineraryByIndexedLocations

The order of the locations

in the itinerary are

specified by the 'index'

qualifier.

AffectedCarriagewayAndLanes

+ carriageway :CarriagewayEnum

+ lane :LaneEnum [0..*]

+ footpath :Boolean [0..1]

+ lengthAffected :MetresAsFloat [0..1]

NonOrderedLocationGroupByReference

+ predefinedNonOrderedLocationGroupReference :VersionedReference

NonOrderedLocations

Itinerary

1

10..1

1

0..*

1

0..11

1

1

0..*

1

+locationForDisplay

0..1

1

+locationContainedInGroup

2..*

1

+routeDestination

0..*

index

+locationContainedInItinerary

1

1

class VehicleCharacteristics

VehicleCharacteristics

+ fuelType :FuelTypeEnum [0..1]

+ loadType :LoadTypeEnum [0..1]

+ vehicleEquipment :VehicleEquipmentEnum [0..1]

+ vehicleType :VehicleTypeEnum [0..*]

+ vehicleUsage :VehicleUsageEnum [0..1]

GrossWeightCharacteristic

+ comparisonOperator :ComparisonOperatorEnum

+ grossVehicleWeight :Tonnes

HeightCharacteristic

+ comparisonOperator :ComparisonOperatorEnum

+ vehicleHeight :MetresAsFloat

NumberOfAxlesCharacteristic

+ comparisonOperator :ComparisonOperatorEnum

+ numberOfAxles :NonNegativeInteger

WidthCharacteristic

+ comparisonOperator :ComparisonOperatorEnum

+ vehicleWidth :MetresAsFloatLengthCharacteristic

+ comparisonOperator :ComparisonOperatorEnum

+ vehicleLength :MetresAsFloat

Heav iestAxleWeightCharacteristic

+ comparisonOperator :ComparisonOperatorEnum

+ heaviestAxleWeight :Tonnes

0..2

1

0..2

1

0..2

1

0..2

1

0..2

1

0..2

1 class Specific

«datatype»Generic::Float

«datatype»Percentage

«datatype»MetresPerSecond

«datatype»Years

«datatype»TemperatureCelsius

«datatype»MetresAsFloat

«datatype»

IntensityMillimetresPerHour

«datatype»Seconds

«datatype»

ConcentrationVehiclesPerKilometre

«datatype»VehiclesPerHour

«datatype»AxlesPerHour

«datatype»

PassengerCarUnitsPerHour

«datatype»Tonnes

«datatype»WattsPerSquareMetre

«datatype»Kilohertz

«datatype»CubicMetres

«datatype»AlertCLocationCode

Integer«datatype»Generic::

NonNegativ eInteger

«datatype»KilometresPerHour

«datatype»

MetresAsNonNegativ eInteger

«datatype»

PartsPerMillionConcentration

«datatype»

ConcentrationKilogramsPerCubicMetre

«datatype»

IntensityKilogramsPerSquareMetre

«datatype»

ConcentrationMicrogramsPerCubicMetre

«datatype»AngleInDegrees

1

DATEX II User Forum – Prague – 19 20 May 2014

About me2

Jörg Freudenstein

Computer scientist, born in 1977

Since 2005 project engineer at AlbrechtConsult

(Aachen, Germany)

Emphasis on software engineering / software processes, communication

networks und distributed systems, software architectures as well as data

modelling

Specification of DATEX II-profiles for the German Mobility Data Market

Place (MDM)

Participation in the DATEX development and standardisation

Editor of the DATEX II parking extension

DATEX II User Forum – Prague – 19 20 May 2014

Todays hands on workshops

Basics

Tour through the DATEX Level A data model

Creating of profiles

Data selection

Creation of subschemas

Usage of extensions

Extension of the model with new content

Creation of publications

Perspective on current developments

(e.g. intelligent truck parking)

3

Overv

iew

DATEX II User Forum – Prague – 19 20 May 2014

partly

partly

What is DATEX II?

An open, interoperable interface specification for the machine to machine exchange of

dynamic road traffic and travel data between traffic centres and with third parties, including

broadcasters and providers of commercial ITS services

Consists of a set of artefacts:

Methodology (Meta data model UML 1.4.2, rules)

Data model (dynamic road traffic data)

Software to generate data schema ( message syntax)

Documentation

Based on general accepted IT standards (UML, XML, http, ...)

Made available free of charge and without rights reserved by the DATEX user community

(mainly road operators)

standardized as CEN/TS 16157 Part 1 – Part 5 (as Technical Specification)

(in a modified form, but content consistent)

4

DATEX II User Forum – Prague – 19 20 May 2014

DATEX Methodology

Basis for the mapping of the data model

in UML and for the creation of profiles

and extensions

Based on the division into three model

levels:

M0: Data

M1: Data model

M2: Meta model

Where appropriate in this lecture, this

methodology document is quoted.

5

DATEX II User Forum – Prague – 19 20 May 2014

Elements of DATEX II (v2.2)

Reference documents (normative)

Data model (UML, as EAP-file or for web browser)

Methodology (file „DATEX_II_Metodology.pdf“)

XML schema

XML-schema & software tool (Windows .NET) to generate a schema

Exchange specification: text document (PDF) & WSDL-files

Additional documents (informative)

Handbooks for users, for software development and the creation of extensions

Documentation of the platform independent exchange (Exchange-PIM)

Data Dictionary

Handbook for the XML schema generation tool

Example messages

6

DATEX II User Forum – Prague – 19 20 May 2014

DATEX II data model

The data model (and all other files mentioned) are available

on the DATEX website.

To get access on the current documents, a login (free

registration) is necessary:

7

http://www.datex2.eu

DATEX II User Forum – Prague – 19 20 May 2014

8

Get access

DATEX II User Forum – Prague – 19 20 May 2014

Get access9

DATEX II User Forum – Prague – 19 20 May 2014

DATEX II data model

The data model (DATEX II PIM v2.2)

is available as

Enterprise Architect format (.eap) (see before)

In HTML format for web browser, as offline ZIP or online browseable:

TamTam research developed an alternative online browser to search

through the DATEX model:

10

http://www.datex2.eu/datex-

model/HTML.Version_2.2/index.htm

http://datexbrowser.tamtamresearch.com

DATEX II User Forum – Prague – 19 20 May 2014

Enterprise Architect

Inexpensive UML modelling tool used to view

To obtain from Sparx Systems:

http://www.sparxsystems.com/

There is also a free version (viewing only) available!

11

DATEX II User Forum – Prague – 19 20 May 2014

Settings in Enterprise Architect

12

DATEX II User Forum – Prague – 19 20 May 2014

Project Browser and Resources

13

Special UML profile for DATEX for

the generation of preconfigured UML

elements

Entry point for the model:

D2LogicalModel

DATEX II User Forum – Prague – 19 20 May 2014

Tagged Values

14

Tagged values offer user-

defined additional information

and consist of a ‘tag' and an

associated ‘value‘ element.

Within the meaning of UML

(1.4!) tagged values can be

associated to any element in

any quantity.

In terms of the DATEX

methodology, the used tagged

values are well defined,

however.

DATEX II User Forum – Prague – 19 20 May 2014

Tagged Values (cont.)

15

Two important DATEX tagged values:

• definition

A definition for each component, attribute, literal and package.

It becomes part of the schema and can be visualized by software tools.

• order

An information for the relative position of this element within the schema.

DATEX II User Forum – Prague – 19 20 May 2014

Check for the current version

16

Current version of DATEX

II is 2.2.

(2.3. to come this year)

Older versions should not

be used unless there is a

need for it.

You can find the version

information as a tagged

value on the component

‚D2LogicalModel‘

DATEX II User Forum – Prague – 19 20 May 2014

Used UML elements in DATEX II

17

component

attributerelation

enumeration

literalmultiplicity qualifier

package

DATEX II User Forum – Prague – 19 20 May 2014

UML example

18

class Temp

Car

BMW

Tyre

ParkingAssistant

+ operatingStatus :Boolean

4

0..1

DATEX II User Forum – Prague – 19 20 May 2014

DATEX meta model

19

An aside:

Attributes, relations

etc. for DATEX are

defined in a meta

model with the

means of UML

DATEX II User Forum – Prague – 19 20 May 2014

Different Views in Enterprise Architect

The data model can be visualized

through customized figures.

These figures all access the same

data basis - the data model.

Multiple figures can not contradict

each other, but they can offer

different views. They can focus

different details or hide some

elements.

20

class Temp

BMW

Cabrio

This is no contradiction to the example before.

A Cabrio is also a car and may have a parking assistent.

DATEX II User Forum – Prague – 19 20 May 2014

Data basis („the truth“)

21

Elements in one package

Connections / relations

DATEX II User Forum – Prague – 19 20 May 2014

Views on the Point item

22

class Point1

NetworkLocation

Point

AlertCPoint

+ alertCLocationCountryCode :String

+ alertCLocationTableNumber :String

+ alertCLocationTableVersion :String

TpegPointLocation::TpegPointLocation

+ tpegDirection :DirectionEnum

PointByCoordinates

+ bearing :NonNegativeInteger [0..1]

PointAlongLinearElement::PointAlongLinearElement

+ administrativeAreaOfPoint :Multi l ingualString [0..1]

+ directionBoundAtPoint :DirectionEnum [0..1]

+ directionRelativeAtPoint :LinearReferencingDirectionEnum [0..1]

+ heightGradeOfPoint :HeightGradeEnum [0..1]

0..1

1

0..1

1

0..1

1

0..1

1

DATEX II User Forum – Prague – 19 20 May 2014

Views on the Point item

23

class Point2

Point

AlertCPoint

Location

NetworkLocation

0..1

1

A little awkward, because

mandatory attributes are not

shown. Anyway, it’s not

forbidden.

In this view, the possibility to

express a point by coordinates

is not shown, however, this is still

a valid method.

DATEX II User Forum – Prague – 19 20 May 2014

Data types

All used (simple) data types are also realized in the form of DATEX components.

A distinction is made between generic and specific data types. The latter are

derived from the generic types.

DATEX simple data types are mapped to the corresponding XSD simple types (using

the tagged value ‘schemaType’).

24

class Generic

«datatype»

String

DATEX II User Forum – Prague – 19 20 May 2014

Data types (generic)

25

class Generic

«datatype»

Integer

«datatype»

Float

«datatype»

String

«datatype»

DateTime

«datatype»

Boolean

«datatype»

NonNegativ eInteger

«datatype»

Date

«datatype»

Time

«datatype»

MultilingualString

«datatype»

Url

«datatype»

Language

«datatype»

VersionedReference

«datatype»

Reference

DATEX II User Forum – Prague – 19 20 May 2014

Data types (specific I)

26

class Specific

«datatype»

Years

«datatype»

ConcentrationVehiclesPerKilometre

«datatype»

VehiclesPerHour

«datatype»

AxlesPerHour

«datatype»

PassengerCarUnitsPerHour

«datatype»

AlertCLocationCode

Integer

«datatype»

Generic::

NonNegativ eInteger

«datatype»

MetresAsNonNegativ eInteger

«datatype»

PartsPerMillionConcentration

«datatype»

ConcentrationKilogramsPerCubicMetre

«datatype»

IntensityKilogramsPerSquareMetre

«datatype»

AngleInDegrees

DATEX II User Forum – Prague – 19 20 May 2014

Data types (specific II)

27

class Specific

«datatype»

Generic::Float

«datatype»

Percentage

«datatype»

MetresPerSecond

«datatype»

TemperatureCelsius

«datatype»

MetresAsFloat«datatype»

IntensityMillimetresPerHour

«datatype»

Seconds

«datatype»

Tonnes

«datatype»

WattsPerSquareMetre

«datatype»

Kilohertz

«datatype»

CubicMetres

«datatype»

KilometresPerHour

«datatype»

ConcentrationKilogramsPerCubicMetre

«datatype»

IntensityKilogramsPerSquareMetre

«datatype»

ConcentrationMicrogramsPerCubicMetre

DATEX II User Forum – Prague – 19 20 May 2014

References

Using cross references as an alternative to direct aggregation or between different

messages

Example: Relationship between static data (e.g. infrastructure information)

and dynamic data (e.g. high-frequency measurements)

Identification by stereotype ‘identifiable‘

(using an ID "unique in space and time")

Reference with data type ‘Reference ‘

Different versions: Usage of ‘versionedIdentifiable‘ and 'VersionedReference '.

28

class MeasurementSiteTablePublication

«versionedIdentifiable»

MeasurementSiteTable

+ measurementSiteTableIdentification :String [0..1]

class MeasuredDataPublication

PayloadPublication

MeasuredDataPublication

+ measurementSiteTableReference :VersionedReference

DATEX II User Forum – Prague – 19 20 May 2014

References in XML instance example

Definition of MeasurementSiteTable in static message:

29

Reference in dynamic message:

a so called UUID was used (Universally Unique Identifier)

DATEX II User Forum – Prague – 19 20 May 2014

30D

ata

model Le

vel A

PRESENTATION DATA MODEL

(LEVEL A)

DATEX II User Forum – Prague – 19 20 May 2014

Standardisation time schedule31

DATEX II User Forum – Prague – 19 20 May 2014

DATEX data model ‚interoperability levels‘

Level A

‚Existing’ data model

Data catalogue, ontology, data registry, ….

The Level A model is ‘fix‘ and can only be adjusted within new DATEX versions,

but not in general

(but see also profile creation)

Level B

Backward compatible extension/amendment to Level A

Level C

Completely independent, no longer to Level A compatible scheme which

corresponds to the DATEX methodology anyway.

32

DATEX II User Forum – Prague – 19 20 May 2014

DATEX Data model Level A

33

DATEX II User Forum – Prague – 19 20 May 2014

DATEX Data model Level A

Tree structure of Enterprise Architect Project

Browser:

34

Main package

Main component

(starting point of the model)

Figure / view

Sub packages

Package for Level B

extensions

DATEX II User Forum – Prague – 19 20 May 2014

The packages: Exchange

35

Protocol relevant data like for

example

type of subscription

keep alive message

delivery interval

update method

no content related data

The Exchange specification is

currently being updated

DATEX II User Forum – Prague – 19 20 May 2014

The packages: Exchange

36

space for customized Level B

extensions

since DATEX II version 2.1, this

package already contains the

Parking extension

(please note, that this is a

antecessor of the current CEN

workitem Parking extension)

DATEX II User Forum – Prague – 19 20 May 2014

The packages: General

37

‘General’ contains

data types package

(generic, specific)

groups of location package

(georeference)

all enumerations (because of their mass

divided into alphabetically sub packages)

reusable classes, i.e. structures, which are

used elsewhere in the model

DATEX II User Forum – Prague – 19 20 May 2014

The packages: Management

38

A small package containing some

information for the life cycle of

situations (e.g. traffic messages)

DATEX II User Forum – Prague – 19 20 May 2014

The packages: Management

39

A small package containing some

information for the life cycle of

situations (e.g. traffic messages)

DATEX II User Forum – Prague – 19 20 May 2014

The packages: PayloadPublication

40

The main payload

packages for different

types of messages.

DATEX II User Forum – Prague – 19 20 May 2014

The packages: PayloadPublication

41

Data created through

algorithms

Empty structure to

add customized

publications

Data directly

recorded

Using locations by reference to

define them just once

Traffic messagesTraffic view on

particular section

Variable

message

signs

DATEX II User Forum – Prague – 19 20 May 2014

DATEX II objects42

Basic objects(only dynamic)

Elaborated Data

Traffic ElementsCongestion, Accident…

Operator ActionsNetwork Mngmt, Roadworks…

Basic objects(static and dynamic part)

Measurements

Variable Message Signs

Parking (Level B)

Additional objects

Location ReferencingArea, Point, LinearALERT-C, ISO 19148, Coordinates, TPEG-LOC, OpenLR (extension)Predefined LocationsAdditional Positional Descriptions

Validity

Comments, URL, …

Impact, Source, Causes

Data Quality and Faults

DATEX II User Forum – Prague – 19 20 May 2014

Access

to the

model:

43

class D2LogicalModel

D2LogicalModel

PayloadPublication::PayloadPublication

+ defaultLanguage :Language

+ feedDescription :Multi l ingualString [0..1]

+ feedType :String [0..1]

+ publicationTime :DateTime

Exchange::Exchange

+ changedFlag :ChangedFlagEnum [0..1]

+ clientIdentification :String [0..1]

+ deliveryBreak :Boolean [0..1]

+ denyReason :DenyReasonEnum [0..1]

+ historicalStartDate :DateTime [0..1]

+ historicalStopDate :DateTime [0..1]

+ keepAlive :Boolean [0..1]

+ requestType :RequestTypeEnum [0..1]

+ response :ResponseEnum [0..1]

+ subscriptionReference :String [0..1]

0..1

1

1

1

DATEX Data model Level A

DATEX II User Forum – Prague – 19 20 May 2014

Access

to the

model:

44

class D2LogicalModel

D2LogicalModel

PayloadPublication::PayloadPublication

+ defaultLanguage :Language

+ feedDescription :Multi l ingualString [0..1]

+ feedType :String [0..1]

+ publicationTime :DateTime

Exchange::Exchange

+ changedFlag :ChangedFlagEnum [0..1]

+ clientIdentification :String [0..1]

+ deliveryBreak :Boolean [0..1]

+ denyReason :DenyReasonEnum [0..1]

+ historicalStartDate :DateTime [0..1]

+ historicalStopDate :DateTime [0..1]

+ keepAlive :Boolean [0..1]

+ requestType :RequestTypeEnum [0..1]

+ response :ResponseEnum [0..1]

+ subscriptionReference :String [0..1]

0..1

1

1

1

DATEX Data model Level A

D2LogicalModel

Root-Element

Exchange

(protocol add on)

PayloadPublication

(main component for different

kind of payload)

DATEX II User Forum – Prague – 19 20 May 2014

PayloadPublication

45

class PayloadPublication

PayloadPublication

+ defaultLanguage :Language

+ feedDescription :Multi l ingualString [0..1]

+ feedType :String [0..1]

+ publicationTime :DateTime

ReusableClasses::

InternationalIdentifier

+ country :CountryEnum

+ nationalIdentifier :String

SituationPublication::SituationPublicationTrafficViewPublication::

TrafficViewPublication

ElaboratedDataPublication::

ElaboratedDataPublication

+ forecastDefault :Boolean [0..1]

+ periodDefault :Seconds [0..1]

+ timeDefault :DateTime [0..1]

MeasuredDataPublication::MeasuredDataPublication

+ measurementSiteTableReference :VersionedReference

PredefinedLocationsPublication::

PredefinedLocationsPublication

MeasurementSiteTablePublication::

MeasurementSiteTablePublication

GenericPublication::

GenericPublication

+ genericPublicationName :String

VmsPublication::VmsPublication VmsTablePublication::

VmsTablePublication

+publicationCreator

11

DATEX II User Forum – Prague – 19 20 May 2014

PayloadPublication

46

class PayloadPublication

PayloadPublication

+ defaultLanguage :Language

+ feedDescription :Multi l ingualString [0..1]

+ feedType :String [0..1]

+ publicationTime :DateTime

ReusableClasses::

InternationalIdentifier

+ country :CountryEnum

+ nationalIdentifier :String

SituationPublication::SituationPublicationTrafficViewPublication::

TrafficViewPublication

ElaboratedDataPublication::

ElaboratedDataPublication

+ forecastDefault :Boolean [0..1]

+ periodDefault :Seconds [0..1]

+ timeDefault :DateTime [0..1]

MeasuredDataPublication::MeasuredDataPublication

+ measurementSiteTableReference :VersionedReference

PredefinedLocationsPublication::

PredefinedLocationsPublication

MeasurementSiteTablePublication::

MeasurementSiteTablePublication

GenericPublication::

GenericPublication

+ genericPublicationName :String

VmsPublication::VmsPublication VmsTablePublication::

VmsTablePublication

+publicationCreator

11Payload Publication

MeasuredData ElaboratedDataTrafficView Situation

International

Identifier

VMSMeasurementSite

TableVMS Table

Generic

(for Level B)

Predefined

Location

DATEX II User Forum – Prague – 19 20 May 2014

47D

ata

model Le

vel A DETAILED EXAMPLE 1:

SITUATION

(TRAFFIC MESSAGES)

DATEX II User Forum – Prague – 19 20 May 2014

PayloadPublication

48

class PayloadPublication

PayloadPublication

+ defaultLanguage :Language

+ feedDescription :Multi l ingualString [0..1]

+ feedType :String [0..1]

+ publicationTime :DateTime

ReusableClasses::

InternationalIdentifier

+ country :CountryEnum

+ nationalIdentifier :String

SituationPublication::SituationPublicationTrafficViewPublication::

TrafficViewPublication

ElaboratedDataPublication::

ElaboratedDataPublication

+ forecastDefault :Boolean [0..1]

+ periodDefault :Seconds [0..1]

+ timeDefault :DateTime [0..1]

MeasuredDataPublication::MeasuredDataPublication

+ measurementSiteTableReference :VersionedReference

PredefinedLocationsPublication::

PredefinedLocationsPublication

MeasurementSiteTablePublication::

MeasurementSiteTablePublication

GenericPublication::

GenericPublication

+ genericPublicationName :String

VmsPublication::VmsPublication VmsTablePublication::

VmsTablePublication

+publicationCreator

11Payload Publication

MeasuredData ElaboratedDataTrafficView Situation

International

Identifier

VMSMeasurementSite

TableVMS Table

Generic

(for Level B)

Predefined

Location

DATEX II User Forum – Prague – 19 20 May 2014

Message type „Situation“

49

class SituationPublication_MDMmini...

PayloadPublication

SituationPublication

«versionedIdentifiable»

SituationRecord::SituationRecord

+ confidentialityOverride: ConfidentialityValueEnum [0..1]

+ probabilityOfOccurrence: ProbabilityOfOccurrenceEnum

+ severity: SeverityEnum [0..1]

+ situationRecordCreationReference: String [0..1]

+ situationRecordCreationTime: DateTime

+ situationRecordFirstSupplierVersionTime: DateTime [0..1]

+ situationRecordObservationTime: DateTime [0..1]

+ situationRecordVersionTime: DateTime

«versionedIdentifiable»

Situation

+ overallSeverity: SeverityEnum [0..1]

+ relatedSituation: VersionedReference [0..*]

+ situationVersionTime: DateTime [0..1]

+ situationEnd() : void

+ situationInit() : void

+ situationUpdate() : void

GroupOfLocations::GroupOfLocations

Impact::Impact

+ capacityRemaining: Percentage [0..1]

+ numberOfLanesRestricted: NonNegativeInteger [0..1]

+ numberOfOperationalLanes: NonNegativeInteger [0..1]

+ originalNumberOfLanes: NonNegativeInteger [0..1]

+ residualRoadWidth: MetresAsFloat [0..1]

+ trafficConstrictionType: TrafficConstrictionTypeEnum [0..1]

SituationRecord::Comment

+ comment: Multi l ingualString

+ commentDateTime: DateTime [0..1]

+ commentType: CommentTypeEnum [0..1]

ReusableClasses::Source

+ reliable: Boolean [0..1]

+ sourceCountry: CountryEnum [0..1]

+ sourceIdentification: String [0..1]

+ sourceName: Multi l ingualString [0..1]

+ sourceType: SourceTypeEnum [0..1]

Validity::Validity

+ overrunning: Boolean [0..1]

+ validityStatus: ValidityStatusEnum

ReusableClasses::UrlLink

+ urlLinkAddress: Url

+ urlLinkDescription: Multi l ingualString [0..1]

+ urlLinkType: UrlLinkTypeEnum [0..1]

SituationRecord::Cause

0..*

1

1..*

1

1 1

0..1

1

+generalPublicComment 0..*

1

+nonGeneralPublicComment 0..*

1

0..1

1

1

1

0..*

1

0..1

1

DATEX II User Forum – Prague – 19 20 May 2014

Message type „Situation“

50

class SituationPublication_MDMmini...

PayloadPublication

SituationPublication

«versionedIdentifiable»

SituationRecord::SituationRecord

+ confidentialityOverride: ConfidentialityValueEnum [0..1]

+ probabilityOfOccurrence: ProbabilityOfOccurrenceEnum

+ severity: SeverityEnum [0..1]

+ situationRecordCreationReference: String [0..1]

+ situationRecordCreationTime: DateTime

+ situationRecordFirstSupplierVersionTime: DateTime [0..1]

+ situationRecordObservationTime: DateTime [0..1]

+ situationRecordVersionTime: DateTime

«versionedIdentifiable»

Situation

+ overallSeverity: SeverityEnum [0..1]

+ relatedSituation: VersionedReference [0..*]

+ situationVersionTime: DateTime [0..1]

+ situationEnd() : void

+ situationInit() : void

+ situationUpdate() : void

GroupOfLocations::GroupOfLocations

Impact::Impact

+ capacityRemaining: Percentage [0..1]

+ numberOfLanesRestricted: NonNegativeInteger [0..1]

+ numberOfOperationalLanes: NonNegativeInteger [0..1]

+ originalNumberOfLanes: NonNegativeInteger [0..1]

+ residualRoadWidth: MetresAsFloat [0..1]

+ trafficConstrictionType: TrafficConstrictionTypeEnum [0..1]

SituationRecord::Comment

+ comment: Multi l ingualString

+ commentDateTime: DateTime [0..1]

+ commentType: CommentTypeEnum [0..1]

ReusableClasses::Source

+ reliable: Boolean [0..1]

+ sourceCountry: CountryEnum [0..1]

+ sourceIdentification: String [0..1]

+ sourceName: Multi l ingualString [0..1]

+ sourceType: SourceTypeEnum [0..1]

Validity::Validity

+ overrunning: Boolean [0..1]

+ validityStatus: ValidityStatusEnum

ReusableClasses::UrlLink

+ urlLinkAddress: Url

+ urlLinkDescription: Multi l ingualString [0..1]

+ urlLinkType: UrlLinkTypeEnum [0..1]

SituationRecord::Cause

0..*

1

1..*

1

1 1

0..1

1

+generalPublicComment 0..*

1

+nonGeneralPublicComment 0..*

1

0..1

1

1

1

0..*

1

0..1

1

Public and non

public comments

Publication

Situation (in general)

Situation element

time stamp

Georeference

Impact(s)

Source of the

message

Validity sub

modelCause

URL

mandatory

DATEX II User Forum – Prague – 19 20 May 2014

Validity model51

class Validity

Validity

+ validityStatus :ValidityStatusEnum

+ overrunning :Boolean [0..1]

DayWeekMonth

+ applicableDay :DayEnum [0..7]

+ applicableWeek :WeekOfMonthEnum [0..5]

+ applicableMonth :MonthOfYearEnum [0..12]

Period

+ startOfPeriod :DateTime [0..1]

+ endOfPeriod :DateTime [0..1]

+ periodName :Multi l ingualString [0..1]

TimePeriodOfDay::

TimePeriodOfDay

Each day, each week and

each month can only occur

once in this class.

Ov erallPeriod

+ overallStartTime :DateTime

+ overallEndTime :DateTime [0..1]

TimePeriodOfDay::TimePeriodByHour

+ startTimeOfPeriod :Time

+ endTimeOfPeriod :Time

+validityTimeSpecification 1

1

+validPeriod 0..*

1

+exceptionPeriod 0..*

1

+recurringTimePeriodOfDay0..*

1

+recurringDayWeekMonthPeriod0..*

1

Validity

Total period

(Start and optional End)

Included or excluded periods

Time periods within

a day

Specification of the day

(e.g. 1st Monday each

month)

DATEX II User Forum – Prague – 19 20 May 2014

Validity model

The validity results from the intersection of

Overall period

Union of all other specified periods

Complement of the union of all exclusion

periods

All periods can be defined on date, times, days of the

week etc..

example:

Every 1st Monday of the month from 15-18 clock from

April 1 to May 30 except May 1

The specification of validity is particularly interesting

for planned road works or closures.

The model can also be used for opening times (for

example, gas stations or parking facilities).

For traffic information usually only the start time is

indicated (even the end time is already optional).

52

overallPeriod

overallPeriod

overallPeriod

„validity“

„validity“

„validity“

„validity“

validPeriod

overallPeriod

validPeriod

validPeriod

exceptionPeriod

validPeriod2

a)

b)

c)

d)

DATEX II User Forum – Prague – 19 20 May 2014

Impacts53

• Remaining capacity

• Number of blocked lanes

• Original number of lanes

• Total width available

• Type of constriction:

• Lanes (partially) blocked

• Road (partially) blocked

• Carriageway (partially) blocked

class Impact

Impact

+ capacityRemaining: Percentage [0..1]

+ numberOfLanesRestricted: NonNegativeInteger [0..1]

+ numberOfOperationalLanes: NonNegativeInteger [0..1]

+ originalNumberOfLanes: NonNegativeInteger [0..1]

+ residualRoadWidth: MetresAsFloat [0..1]

+ trafficConstrictionType: TrafficConstrictionTypeEnum [0..1]

«enumeration»

TrafficConstrictionTypeEnum

carriagewayBlocked

carriagewayPartiallyObstructed

lanesBlocked

lanesPartiallyObstructed

roadBlocked

roadPartiallyObstructed

DATEX II User Forum – Prague – 19 20 May 2014

Cause54

class Cause

«versionedIdentifiable»

SituationRecord

+ probabil ityOfOccurrence: Probabil ityOfOccurrenceEnum

+ situationRecordCreationTime: DateTime

+ situationRecordVersionTime: DateTime

Cause

NonManagedCause

+ causeDescription: Multi l ingualString [0..1]

+ causeType: CauseTypeEnum [0..1]

«enumeration»

CauseTypeEnum

accident

congestion

earlierAccident

earlierEvent

earlierIncident

equipmentFailure

excessiveHeat

frost

holidayTraffic

infrastructureFailure

largeNumbersOfVisitors

obstruction

pollutionAlert

poorWeather

problemsAtBorderPost

problemsAtCustomPost

problemsOnLocalRoads

radioactiveLeakAlert

roadsideEvent

rubberNecking

securityIncident

shearWeightOfTraffic

technicalProblems

terrorism

toxicCloudAlert

vandalism

other

ManagedCause

+ managedCause: VersionedReference [0..1]

0..1

1

DATEX II User Forum – Prague – 19 20 May 2014

Cause55

class Cause

«versionedIdentifiable»

SituationRecord

+ probabil ityOfOccurrence: Probabil ityOfOccurrenceEnum

+ situationRecordCreationTime: DateTime

+ situationRecordVersionTime: DateTime

Cause

NonManagedCause

+ causeDescription: Multi l ingualString [0..1]

+ causeType: CauseTypeEnum [0..1]

«enumeration»

CauseTypeEnum

accident

congestion

earlierAccident

earlierEvent

earlierIncident

equipmentFailure

excessiveHeat

frost

holidayTraffic

infrastructureFailure

largeNumbersOfVisitors

obstruction

pollutionAlert

poorWeather

problemsAtBorderPost

problemsAtCustomPost

problemsOnLocalRoads

radioactiveLeakAlert

roadsideEvent

rubberNecking

securityIncident

shearWeightOfTraffic

technicalProblems

terrorism

toxicCloudAlert

vandalism

other

ManagedCause

+ managedCause: VersionedReference [0..1]

0..1

1

Situation element

Cause

Cause defined by reference to

another situation element

Cause defined by enumeration

(see left side)

DATEX II User Forum – Prague – 19 20 May 2014

class SituationPublication_MDM...

«versionedIdentifiable»

SituationRecord::SituationRecord

NonRoadEventInformation::

NonRoadEventInformationOperatorAction::OperatorAction

+ actionOrigin: OperatorActionOriginEnum [0..1]

+ actionPlanIdentifier: String [0..1]

+ operatorActionStatus: OperatorActionStatusEnum [0..1]

TrafficElement::TrafficElement

Types of Situation elements56

DATEX II User Forum – Prague – 19 20 May 2014

class SituationPublication_MDM...

«versionedIdentifiable»

SituationRecord::SituationRecord

NonRoadEventInformation::

NonRoadEventInformationOperatorAction::OperatorAction

+ actionOrigin: OperatorActionOriginEnum [0..1]

+ actionPlanIdentifier: String [0..1]

+ operatorActionStatus: OperatorActionStatusEnum [0..1]

TrafficElement::TrafficElement

Types of Situation elements57

Situation element

Non traffic related situation

Traffic related situation

Operator action

DATEX II User Forum – Prague – 19 20 May 2014

class SituationPublication_MDM...

«versionedIdentifiable»

SituationRecord::SituationRecord

NonRoadEventInformation::

NonRoadEventInformationOperatorAction::OperatorAction

+ actionOrigin: OperatorActionOriginEnum [0..1]

+ actionPlanIdentifier: String [0..1]

+ operatorActionStatus: OperatorActionStatusEnum [0..1]

TrafficElement::TrafficElement

Situation element

Non traffic related situation

Traffic related situation

Operator action

Types of Situation elements

DATEX II User Forum – Prague – 19 20 May 2014

To be read from left to right.

(Number): More components, not visualized here.

(Number+): Components with another submodel, not visualized here.

Types of Situation elementsCarparks

RoadSideServiceDisruption

RoadOperatorServiceDisruption

TransitInformation

WeatherRelatedRoadConditions (1+)

NonWeatherRelatedRoadConditions

PoorEnvironmentConditions (6+)

AbnormalTraffic

EquipementOrSystemFault

Accident (3+)

EnimalPresenceObstruction

EnvironmentalObstruction

InfrastructureDamageObstruction

GeneralObstruction (1)

VehicleObstruction (1)

AuthorityOperation

PublicEvent

DisturbanceActivity

ConstructionWorks

MaintenanceWorks

SignSetting (1)

ReroutingManagement (1+)

SpeedManagement

RoadOrCarriageWayOrLaneManagement

WinterDrivingManagement

GeneralInstructionOrMessageToRoadUsers

GeneralNetworkManagement

OperatorAction

NetworkManagement (1+)

Roadworks (3)

ConditionsRoadConditions

Obstruction (1)

Activity (1)

NonRoadEvent-

Information

TrafficElement

class EtoH

«enumeration»

GeneralNetworkManagementTypeEnum

bridgeSwingInOperation

convoyService

obstacleSignalling

rampMeteringInOperation

temporaryTrafficLights

tollGatesOpen

trafficBeingManuallyDirected

trafficHeld

other

class NtoR

«enumeration»

RoadMaintenanceTypeEnum

clearanceWork

controlledAvalanche

installationWork

grassCuttingWork

litterClearance

maintenanceWork

overheadWorks

repairWork

resurfacingWork

roadMarkingWork

roadsideWork

roadworksClearance

roadworks

rockFallPreventativeMaintenance

saltingInProgress

snowploughsInUse

sweepingOfRoad

treeAndVegetationCuttingWork

other

class NtoR

«enumeration»

ObstructionTypeEnum

airCrash

childrenOnRoadway

clearanceWork

craneOperating

cyclistsOnRoadway

debris

explosion

explosionHazard

hazardsOnTheRoad

highSpeedChase

houseFire

incident

industrialAccident

objectOnTheRoad

objectsFallingFromMovingVehicle

obstructionOnTheRoad

peopleOnRoadway

railCrash

recklessDriver

rescueAndRecoveryWork

severeFrostDamagedRoadway

shedLoad

snowAndIceDebris

spil lageOccurringFromMovingVehicle

spil lageOnTheRoad

unprotectedAccidentArea

other

class AtoD

«enumeration»

AbnormalTrafficTypeEnum

stationaryTraffic

queuingTraffic

slowTraffic

heavyTraffic

unspecifiedAbnormalTraffic

other

class Conditions

PoorEnv ironmentConditions

+ poorEnvironmentType: PoorEnvironmentTypeEnum [1..*]

Humidity::Humidity

Wind::Wind

+ windMeasurementHeight: MetresAsNonNegativeInteger [0..1]

Temperature::Temperature

Pollution::Pollution

+ pollutantType: PollutantTypeEnum

Visibility::Visibility

PrecipitationDetail::PrecipitationDetail

+ precipitationType: PrecipitationTypeEnum [0..1]

0..1

1

0..1

1

0..1

1

0..1

1

0..1

1

0..11

DATEX II User Forum – Prague – 19 20 May 2014

61D

ata

model Le

vel A

DETAILED EXAMPLE 2:

MEASUREMENT SITES AND

MEASURED DATA

DATEX II User Forum – Prague – 19 20 May 2014

PayloadPublication

62

class PayloadPublication

PayloadPublication

+ defaultLanguage :Language

+ feedDescription :Multi l ingualString [0..1]

+ feedType :String [0..1]

+ publicationTime :DateTime

ReusableClasses::

InternationalIdentifier

+ country :CountryEnum

+ nationalIdentifier :String

SituationPublication::SituationPublicationTrafficViewPublication::

TrafficViewPublication

ElaboratedDataPublication::

ElaboratedDataPublication

+ forecastDefault :Boolean [0..1]

+ periodDefault :Seconds [0..1]

+ timeDefault :DateTime [0..1]

MeasuredDataPublication::MeasuredDataPublication

+ measurementSiteTableReference :VersionedReference

PredefinedLocationsPublication::

PredefinedLocationsPublication

MeasurementSiteTablePublication::

MeasurementSiteTablePublication

GenericPublication::

GenericPublication

+ genericPublicationName :String

VmsPublication::VmsPublication VmsTablePublication::

VmsTablePublication

+publicationCreator

11Payload Publication

MeasuredData ElaboratedDataTrafficView Situation

International

Identifier

VMSMeasurementSite

TableVMS Table

Generic

(for Level B)

Predefined

Location

DATEX II User Forum – Prague – 19 20 May 2014

Measurement Site Table (static)

63

class MeasurementSiteTablePublication

«versionedIdentifiable»

MeasurementSiteRecord

+ measurementSiteRecordVersionTime :DateTime [0..1]

+ computationMethod :ComputationMethodEnum [0..1]

+ measurementEquipmentReference :String [0..1]

+ measurementEquipmentTypeUsed :Multi l ingualString [0..1]

+ measurementSiteName :Multi l ingualString [0..1]

+ measurementSiteNumberOfLanes :NonNegativeInteger [0..1]

+ measurementSiteIdentification :String [0..1]

+ measurementSide :DirectionEnum [0..1]

PayloadPublication

MeasurementSiteTablePublication

«versionedIdentifiable»

MeasurementSiteTable

+ measurementSiteTableIdentification :String [0..1]

ReusableClasses::HeaderInformation

+ areaOfInterest :AreaOfInterestEnum [0..1]

+ confidentiality :ConfidentialityValueEnum

+ informationStatus :InformationStatusEnum

+ urgency :UrgencyEnum [0..1]

The location of a measurement site

may be a point, a linear section of road

or an area. Linear sections may even be

specified as itineraries or predefined

location sets, e.g. for travel time routes

which comprise one or more different

roads.

MeasurementSpecificCharacteristics

+ accuracy :Percentage [0..1]

+ period :Seconds [0..1]

+ smoothingFactor :Float [0..1]

+ specificLane :LaneEnum [0..1]

+ specificMeasurementValueType :MeasuredOrDerivedDataTypeEnum

VehicleCharacteristics::VehicleCharacteristics

+ fuelType :FuelTypeEnum [0..1]

+ loadType :LoadTypeEnum [0..1]

+ vehicleEquipment :VehicleEquipmentEnum [0..1]

+ vehicleType :VehicleTypeEnum [0..*]

+ vehicleUsage :VehicleUsageEnum [0..1]

The index provides the means for a measured value

(in the MeasuredDataPublication) to be referenced

to the relevant MeasurementSpecificCharacteristics

at the measurement site.

GroupOfLocations::GroupOfLocations

+specificVehicleCharacteristics 0..1

1

index

11

11

+measurementSiteLocation 1

1

1..*

1

1..*

1

DATEX II User Forum – Prague – 19 20 May 2014

Measurement Site Table (static)

64

class MeasurementSiteTablePublication

«versionedIdentifiable»

MeasurementSiteRecord

+ measurementSiteRecordVersionTime :DateTime [0..1]

+ computationMethod :ComputationMethodEnum [0..1]

+ measurementEquipmentReference :String [0..1]

+ measurementEquipmentTypeUsed :Multi l ingualString [0..1]

+ measurementSiteName :Multi l ingualString [0..1]

+ measurementSiteNumberOfLanes :NonNegativeInteger [0..1]

+ measurementSiteIdentification :String [0..1]

+ measurementSide :DirectionEnum [0..1]

PayloadPublication

MeasurementSiteTablePublication

«versionedIdentifiable»

MeasurementSiteTable

+ measurementSiteTableIdentification :String [0..1]

ReusableClasses::HeaderInformation

+ areaOfInterest :AreaOfInterestEnum [0..1]

+ confidentiality :ConfidentialityValueEnum

+ informationStatus :InformationStatusEnum

+ urgency :UrgencyEnum [0..1]

The location of a measurement site

may be a point, a linear section of road

or an area. Linear sections may even be

specified as itineraries or predefined

location sets, e.g. for travel time routes

which comprise one or more different

roads.

MeasurementSpecificCharacteristics

+ accuracy :Percentage [0..1]

+ period :Seconds [0..1]

+ smoothingFactor :Float [0..1]

+ specificLane :LaneEnum [0..1]

+ specificMeasurementValueType :MeasuredOrDerivedDataTypeEnum

VehicleCharacteristics::VehicleCharacteristics

+ fuelType :FuelTypeEnum [0..1]

+ loadType :LoadTypeEnum [0..1]

+ vehicleEquipment :VehicleEquipmentEnum [0..1]

+ vehicleType :VehicleTypeEnum [0..*]

+ vehicleUsage :VehicleUsageEnum [0..1]

The index provides the means for a measured value

(in the MeasuredDataPublication) to be referenced

to the relevant MeasurementSpecificCharacteristics

at the measurement site.

GroupOfLocations::GroupOfLocations

+specificVehicleCharacteristics 0..1

1

index

11

11

+measurementSiteLocation 1

1

1..*

1

1..*

1

Message and header information

Measurement site table

Measurement site record

site name, equipment,

computation method

Characteristics of one

individual measurement

valid for special vehicle

characteristicsGeoreference

DATEX II User Forum – Prague – 19 20 May 2014

class MeasuredDataPublication

PayloadPublication

MeasuredDataPublication

+ measurementSiteTableReference :VersionedReference

SiteMeasurements

+ measurementSiteReference :VersionedReference

+ measurementTimeDefault :DateTime

MeasuredValue

+ measurementEquipmentTypeUsed :Multi l ingualString [0..1]

ReusableClasses::HeaderInformation

+ areaOfInterest :AreaOfInterestEnum [0..1]

+ confidentiality :ConfidentialityValueEnum

+ informationStatus :InformationStatusEnum

+ urgency :UrgencyEnum [0..1]

LocationCharacteristicsOv erride

+ measurementLanesOverride :LaneEnum [0..1]

+ reversedFlow :Boolean [0..1]

BasicData::BasicData

+ measurementOrCalculationPeriod :Seconds [0..1]

+ measurementOrCalculationTime :DateTime [0..1]

+ measurementOrCalculatedTimePrecision :TimePrecisionEnum [0..1]

The "index" qualifier provides a reference

to the specific MeasurementCharacteristics

that are relevant for the MeasuredValue at

the referenced measurement site.

Fault

Fault::MeasurementEquipmentFault

+ measurementEquipmentFault :MeasurementEquipmentFaultEnum

0..*

1

0..1

1

0..11

11

index

1

1

1..*

1

Measured Data (dynamic)

65

DATEX II User Forum – Prague – 19 20 May 2014

class MeasuredDataPublication

PayloadPublication

MeasuredDataPublication

+ measurementSiteTableReference :VersionedReference

SiteMeasurements

+ measurementSiteReference :VersionedReference

+ measurementTimeDefault :DateTime

MeasuredValue

+ measurementEquipmentTypeUsed :Multi l ingualString [0..1]

ReusableClasses::HeaderInformation

+ areaOfInterest :AreaOfInterestEnum [0..1]

+ confidentiality :ConfidentialityValueEnum

+ informationStatus :InformationStatusEnum

+ urgency :UrgencyEnum [0..1]

LocationCharacteristicsOv erride

+ measurementLanesOverride :LaneEnum [0..1]

+ reversedFlow :Boolean [0..1]

BasicData::BasicData

+ measurementOrCalculationPeriod :Seconds [0..1]

+ measurementOrCalculationTime :DateTime [0..1]

+ measurementOrCalculatedTimePrecision :TimePrecisionEnum [0..1]

The "index" qualifier provides a reference

to the specific MeasurementCharacteristics

that are relevant for the MeasuredValue at

the referenced measurement site.

Fault

Fault::MeasurementEquipmentFault

+ measurementEquipmentFault :MeasurementEquipmentFaultEnum

0..*

1

0..1

1

0..11

11

index

1

1

1..*

1

Measured Data (dynamic)

66

Message and header information

Reference to static record

Individual measurement Location override

Fault informationBasic data

(see next slide)

DATEX II User Forum – Prague – 19 20 May 2014

class BasicData

BasicData

+ measurementOrCalculationPeriod :Seconds [0..1]

+ measurementOrCalculationTime :DateTime [0..1]

+ measurementOrCalculatedTimePrecision :TimePrecisionEnum [0..1]

TrafficStatus::TrafficStatus

+ trafficTrendType :TrafficTrendTypeEnum [0..1]

Trav elTimeData::Trav elTimeData

+ travelTimeTrendType :TravelTimeTrendTypeEnum [0..1]

+ travelTimeType :TravelTimeTypeEnum [0..1]

+ vehicleType :VehicleTypeEnum [0..*]

TrafficData::TrafficData WeatherData::WeatherData

The location (e.g. the stretch of road or area) to

which the data value(s) is or are pertinent/relevant.

This may be different from the location of the

measurement equipment (i.e. the measurement site

location).

GroupOfLocations::

GroupOfLocations+pertinentLocation

0..11

Basic Data (dynamic)

67

DATEX II User Forum – Prague – 19 20 May 2014

class BasicData

BasicData

+ measurementOrCalculationPeriod :Seconds [0..1]

+ measurementOrCalculationTime :DateTime [0..1]

+ measurementOrCalculatedTimePrecision :TimePrecisionEnum [0..1]

TrafficStatus::TrafficStatus

+ trafficTrendType :TrafficTrendTypeEnum [0..1]

Trav elTimeData::Trav elTimeData

+ travelTimeTrendType :TravelTimeTrendTypeEnum [0..1]

+ travelTimeType :TravelTimeTypeEnum [0..1]

+ vehicleType :VehicleTypeEnum [0..*]

TrafficData::TrafficData WeatherData::WeatherData

The location (e.g. the stretch of road or area) to

which the data value(s) is or are pertinent/relevant.

This may be different from the location of the

measurement equipment (i.e. the measurement site

location).

GroupOfLocations::

GroupOfLocations+pertinentLocation

0..11

Basic Data (dynamic)

68

Calculation time, period etc.

Traffic status and trend

Traffic data

(headway, flow,

speed, concentration)

Travel time and journey data

Location, if different

from measurement

site

Weather data (wind,

temperature, humidity,

….)

DATEX II User Forum – Prague – 19 20 May 2014

69D

ata

model Le

vel A

DETAILED EXAMPLE 3:

GEOREFERENCE

DATEX II User Forum – Prague – 19 20 May 2014

Georeference70

class GroupOfLocations

Location

GroupOfLocations

Area::Area

NetworkLocation

Point::Point Linear::Linear

SupplementaryPositionalDescription

+ locationDescriptor :LocationDescriptorEnum [0..*]

+ locationPrecision :MetresAsNonNegativeInteger [0..1]

+ sequentialRampNumber :NonNegativeInteger [0..1]

Destination

PointDestination AreaDestination

LocationByReference

+ predefinedLocationReference :VersionedReference

ItineraryByReference

+ predefinedItineraryReference :VersionedReference

ExternalReferencing

+ externalReferencingSystem :String

+ externalLocationCode :String

PointCoordinates

+ latitude :Float

+ longitude :Float

NonOrderedLocationGroupByListItineraryByIndexedLocations

The order of the locations

in the itinerary are

specified by the 'index'

qualifier.

AffectedCarriagewayAndLanes

+ carriageway :CarriagewayEnum

+ lane :LaneEnum [0..*]

+ footpath :Boolean [0..1]

+ lengthAffected :MetresAsFloat [0..1]

NonOrderedLocationGroupByReference

+ predefinedNonOrderedLocationGroupReference :VersionedReference

NonOrderedLocationsItinerary

1

1

0..1

1

0..*

1

0..1

1

1

1

0..*1

+locationForDisplay

0..1

1

+locationContainedInGroup

2..*

1

+routeDestination

0..*

index

+locationContainedInItinerary

1

1

DATEX II User Forum – Prague – 19 20 May 2014

Georeference71

class GroupOfLocations

Location

GroupOfLocations

Area::Area

NetworkLocation

Point::Point Linear::Linear

SupplementaryPositionalDescription

+ locationDescriptor :LocationDescriptorEnum [0..*]

+ locationPrecision :MetresAsNonNegativeInteger [0..1]

+ sequentialRampNumber :NonNegativeInteger [0..1]

Destination

PointDestination AreaDestination

LocationByReference

+ predefinedLocationReference :VersionedReference

ItineraryByReference

+ predefinedItineraryReference :VersionedReference

ExternalReferencing

+ externalReferencingSystem :String

+ externalLocationCode :String

PointCoordinates

+ latitude :Float

+ longitude :Float

NonOrderedLocationGroupByListItineraryByIndexedLocations

The order of the locations

in the itinerary are

specified by the 'index'

qualifier.

AffectedCarriagewayAndLanes

+ carriageway :CarriagewayEnum

+ lane :LaneEnum [0..*]

+ footpath :Boolean [0..1]

+ lengthAffected :MetresAsFloat [0..1]

NonOrderedLocationGroupByReference

+ predefinedNonOrderedLocationGroupReference :VersionedReference

NonOrderedLocationsItinerary

1

1

0..1

1

0..*

1

0..1

1

1

1

0..*1

+locationForDisplay

0..1

1

+locationContainedInGroup

2..*

1

+routeDestination

0..*

index

+locationContainedInItinerary

1

1

Point Linear Area

Location

Group of locations

Non ordered

group of locationsOrdered group

of locations

Additional

description

Location by

reference

Coordinates for

visualisation

DATEX II User Forum – Prague – 19 20 May 2014

Point location72

1. Coordinates (ETRS89)

• WGS84 coordinates can be used instead, because the discrepancy is very small

• Optional: bearing

• Optional: coordinates for visualisation (in addition to above)

• Optional: lane

2. Point on a Linear (ISO 19148)

a) Start-, middle and endpoints of Linear with ETRS89 oder

b) ID of linear

For both cases:

• Distance between Point and the beginning of the Linear

• Optional: road name and road class

3. ALERT-C, here as example method 4

• Location code with offset (method 2 without offset)

4. TPEG-Point

5. OpenLR-Point (not part of Level A)

DATEX II User Forum – Prague – 19 20 May 2014

Georeference – Point Coordinates

73

y

x

N

Specifying coordinates in ETRS89 (European

Terrestrial Reference system)

• Three-dimensional, geodetic reference system

• Discrepancy to WGS84 coordinates is

currently about 1,20m (+2 cm / year)

Additional bearing

(360, Reference North) possible

( directed point)

DATEX II User Forum – Prague – 19 20 May 2014

74

class Point

GroupOfLocations::Location

GroupOfLocations::GroupOfLocations

GroupOfLocations::NetworkLocation

Point

PointByCoordinates

+ bearing: NonNegativeInteger [0..1]

GroupOfLocations::

PointCoordinates

+ latitude: Float

+ longitude: Float

Punkt-Verortung nach ETRS89 (auf Grund nur sehr geringer

Abweichungen kann auch WGS84 stattdessen verwendet werden).

Zusätzlich zu der eigentlichen Punkt-Verortung kann optional auch

noch eine Koordinaten-Angabe für die Visualisierung erfolgen

("locationForDisplay").

"bearing" ist ein 360 Grad-Winkel (0-Grad-Bezug ist Norden).

0..1

1

+locationForDisplay 0..1

1

1

1

Additional

coordinates

for

visualisation

Bearing 360 degree,

reference North

ETRS89

Georeference – Point Coordinates

DATEX II User Forum – Prague – 19 20 May 2014

Georeference – Point as ISO 19148

75

a)multiple path points

End point of linear

element

Distance from starting point

of Linear in meter

ETRS89

Starting point of the

linear element

or b) Linear by ID

DATEX II User Forum – Prague – 19 20 May 2014

76

class PointAlongLinearElement_M...

LinearElement

+ roadName: Multi l ingualString [0..1]

+ roadNumber: String [0..1]

LinearElementByCode

+ linearElementIdentifier: String

LinearElementByPoints

DistanceFromLinearElementStart

+ distanceAlong: MetresAsFloat

DistanceAlongLinearElement

Referent

+ referentIdentifier: String

+ referentType: ReferentTypeEnum

PointAlongLinearElement

+ directionBoundAtPoint: DirectionEnum [0..1]

GroupOfLocations::

PointCoordinates

+ latitude: Float

+ longitude: Float

absoluteMethodindex

+intermediatePointOnLinearElement

1

1

+endPointOfLinearElement1

1

+startPointOfLinearElement

1

1

1

1

11

0..1

1

a) b)

Georeference – Point as ISO 19148

DATEX II User Forum – Prague – 19 20 May 2014

77

Primary ALERT-C

Location

Offset in meter (between point and

primary ALERT-C location)

Location Codes as from

country spefiic location tables

From the point considered the Primary ALERT-C location is always located

in driving direction (with given offset distance).

It must be specified, whether the direction of travel is the same or the

opposite direction than the ALERT-C coupling of points.

direction of drivng

Georeference – Point as ALERT-C (M4)

DATEX II User Forum – Prague – 19 20 May 2014

78

class AlertCMethod4Po...

AlertCMethod4Point

GroupOfLocations::AlertCLocation

+ alertCLocationName: Multi l ingualString [0..1]

+ specificLocation: AlertCLocationCode

GroupOfLocations::AlertCDirection

+ alertCDirectionCoded: AlertCDirectionEnum

+ alertCDirectionNamed: Multi l ingualString [0..1]

+ alertCDirectionSense: Boolean [0..1]

GroupOfLocations::OffsetDistance

+ offsetDistance: MetresAsNonNegativeInteger

GroupOfLocations::

AlertCMethod4PrimaryPointLocation

Point::AlertCPoint

+ alertCLocationCountryCode: String

+ alertCLocationTableNumber: String

+ alertCLocationTableVersion: String

GroupOfLocations::

GroupOfLocations

GroupOfLocations::

NetworkLocation

GroupOfLocations::Location

Point::Point1

1

1

1

1

1

11

0..1

1

Georeference – Point as ALERT-C (M4)

DATEX II User Forum – Prague – 19 20 May 2014

Links

DATEX II http://www.datex2.eu

DATEX II Modelling Methodology http://www.datex2.eu/sites/www.datex2.eu/files/DATEX_II_Methodology_2.pdf

Enterprise Architect http://sparxsystems.eu/

http://www.sparxsystems.eu/enterprisearchitect/download-trial/

http://www.sparxsystems.com.au/bin/EALite.exe

DATEX platform independent model http://www.datex2.eu/sites/www.datex2.eu/files/DATEX_II_PIM.EAP

DATEX schema generation tool http://www.datex2.eu/sites/www.datex2.eu/files/DATEX_II_Schema_generation_tool.zip

DATEX schema http://www.datex2.eu/sites/www.datex2.eu/files/Schema-2.0.zip

XML Viewer http://www.microsoft.com/download/en/details.aspx?id=7973

Comparing files http://winmerge.org/

79

DATEX II User Forum – Prague – 19 20 May 2014

DATEX II Schulung

Bundesamt für Strassen ASTRA, Bern

14./15. Mai 2013

Thank you

AlbrechtConsult GmbH

Theaterstr. 24

D 52062 Aachen

+49 241 500 720

Jörg Freudenstein – [email protected]