Template:Table/Template:InheritValueTable: Difference between revisions

From railML 2 Wiki
Jump to navigation Jump to search
[unchecked revision][checked revision]
No edit summary
(railML→{{rml}})
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{elementDocu
<noinclude>{{tableDocu}}
|elementName=Ferri Leberl/spielwiese
|parent={{IS:Tag|}}
|childs=''None''
|semantics={{missing information|topic=the semantics|user=[[User:Ferri Leberl|Ferri Leberl]] ([[User talk:Ferri Leberl|talk]]) 10:23, 24 February 2017 (CET)}}
|inheritedAttributes=''None''
|ownAttributes=''None''
|constraints=''None''
|bestpractice=== Best practice / {{Deu|Empfohlene Anwendung}} / {{Fra|Bonnes pratiques}} ==
===Modelling of curves===
Let’s consider a simple example where a circular arc (B) of radius 1000 meters is directly connected on both ends with straight track segments (A, C). The situation looks like this:


[[file:CurveExample 170213 02.png|600px]]
</noinclude>
This is an example for usage of {{RS:Tag|valueTable}} with a series of two curves (force vs. speed) which are differentiated by a constant power limitation.


In railML, the horizontal curves are modelled using {{IS:Tag|radiusChange}} elements that are positioned everywhere along the track where the radius changes. The railML syntax for this example shall look like this:
{|
<pre>
|[[File:Force-diagram.jpg|400px]]
<track ...>
|style="width:100px"|
  ...
|
  <trackElements>
{|
    <radiusChange id="rC0815" pos="123.45" radius="1000"/>
!Speed&nbsp;
    <radiusChange id="rC4711" pos="234.56" radius="0"/>
!Force100&nbsp;
  </trackElements>
!Force66.7
</track>
|-
</pre>
|0
In this example, the first {{IS:Tag|radiusChange}} point (rC0815) is situated at the connection of the straight track segment (A) with the circular arc (B). The parameter @radius of the {{IS:Tag|radiusChange}} element describes the new value of the radius (1000 meters) that is valid from there into the direction of track orientation. The track orientation is indicated by the arrow at the right end.
|64.800,9
|51.840,0
|-
|25
|64.800,9
|51.840,0
|-
|30
|64.800,9
|43.200,0
|-
|35
|55.542,9
|37.028,6
|-
|40
|48.600,0
|32.400,0
|-
|45
|43.200,0
|28.800,0
|-
|50
|38.880,0
|25.920,0
|-
|55
|35.345,5
|23.563,6
|-
|60
|32.400,0
|21.600,0
|}
|-
|Graphical representation of the curves.
|
|The value table in a spreadsheet.
|}
;{{rml}}-Code:


The second {{IS:Tag|radiusChange}} point (rC4711) is situated at the connection of the circular arc (B) with the straight track segment (C). Like for the previous {{IS:Tag|radiusChange}}, the parameter @radius describes the new value of the radius that is valid from there into the direction of track orientation. Normally, this value should be ''infinite'', but since ''infinite'' is not an explicit number, railML uses the value ''0'' here.
<syntaxhighlight lang=xml>
===Modelling of transition curves in railML 2.3===
<valueTable yValueUnit="N" xValueName="speed" yValueName="tractive effort"
With railML version 2.3 the element {{IS:Tag|radiusChange}} has been extended by the new attribute @geometryElementDescription. This attribute is an enumeration parameter, which provides the following entries to enable a more detailed description of transition curves:
xValueUnit="km/h" zValueName="Percentage power limitation" zValueUnit="%">
*TS_cubicParabola
<columnHeader zValue="100" /><columnHeader zValue="66.7" />
*TS_parabola4
<valueLine xValue="0.0">
*TS_clothoide
<values yValue="64800" /><values yValue="51840" />
*TS_WienerBogen
</valueLine>
*TS_BlossBogen
<valueLine xValue="25.0">
*TS_Sinusoide
<values yValue="64800" /><values yValue="51840" />
*TS_Cosinusoide
</valueLine>
*SC
<valueLine xValue="30.0">
*(any other)
<values yValue="64800" /><values yValue="43200" />
The new attribute @geometryElementDescription in the {{IS:Tag|radiusChange}} element shall be used for modeling begin and end points of transition curves.
</valueLine>
Let’s consider an example where a straight track segment (A) is connected with a circular arc (C) of radius 1000 meters via a clothoide (B). The situation looks like this:
<valueLine xValue="35.0">
<values yValue="55542.9" /><values yValue="37028.6" />
</valueLine>
<valueLine xValue="40.0">
<values yValue="48600" /><values yValue="32400" />
</valueLine>
<valueLine xValue="45.0">
<values yValue="43200" /><values yValue="28800" />
</valueLine>
<valueLine xValue="50.0">
<values yValue="38880" /><values yValue="25920" />
</valueLine>
<valueLine xValue="55.0">
<values yValue="35345.5" /><values yValue="23563.6" />
</valueLine>
<valueLine xValue="60.0">
<values yValue="32400" /><values yValue="21600" />
</valueLine>
</valueTable>
</syntaxhighlight>


[[file:transitionCurveExample 170213 02.png|600px]]
When using the {{RS:Tag|valueTable}} as representation of a series of curves (three-dimensional function) it shall be written in {{rml}} similar as in a spreadsheet. It means first the header has to be defined with the value descriptions. Second the particular z-values valid for each curve out of the series are to be listed as child element {{RS:Tag|columnHeader}}. Finally the respective {{RS:Tag|valueLine}} for each x-value of the curves is included. Per each x-value there must be as much y-values as the number of curves (number of z-values). The order of y-values is according the order of z-values. Thus a clear assignment to the related curve is made. It shall be noted that the x-values may be not equidistant. In case the original series of curves have different x-values then interpolation must be used to get the missing y-values per each x-value occurring in the series.
 
In railML, the transition curve is modelled using two {{IS:Tag|radiusChange}} elements that are positioned at the begin and at the end of the transition curve. The railML syntax for this example shall look like this:
<pre>
<track ...>
  ...
  <trackElements>
    <radiusChange id="rC0815" pos="123.45" radius="2000" geometryElementDescription="TS_clothoide"/>
    <radiusChange id="rC4711" pos="234.56" radius="1000" geometryElementDescription="SC"/>
  </trackElements>
</track>
</pre>
In this example, the first {{IS:Tag|radiusChange}} point (rC0815) indicates the begin of a transition curve of type ''Clothoide''. Since the parameter @radius is mandatory for every {{IS:Tag|radiusChange}} element, a fixed value has to be provided although the main feature of a transition curve is its changing radius. It is recommended to use twice the value of the radius of the circular arc to which the transition curve is connected. In the given example, the value is 2000 meters.
The second {{IS:Tag|radiusChange}} point indicates the end of the transition curve and the begin of the circular arc. The circular arc has a radius of 1000 meters.
 
}}

