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.
Links
- Forum discussion:
- Heidrun Jost, 03.09.2019: https://www.railml.org/forum/index.php?t=msg&th=683&goto=2246&#msg_2246
- Thomas Langkamm, 02.09.2020: https://www.railml.org/forum/index.php?t=msg&th=753&goto=2527
- Track tickets:
- Wiki documentation:
- Visualizations:visualization: [https://wiki3.railml.org/wiki/Visualizations:visualization]
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>
.
<common>
schema
Option 2: integrate in Create new sub-domain <common><visualizations>
as a container for all types of visualizations
Decided: Option 1 is the preferred solution.
<visualization>
implementation (based on option 1)
Adapting 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.