Visualizations

Description

railML 3.1 includes a specific "view" of infrastructure w.r.t. its visualization(s) / graphical representations. This view is named <infrastructureVisualization> and it is located as a child element in <infrastructure>.

How about the visualization of non-infrastructure railML elements, e.g. from timetable, rollingstock or interlocking?

If there is a need from these other schemes, it is suggested to move visualizations / graphical representations into the <common> schema or implement it as a completely new schema.

Background

Visualization is a graphical representation of data. A certain set of data may be rendered in various different visualizations. A visualization is never a primary source of data, but only a form of "layouting" data for a certain purpose.

Proposed solution railML 3.2

Option 1: a new schema

Create a new domain / schema <visualizations> on the same level like existing domains / schemas <infrastructure>, <timetable>, <interlocking>, <rollingstock> and <common>.

Option 2: integrate in <common> schema

Create new sub-domain <common><visualizations> as a container for all types of visualizations

Decided: Option 1 is the preferred solution.

Adapting <visualization> implementation (based on option 1)

types of visualizations

Although the current focus of visualization is on infrastructure, the implementation of the visualization schema shall foresee already other forms of visualization, e.g. from timetable.

These "domain specific visualizations" shall be implemented as top level containers within the visualization schema. Since currently, only infrastructure is required, a new child element <infrastructureVisualizations> is defined. This container holds 1..* <infrastructureVisualization> elements.

infrastructure visualization

Current infrastructure visualization allows for different types of drawings:

  • <areaElementProjection>,
  • <linearElementProjection>
  • <spotElementProjection> and
  • <ellipticalProjection>.

The <ellipticalProjection> shall include child elements / attributes:

  • <center> (1..1) to define the center point of the ellipse
  • @longAxis (1..1) to define the length of the long half axis
  • @shortAxis (1..1) to define the length of the short half axis
  • @turnAngle (0..1) to define the angle between the x-axis and the long half axis of the ellipse, given in degrees. By default, the angle shall be 0 degrees.

name and designator

The element <infrastructureVisualization> has an ID attribute and child element <name>. It is suggested to extend the element with a <designator> child element like for the functional infrastructure elements.

The <designator> element is added to the base class of visualization and therefore also available for the various projection elements.

Edited by IS Coordination