Latest revision as of 22:24, 22 January 2024

This template contains swapped content from page Template:InheritValueTable

Why is this necessary?


This is an example for usage of <valueTable> with a series of two curves (force vs. speed) which are differentiated by a constant power limitation.

Force-diagram.jpg
Speed  Force100  Force66.7
0 64.800,9 51.840,0
25 64.800,9 51.840,0
30 64.800,9 43.200,0
35 55.542,9 37.028,6
40 48.600,0 32.400,0
45 43.200,0 28.800,0
50 38.880,0 25.920,0
55 35.345,5 23.563,6
60 32.400,0 21.600,0
Graphical representation of the curves. The value table in a spreadsheet.
railML®-Code
<valueTable yValueUnit="N" xValueName="speed" yValueName="tractive effort" 
	xValueUnit="km/h" zValueName="Percentage power limitation" zValueUnit="%">
	<columnHeader zValue="100" /><columnHeader zValue="66.7" />
	<valueLine xValue="0.0">
		<values yValue="64800" /><values yValue="51840" />
	</valueLine>
	<valueLine xValue="25.0">
		<values yValue="64800" /><values yValue="51840" />
	</valueLine>
	<valueLine xValue="30.0">
		<values yValue="64800" /><values yValue="43200" />
	</valueLine>
	<valueLine xValue="35.0">
		<values yValue="55542.9" /><values yValue="37028.6" />
	</valueLine>
	<valueLine xValue="40.0">
		<values yValue="48600" /><values yValue="32400" />
	</valueLine>
	<valueLine xValue="45.0">
		<values yValue="43200" /><values yValue="28800" />
	</valueLine>
	<valueLine xValue="50.0">
		<values yValue="38880" /><values yValue="25920" />
	</valueLine>
	<valueLine xValue="55.0">
		<values yValue="35345.5" /><values yValue="23563.6" />
	</valueLine>
	<valueLine xValue="60.0">
		<values yValue="32400" /><values yValue="21600" />
	</valueLine>
</valueTable>

When using the <valueTable> as representation of a series of curves (three-dimensional function) it shall be written in railML® similar as in a spreadsheet. It means first the header has to be defined with the value descriptions. Second the particular z-values valid for each curve out of the series are to be listed as child element <columnHeader>. Finally the respective <valueLine> for each x-value of the curves is included. Per each x-value there must be as much y-values as the number of curves (number of z-values). The order of y-values is according the order of z-values. Thus a clear assignment to the related curve is made. It shall be noted that the x-values may be not equidistant. In case the original series of curves have different x-values then interpolation must be used to get the missing y-values per each x-value occurring in the series.